1. report_clocks
在tcl console中输入“report_clocks”,可以列出所有的时钟,在约束中get_clocks时可以方便的引用。
2. reset_project
可以重置整个工程。
3. rgmii接口约束
set_input_delay -clock [get_clocks inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/inst_rgmii_rx_clk] -max -1.2 [get_ports {{rgmii_rxd[*]} rgmii_rx_ctl}]
set_input_delay -clock [get_clocks inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/inst_rgmii_rx_clk] -min -2.8 [get_ports {{rgmii_rxd[*]} rgmii_rx_ctl}]
set_input_delay -clock [get_clocks inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/inst_rgmii_rx_clk] -clock_fall -min -add_delay -2.8 [get_ports {{rgmii_rxd[*]} rgmii_rx_ctl}]
set_input_delay -clock [get_clocks inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/inst_rgmii_rx_clk] -clock_fall -max -add_delay -1.2 [get_ports {{rgmii_rxd[*]} rgmii_rx_ctl}]
set_output_delay -clock [get_clocks inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/inst_rgmii_tx_clk] -max 1.0 [get_ports {{rgmii_txd[*]} rgmii_tx_ctl}]
set_output_delay -clock [get_clocks inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/inst_rgmii_tx_clk] -min -0.8 [get_ports {{rgmii_txd[*]} rgmii_tx_ctl}]
set_output_delay -clock [get_clocks inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/inst_rgmii_tx_clk] -clock_fall -max -add_delay 1.0 [get_ports {{rgmii_txd[*]} rgmii_tx_ctl}]
set_output_delay -clock [get_clocks inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/inst_rgmii_tx_clk] -clock_fall -min -add_delay -0.8 [get_ports {{rgmii_txd[*]} rgmii_tx_ctl}]
current_instance -quiet
set_property IDELAY_VALUE 12 [get_cells {inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/*/tri_mode_ethernet_mac_i/rgmii_interface/delay_rgmii_rx* {inst_udp_net_interface/inst_tri_mode_ethernet_mac_0/*/tri_mode_ethernet_mac_i/rgmii_interface/rxdata_bus[*].delay_rgmii_rx*}}]
4. XDC PROCESSING_ORDER
约束文件可以指定执行顺序,一般input delay等端口时序约束最好在后面执行,避免执行时依赖的时钟还没有创建。
下述命令可以调整约束执行顺序:
set_property PROCESSING_ORDER EARLY/NORMAL/LATE [get_files xxxxxx.xdc]
5. report_compile_order -constraints
列出约束文件执行顺序。
与约束相关的说明,见Xilinx约束使用说明官方文档。
网友评论