通过get_port命令查看接口。
get_ports *
以LVDS的输入输出为例
怎样去查看output delay
set_output_delay -clock hdmi_rx_slow_clk -reference_pin [get_ports {hdmi_rx_slow_clk~CLKOUT~218~131}] -min -0.140 [get_ports {tmds_data0_o[*]}]
在tcl command Console中输入以下语句,可以查看到它的约束情况。
report_timing -through [get_pins {tmds_data1_o[*]~FF|Q}] -hold
可以看到在约束中已经把Output Delay在Caputure Path中减去。当然我认为加在Launch Path Delay中也是可以的。
怎样去查看input delay是否生效
set_input_delay -clock hdmi_rx_slow_clk -reference_pin [get_ports {hdmi_rx_slow_clk~CLKOUT~1~283}] -max 0.512 [get_ports {hdmi_rx_d0_RX_DATA[*]}]
set_input_delay -clock hdmi_rx_slow_clk -reference_pin [get_ports {hdmi_rx_slow_clk~CLKOUT~1~283}] -min 0.342 [get_ports {hdmi_rx_d0_RX_DATA[*]}]
set_input_delay -clock hdmi_rx_slow_clk -reference_pin [get_ports {hdmi_rx_slow_clk~CLKOUT~1~208}] -max 0.512 [get_ports {hdmi_rx_d1_RX_DATA[*]}]
set_input_delay -clock hdmi_rx_slow_clk -reference_pin [get_ports {hdmi_rx_slow_clk~CLKOUT~1~208}] -min 0.342 [get_ports {hdmi_rx_d1_RX_DATA[*]}]
set_input_delay -clock hdmi_rx_slow_clk -reference_pin [get_ports {hdmi_rx_slow_clk~CLKOUT~1~225}] -max 0.512 [get_ports {hdmi_rx_d2_RX_DATA[*]}]
set_input_delay -clock hdmi_rx_slow_clk -reference_pin [get_ports {hdmi_rx_slow_clk~CLKOUT~1~225}] -min 0.342 [get_ports {hdmi_rx_d2_RX_DATA[*]}]
report_timing -from [get_ports {hdmi_rx_d0_RX_DATA[*]}] -hold
可以看到在约束中已经把Input Delay在Launch Path中加上。
对于单端
当HPD_N是同步IO时。
这里使用的时钟是osc_clk
HPD_N是一个单端非同步输出信号
create_clock -period 25 [get_ports {osc_clk}]
create_clock -period 25 -name vir_osc_clk
report_timing -through [get_nets {HPD_N}]
set_input_delay -clock vir_osc_clk -max 2.0 [get_ports {HDMI_5V_N}]
set_input_delay -clock vir_osc_clk -min 1.8 [get_ports {HDMI_5V_N}]
通过以下指令来打印信息
report_timing -from [get_ports {HDMI_5V_N}]
使用npaths可以打印出多条路径。
程序上实现如下:
assign hdmi_rx_hpd_n = ~hdmi_rx_5v_n ? 1'b0 : rx_hpd;
第二条
三态信号
report_timing -from [get_ports {FPGA_HDMI_SCL_IN}]
report_timing -to [get_nets {FPGA_HDMI_SDA_OE}]
没有回复内容