数字IC设计学习笔记
半周期路径Half Cycle Path
1. 伪路径False Paths
2. 如何处理False Paths
1. 伪路径False Paths
- 在设计中,有些路径是不可能存在的,或者不可能发生的,这种路径称为伪路径,False Paths。
- 对于伪路径,静态时序分析时,需要告诉工具,不去分析,这样可以提高静态时序分析的准确性,以及降低STA的计算空间,减少静态时序分析的时间。
- 通常来讲,伪路径发生在异步电路,跨时钟域;或者电路内部逻辑复杂,推到后,发现其实是常量,不会发生变化。
2. 如何处理False Paths?
-
指定一个时钟到另一个时钟,或者从一个pin出发,或者穿过某个pin,都可以定义false path。
-
不恰当的,或者太多的false path相当于给静态时序分析带来了很多的限制条件,也会导致STA变慢。要根据具体情况,具体分析。
伪路径约束脚本:
-
设置任何从SCAN_CLK时钟域开始,到CORE_CLK时钟域的任何路径都为伪路径:
Set_fale_path -from [get_clocks SCAN_CLK] -to [get_clocks CORE_CLK] -
设置任何穿过UMUX0的S pin的路径为伪路径:
set_false_path -througn [get_pins UMUX0/S] -
设置任何以TEST_REG port为终点的路径为伪路径:
set_false_path -to [get_ports TEST_REG]* -
设置任何穿过UINV的Z pin, 以及UAND0的Z pin的路径为伪路径
set_false_path -through UINV/Z -through UAND0/Z
注意:
6. 尽可能的把伪路径定义的更精确
7. 尽可能少使用 through 这个选项,因为它会增加运行时间,除非你发现,特别有必要用through指定这样的伪路径。
[参考资料]
- 邸志雄老师的课件
- 集成电路静态时序分析与建模
【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~