时序命令 | 含义概述 |
---|---|
create clock | 创建基准时钟,一般是本地晶振时钟或者是级联时钟。门控时钟也需要在此处创建。 |
create generated clock | 创建基准时钟的派生时钟,一般是PLL产生的时钟信号,或者分频电路产的时钟信号。 |
set clock latency | 外部clock信号来源到芯片的clock输入端的delay,级联时钟时需要考虑。 |
set clock uncertainty | 时钟不确定性,为时钟指定一个大致的扭斜范围,增大一些时序分析可靠度。定义了Clock信号到时序器件的Clock端可能早到或晚到的时间。主要是用来降低时钟抖动jitter对有效时钟周期的影响。值得注意的是,在setup check中,clock uncertainty是代表降低了时钟的有效周期;而在hold check中,clock uncertainty是代表hold check所需要满足的额外margin。对于ASIC,CTS是时钟树综合,在pre-CTS的时候,我们将时钟的不确定性设定为target的skew和jitter值之和来模拟真实的时钟;而post-CTS之后,时钟树propagate delay已经确定,skew真实存在,所以uncertainty就是时钟的真实抖动值。因此preCTS的target skew不能设置的太大或者太小,这样会造成preCTS和postCTS的相关性差。 |
set clock groups | 创建时钟分组,比如设计中有多个时钟域那么就要将他们分别指定为不同的时钟组,效力等同于设置伪路径。 |
remove clock | 删除 Create Clock /Create Generated Clock 产生的时钟 |
set input delay | 设置数据端口输入的延时,常用于FPGA与外部芯片(存储芯片等)通信时的IO约束,输入端口到寄存器,通过set_input_delay设置输入端口外的延时,来约束布局布线或可能的组合逻辑延时 |
set output delay | 设置数据端口输出的延时,常用于FPGA与外部芯片(数据收发、存储芯片等)或器件通信时的IO约束 |
derive pll clocks | 自动生成出PLL产生的所有时钟信号,效力等同于Create Generated Clock 产生的时钟,但是命名是系统创建的,可读性差 |
derive clock uncertainty | 自动生成各路时钟的不确定参数(如边沿的抖动和偏斜;setup/hold也会设定余量),一般由时序分析工具设置,会让时序约束更紧 |
set false path | 设置伪路径约束,使得不对其进行时序优化。 |
set multicycle path | 设置多周期约束。 |
set maximum delay | 设置lunch clk和latch clk的 relationship的max,使STA不以1T原则进行时序检测,作用于setup time check。 |
set minimum delay | 设置lunch clk和latch clk的 relationship的min,使STA不以1T原则进行时序检测,作用于hold time check。 |
set max skew | 设置寄存器直接或者端口间的最大偏斜。 |
set net delay | 设置由net连接的两点间最大路径延时,通过修改布局布线实现。(不可以指定中间点,必须以LUT、REG的输出端口作为 from和to的点,并且两端之间不能有其他的LUT/REG,否则会导致该约束不被识别) |
时序命令表
最新推荐文章于 2024-09-17 14:15:31 发布