为了准确地对设计中的外部时序上下文进行建模,必须提供输入和输出端口的时序信息。因此要进行输入输出延时约束,延迟约束用的是set_input_delay
和set_output_delay
,分别用于input端和output端,其时钟源可以是时钟输入管脚,也可以是虚拟时钟。
一、输入接口约束
set_input_delay -clock<args> -reference_pin<args> -clock_fall -rese -max -add_delay<delay><objects>
- -clock用于指定约束引脚的同步时钟(源时钟),<args>为同步时钟的名称,可以是主时钟或虚拟时钟;
- -reference_pin用于指定延时值<delay>的参考时钟,<args>为参考时钟名称;可选项,若不指定该选项则默认参考时钟为-clock指定的同步时钟;
- -clock_fall指定输入延时约束取值相对于同步时钟的下降沿;可选项,若不指定则默认为-clock_rise;
- -rise指定约束信号相对时钟边沿的关系是上升沿,也可以用-fall指定为下降沿;
- -max表示设定最大延时值,也可以用-min设置最小延时值;若不指定-max或-min。则输入延时值同时用最大和最小延时值的时序分析路径;
- <delay>指定将应用到目标输入引脚的延时值,有效值为大于或等于0的浮点数,默认为1.0;
- <objects>用于指定约束的目标输入引脚名称。
以主时钟为同步时钟的输入引脚约束
首先定义输入引脚为CLK0的主时钟sysCLK,然后约束