DC中关于内部clock输出的约束设置
有一个ASIC设计,需要将内部的时钟与数据都输出,数据信号可以通过set_output_delay来约束,时钟信号应该任何约束呢?
看输出时钟与输出数据的关系,
可以用set_max_delay clkout
也可以将输出时钟定义为一个generated_clock,输出数据与那个时钟对其
我希望的是DC能够像在内部检查clock与data之间的SETUP/HOLD一样,对输出的clock、data的Timing关系进行检查。
在DC中我是否可以将clock_outPAD不约束,因为它是直接连接在clock上,应该被按照ideal_network看待吧。
在后端生成CTS,可以将clock_outPAD作为CTS的一个leaf,工具将自动进行skew balance。
问题:那么在PT中进行检查时,PT会检查clock_source ->clock_outPAD的延迟,并比较data_outPAD之间的timing是否满足约束吗?
如果你在clock_outPAD上设了set_output_delay,PT可能会检查,并报一个很奇怪的结果
"如果你在clock_outPAD上设了set_output_delay,PT可能会检查,并报一个很奇怪的结果"
谢谢陈涛的回复,我以前在有个论坛中好象看到你是小编吧。
我可能没有说清楚,我并不对clock_outPAD做任何约束。
我的意思是:在SDC文件的描述中,不对clock_outPAD进行约束。因为它在前端设计时是ideal;在后端设计时也由CTS保证了与内部的clock leaf相同的状态。
而通过对data_outPAD的set_output_delay -max -min约束外部假设的DFF的setup/hold条件,从电路结构和理论上讲,约束应该都做到完整了。
我想知道的是:如何告诉PT,我的data_outPAD是与clock_outPAD对应的?在SDC文件中set_output_delay只能描述对应的clock名称,不能指出实际的clock leaf点。而由于没有外部假设的DFF的lib文件,PT也不知道data_outPAD与clock_outPAD的对应关系。
我就猜到你的设计会是这种要求,所以在2#就告诉你了
"可以将输出时钟定义为一个generated_clock,输出数据与那个时钟对其"
这样就有两个时钟了,假设原始为clka,生成的时钟为clkb。
对于STA检查,由于有确定的约束,同时clkb相对与clka的tree延迟也知道,PT检查肯定能处理。
问题二:
1、在前端设计中,clka的latency会自动传递到clkb上吗?clkb的latency如何描述?
2、在后端设计中,由于两个时钟是同源的,如何在.ctstch中进行描述才较好呢?
你的两个问题就作为每日一题的第8,9个问题吧
陈小编果然内功深厚,俺也学习了