赞
踩
路径可分为时钟路径和数据路径,数据路径需要满足建立时间和保持时间要求,从时钟到寄存器的时序路径约束。
set_false_path -from [get_port reset ] -to [all_register]
set_false_path -from [get_clocks CLKA ] -to [get_clocks CLKB]
set_false_path -from [get_clocks CLKB ] -to [get_clocks CLKA]
set_false_path -from [get_pins u_dp_ctrl/vh_erro/C ] -to [get_pins u_dp_ctrl/utt_ght_led/fd_reg[0]/D]
set_false_path -from [get_clocks ctrl_clk ] -to [get_clocks -of_objects [get_pins clk_wiz_0/inst/mmcm_adv_inst/CLKOUT2]]
set_max_delay -from[get_pins lcd_dt/lcd_clt_reg/C] -to [get_pins {u_ddr3_cache/diff_clk1/dpf_reg[0]/D}] 20.0
set_min_delay -from[get_pins lcd_dt/lcd_clt_reg/C] -to [get_pins {u_ddr3_cache/diff_clk1/dpf_reg[0]/D}] 2.0
set_max_delay -from[get_ports rst_n] -to [get_ports led] 40.0
set_min_delay -from[get_ports rst_n] -to [get_ports led] 1.0
create_clock -name Gclk -period 50 -waveform{0 25} [get_ports fpga_Gclk]
create_clock -name rxclk -period 6.667 [get_ports GT0/RXOUTCLK]
create_clock -name sysclk -period 3.33 [get_ports sysclk_p]
create_clock -period 10.0 -name VIDEO_CLK -waveform { 0.00 5.00} [get_port v_clk]
set_system_jitter sysclk 0.1
set_input_jitter clkin_1 0.2
set_clock_uncertainty -setup -form [get_clocks clk0] -to [get_clocks clk1] 0.500
set_clock_uncertainty 0.200 [get_clocks CLK_50M]
set_clock_latency 2.500 [get_clocks V_CLK]
注意:对于很多与时钟相关的 IP,Clocking Wizard 可自动配置 MMCM和 PLL 产生的时钟管理单元,无需手动添加主时钟约束。
create_generated_clock -name VH_CLK -source [get_pins clk_wiz_0/clk_out1] -multiply_by 1 [get_ports vh_clk]
create_clock -name fpga_Gclk -period 10 [get_ports fpga_Gclk]
create_generated_clock -name div_clk -source [get_pins fpga_Gclk] -multiply_by 2 [get_ports vh_clk]
create_generated_clock -name div_clk1 -source [get_pins REGA/C] -multiply_by 2 [get_ports REGA/Q]
create_generated_clock -name div6_11_clk -source [get_pins mmcm0/clkin1] -multiply_by 6 divide_by 11 [get_ports mmcm0/clkout]
create_clock -name jtag_clk -period 10 [get_ports clk0]
set_input_delay -clock jtag_clk -max 5 [get_ports d_clk]
set_input_delay -clock jtag_clk -min 2 [get_ports d_clk]
set_input_delay -clock jtag_clk -reference_pin [get_clocks jtag_clk_IBUF_BUFG_inst/0] [get_ports reset]
set_input_delay -clock clk_ddr -max 2 [get_clocks {ddr_clkin[0] ddr_clkin[1] ddr_clkin[2] ddr_clkin[3]} ] -clock_fall -add_delay
create_generated_clock -name SPI_CLK -source [get_pins clk_wiz_0/clk_out1] -multiply_by 1 [get_ports spi_clk]
set_input_delay -clock [get_clocks SPI_CLK] -max 8 [get_ports spi_mio]
set_input_delay -clock [get_clocks SPI_CLK] -min 3 [get_ports spi_mio
create_clock -name jtag_clk -period 10 [get_ports clk0]
set_output_delay -clock jtag_clk 5 [get_ports dout_c]
create_generated_clock -name VH_CLK -source [get_pins axi_clkgen_0/clkin1] -multiply_by 6 divide_by 55 -invert [get_ports vh_clk]
set_output_delay -clock [get_clocks VH_CLK] -max 1.8 [get_ports {{ vh_d[0] vh_d[1] vh_d[2] vh_d[3] vh_d[4] vh_d[5] vh_d[6] vh_d[7]} vh_sync vh_hync vh_de }]
set_output_delay -clock [get_clocks VH_CLK] -min 0.6 [get_ports {{ vh_d[0] vh_d[1] vh_d[2] vh_d[3] vh_d[4] vh_d[5] vh_d[6] vh_d[7]} vh_sync vh_hync vh_de }]
set_multicycle_path 4 -setup -form [get_pins data0_reg/C] -to [get_pins data1_reg/D]
set_multicycle_path 3 -hold -form [get_pins data0_reg/C] -to [get_pins data1_reg/D]
慢时钟域到快时钟域,设为-end:
set_multicycle_path -setup -end -form [get_pins data0_reg/C] -to [get_pins data1_reg/D] 4
set_multicycle_path -hold -end -form [get_pins data0_reg/C] -to [get_pins data1_reg/D] 3
例外约束包括多周期约束、虚假路径约束、最大最小延时约束。
================================================
补充:
IP核例化生成的文件中包含了xdc以固定引脚分配,xdc为read_only mode,用{} 设置引脚约束为空。后面的引脚约束就是自定义后的。
set_property PACKAGE_PIN {} [get_ports RX0_P]
set_property PACKAGE_PIN {} [get_ports RX1_P]
set_property PACKAGE_PIN Y2 [get_ports RX0_P]
set_property PACKAGE_PIN W4 [get_ports RX1_P]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。