数字IC设计学习笔记
配置STA环境3
1. DRC检查
2. 虚拟时钟 Virtual clocks
3. 精炼时间
1. DRC检查
STA中,经常使用的设计规则检查是 max transition 和 max capacitance。DRC检查设计中的所有端口和管脚是否满足指定的 transition time 和 capacitance。
脚本:
- set_max_transition
- set_max_capacitance
除此之外,适用于逻辑综合 DRC检查,而不适用于STA的还有:
脚本:
- set_max_fanout
- set_max_area
2. 虚拟时钟 Virtual clocks
虚拟时钟,与其他的 pin 或者与设计端口无关,主要用来在STA分析时,作为指定与输入,输出delay相关的时钟。
脚本:
- create_clock -name VIRTUAL_CLK_SAD -period 10 -waveform {2 8}
- create_clock -name VIRTUAL_CLK_CFG -period 8 -waveform {0 4}
- create_clock -period 10 [get_ports CLK_CORE]
- set_input_delay -clock VIRTUAL_CLK_SAD -max 2.7 [get_ports ROW_IN]
- set_output_delay -clock VIRTUAL_CLK_CFG -max 4.5 [get_ports STATE_O]
虚拟时钟,在创建时钟时,不需要加 [get_ports] 等。
3. 精炼时序分析
set_case_analysis:在cell的管脚,或者input的端口处,指定一个常数值
如:DFT,用于测试的管脚在正常功能模式下,应该设置为0,这样可以缩短STA时间。set_case_analysis 0 TEST
set_disable_timing:一个从来不会运行的路径,可用这条指令中断一个cell的时序弧,不进行时序分析
脚本:
- set_didable_timing - from S -to Z [get_cells UMUX0]
set_false_path:伪路径,不是时序路径;如跨时钟域电路。则可以设置这条指令,不去进行时序分析。
脚本:
- set_false_path -from [get_clocks USBCLK] -to [het_clocks MEMCLK]
set_multicycle_path:多周期路径,两个触发器之间的组合逻辑延迟,超过一个时钟周期,则需要设置多周期路径。
脚本:
-
create_clock -name CLKM -period 10 [get_ports CLKM]
-
set_multicycle_path 3 -setup -from [get_pins UFF0/Q] -to [get_pins UFF1/D]
— 学习内容源于邸志雄老师的课件,Thanks^^
【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~