1. 课程来源
2. 多周期
当组合逻辑延迟大于一个时钟周期时,本例组合逻辑延迟为3个时钟周期。
检查setup:
- set_multicycle_path 3 -setup -from [get_pins UFF0/Q] -to [get_pins UFF1/D]
注意:此时capture沿的延迟为三个时钟周期。
检查hold:
- set_multicycle_path 2 -hold -from [get_pins UFF0/Q] -to [get_pins UFF1/D]
当hold没有设N-1时,这样hold检测太严格了,不符合实际情况。
3. 半周期
当下降沿launch,下一个上升沿capture时,那么这个时候中间的组合逻辑就只剩下半个周期了。
setup检查:
hold检查:
意义:通常来讲,用半周期将A电路的数据打入B电路,半周期的建立时间非常紧,此时保持时间非常松,这样做是因为在一般情况电路的建立时间后期好修(插流水线等方法),而保持时间违例在后期是非常难解决的,因此用半周期这中方法放宽了对保持时间的要求,来保证电路处理起来相对容易。
4. 违路径
有些路径是不可能出现的,这种路径称为违路径。告诉工具在这些路径里就没有必要去检查时序,一方面可以提高STA的准确性,另外还可以降低整个STA的计算空间,让STA跑的更快。通常来讲一般出现在跨时钟域中。
从一个时钟到另一个时钟:做SCAN时大部分时间是工作在CORE_CLK下,这两个时钟之间没有路径:
- set_false_path -from [get_clock SCAN_CLK] -to [get_clocks CORE_CLK]