心得源自DC_2007_03_lab_guide
一、CLEAR_UP
dccommand:去除之前已经存在的约束
- reset_design
二、Clock Definition
1.时钟周期设置(比如3.0ns)
- set_clock -period 3.0 [get_ports clk]
2.Source latency(PLL-->Port:0.7ns)
- set_clock_latency -source -max 0.7 [get_clocks clk]
3.Net latency(300ps)
- set_clock_latency -max 0.3 [get_clocks clk]
4.Uncertainty:(2skew+jitter+margin=150ps)
- set_clock_uncertainty -setup 0.15 [get_clocks clk]
5.Transition:0.12ns
- set_clock_transition 0.12 [get_clocks clk]
三、Input timing
1.input_delay物理意义:clk到port输入端的延时
2.input_delay=T-Tun-Tcomin-Tsetup
上式中T:时钟周期,Tun:Uncertainty,Tcomin:port内部的延时,Tsetup:建立时间
- set_input_delay -max 0.4 -clock clk [get_ports sel]
四、Output Timing
1.output_delay物理意义:port输出口连接外部组合逻辑加触发器延时的时间。
2.计算公式
output_delay = Tt + Tsetup Tt为外接组合逻辑电路延时,Tsetup为捕获触发器的建立时间
- set_output_delay -max 0.4 -clock clk [get_ports out1]
五、纯组合逻辑电路
1.计算方法
组合逻辑两端各加一个触发器,凑成传统格式,然后将input和output的delay计算出来
即:Tinput+Toutput+Tcom<=T-Tun
若Tinput+Toutput=0.4,分配方法之一如下所示:
- set_input_delay -max 0.3 -clock clk [get_ports Cin*]
- set_output_delay -max 0.1 -clock clk [get_ports Cout]
六、面积约束
- set_max_area 540