SDC设计约束——信号相关约束
Posted 夏风喃喃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SDC设计约束——信号相关约束相关的知识,希望对你有一定的参考价值。
SDC设计约束(2)——信号相关约束
作者:夏风喃喃
参考:综合与时序分析的设计约束 —— Synopsys设计约束(SDC)实用指南
文章目录
一. 端口延迟(外部延迟)
1.1 set_input_delay
set_input_delay
[-clock clock_name] #指定参考时钟,如-clock CLK
[-clock_fall] #参考时钟是下降沿触发时打开
[-level_sensitive] #启动元器件为锁存器时使用,一般不用
#当模块输入端口信号上升沿和下降沿的输入到达时间不同
#使用-rise与-fall分别限定,但一般路径延迟相似,不会经常使用
[-rise]
[-fall]
[-max] #限定延迟值最大值,实现建立检查
[-min] #限定延迟值最小值,实现保持检查
[-add_delay] #同一个端口额外的延迟约束,则需使用,否则会被覆盖
[-network_latency_included] #额外指定时钟network延迟,不常使用
[-source_latency_included] #额外指定时钟source延迟,不常使用
delay_value port_pin_list #延迟的数值,单位ns;定义输入的端口
1.2 set_output_delay
set_output_delay
[-clock clock_name] #指定参考时钟,如-clock CLK
[-clock_fall] #参考时钟是下降沿触发时打开
[-level_sensitive] #启动元器件为锁存器时使用,一般不用
#当模块输入端口信号上升沿和下降沿的输入到达时间不同
#使用-rise与-fall分别限定,但一般路径延迟相似,不会经常使用
[-rise]
[-fall]
[-max] #限定延迟值最大值,实现建立检查
[-min] #限定延迟值最小值,实现保持检查
[-add_delay] #同一个端口额外的延迟约束,则需使用,否则会被覆盖
[-network_latency_included] #额外指定时钟network延迟,不常使用
[-source_latency_included] #额外指定时钟source延迟,不常使用
delay_value port_pin_list #延迟的数值,单位ns;定义输出的端口
二. 完整的端口约束
2.1 set_drive(驱动电阻)
set_drive
[-rise][-fall] #指定驱动信号的上升或下降沿
[-min][-max] #指定驱动电阻的最小或最大值,小电阻驱动能力大,过渡快
resistance_value #指定驱动电阻的数值
port_list #指定驱动目标的输入端口
2.2 set_driving_cell(驱动单元)
set_driving_cell
[-lib_cell lib_cell_name] #指定模块的驱动单元,如-lib_cell FA
[-rise][-fall] #指定驱动信号的上升或下降沿
[-min][-max] #指定最强或最弱驱动单元合集
[-library lib_name] #指定驱动单元所在的库
[-pin pin_name] #指定驱动单元用于驱动的输出引脚
[-from_pin from_pin_name]#指定驱动单元输入引脚,不同输入,输出过渡时间不同
[-multiply_by factor] #过渡时间的倍乘因子,多驱动目标时驱动下降
[-dout_scale] #电气特性扩展与降额,不使用时需使能此开关
[-no_design_rule] #防止驱动引脚设计规则转移到目标输入端口
[-clock clock_name] #指定驱动单元目标端口的时钟
[-clock_fall] #表示时钟下降沿驱动
[-input_transition_rise rise_time] #输入上升过渡时间
[-input_transition_fall fall_time] #输入下降过渡时间
port_list #被驱动的输入端口
常用选项是指定驱动单元的名称和驱动单元的端口,其他不常用。通过set_drive
和set_driving_cell
可以计算出过渡时间,但也可以通过下面set_input_transition
指定过渡时间。
2.3 set_input_transition(输入过渡)
set_input_transition
[-rise][-fall] #指定驱动信号的上升或下降沿
[-min][-max] #指定最小或最大过渡时间
[-clock clock_name] #指定时钟
[-clock_fall] #表示时钟下降沿驱动
transition port_list #指定约束的端口
2.4 set_port_fanout_number(扇出数)
set_port_fanout_number
value #指定扇出数
port_list #指定约束的端口
2.5 set_fanout_load(扇出负载)
set_fanout_load
value #指定扇出负载值
port_list #指定约束的端口
2.6 set_load(负载)
set_load
[-min][-max] #指定最小或最大负载
[-subtract_pin_load] #标注净电容负载时,需要打开避免与后端输入负载重复
[-pin_load] #指定引脚负载
[-wire_load] #指定线路负载
value #指定负载值
objects #指定约束的端口
set_load
与set_fanout_load
不同,set_load
指定负载的实际电容负载,而set_fanout_load
是根据标准负载指定负载值。电容负载=标准负载×单个标准负载的电容负载。
以上是关于SDC设计约束——信号相关约束的主要内容,如果未能解决你的问题,请参考以下文章