怎样写时序约束?电路仅在半个周期工作
时间:10-02
整理:3721RD
点击:
标题里没法描述完全。大概是这样,综合得到的门级电路,会修改一下,让电路在clk=1时,处于0,当clk=0时,电路正常工作。
这种该怎么约束呢?
PT or SDC文件里面应该怎么写呢?
这种该怎么约束呢?
PT or SDC文件里面应该怎么写呢?
什么样的电路?规模多大?几级dff?每一级都切半周期还是?
电路不大,完整的也就3w个cells。现在是拿出其中的一个小部分做实验,也就1000+ 的cells。只有一级DFF,每级都是半个周期工作。
类似这样的结构,
DFF 后面接一个 AND,AND,输入是Q和clk。
后一级dff也是由同一时钟驱动吗?在你的电路里面有没有这后一级dff?
是,有的。
在完整的设计里是有多级dff的。单独拿出的这个模块,在它的后级也是有dff的。所有dff都是同一个时钟驱动
那你应该create_clock,然后对端口用virtual clock约束,然后看看报出的timing是怎么检查的。
这个电路是把clk当data用了,这在后面的cts时会出现比较麻烦的问题,这是后话,
至于你的问题,偷懒的方法是什么特别的都不做,正常地定义clk就可以,
我觉得比较有利后端的做法是,再开一个port,给“当data用的"clk,把这个data_clk的input delay设为0
在上一层,把data_clk和clk连在一起,
这样的好处是后端做cts时,可以比较灵活地控制这些data_clk的insertion delay
然后对端口用virtual clock约束?这一步不是很明白
CTS会有哪些问题呢?