时序约束之I/O延时约束
在静态时序分析中介绍了4种时序路径,其中有3种是与外部I/O有关,即触发器到输出端,输入端到触发器和输入端到输出端,所以在时序分析中需要对外部IO的延时进行时序约束,如下图所示。
1.设置输入延时
输入延时定义为在一个有效时钟周期内,外部逻辑的输出数据到达设计输入端口所占用的延时,如下图所示。
使用SDC命令set_input_delay来定义IO输入延时,命令如下。
set_input_delay -min 2.0 -clock CLK [get_ports IN]
set_input_delay -max 2.0 -clock CLK [get_ports IN]
以上命令定义一个基于时钟CLK的外部逻辑到输入端口IN的延时信息,其延时波形如下图所示。
2.设置输出延时
输出延时定义为在一个有效时钟周期内,输出端口数据到外部逻辑所占用的延时,如下图所示。
使用SDC命令set_output_delay来定义IO输入延时,命令如下。
set_output_delay -clock CLK -max 1.5 [get_ports OUT]
set_output_delay -clock CLK -min 1.5 [get_ports OUT]
以上命令定义一个基于时钟CLK的输出端口OUT到外部逻辑的延时信息,其延时波形如下图所示。