Intel® Quartus® Prime Timing Analyzer Cookbook

ID 683081
Date 7/21/2022

I/O Timing Requirements (tSU, tH, and tCO)

The following example shows how to specify tSU and tH using set_input_delay, and how to specify tCO using set_output_delay.
Figure 14.  I/O Timing Specifications

tSU, tH, and tCO Constraints

#Specify the clock period
set period 10.000
#Specify the required tSU
set tSU 1.250
#Specify the required tH
set tH 0.750
#Specify the required tCO
set tCO 0.4
#create a clock 10ns
create_clock -period $period -name clk [get_ports sys_clk]
#create the associated virtual input clock
create_clock -period $period -name virt_clk
set_input_delay -clock virt_clk \
	-max [expr $period - $tSU] \
	[get_ports {data_in[*]}]
set_input_delay -clock virt_clk \
	-min $tH \
	[get_ports {data_in[*]}]
set_output_delay -clock virt_clk \
	-max [expr $period - $tCO] \
	[get_ports {data_out[*]}]
set_output_delay -clock virt_clk \
	-min [expr -1*$tco] \
	[get_ports {data_out [*]}]