set_min_delay -from [get_pins ff1_reg/C] -to [get_pins ff2_reg/D] 2.000 //设置clk2的周期 create_clock -period 10.000 -name clk1 -waveform {0.000 5.000} [get_ports clk1] //max_delay值为5 create_clock -period 7.000 -name clk2 -waveform {0.000 3.500} [get_ports clk2] //min...
set_max_delay [expr 0.5*$period_fast_clk] -from [get_pins “详细路径1/waddr_gray_reg_*_/clocked_on”] -to [get_pins “详细路径1”/synchronizer_3x_u0/同步器件名称/d”] set_max_delay [expr 0.5*$period_fast_clk] -from [get_pins “详细路径2/raddr_gray_reg_*_/clocked_on”] -...
图1 multicycle path 下的 setup 时序检查 但是当我们通过以上的命令设置了 3 个 cycle 的 multicycle path 的约束之后,launch clk 的沿推到了 T=30ns。因此,两个寄存器之间那段组合逻辑的 delay 要求就放松到了近三个时间 cycle。这种情况下 setup 是比较容易满足的。对应的 setup 检查时序报告如下图 2 所示。
set period 8.000 create_clock -period $period \ -name clk_in \ [get_ports clk_in] derive_pll_clocks set_output_delay -add_delay \ -clock ddr_pll_1_inst|altpll_component|pll|CLK[0] \ -reference_pin [get_ports clk_out] \ -min -2.000 \ [get_ports data_out*] set_output_delay ...
create_clock-period5.000-name src_clk-waveform{0.0002.500}[get_ports src_clk]create_clock-period2.500-name dest_clk-waveform{0.0001.250}[get_ports dest_clk]set_max_delay-from[get_cells src_send_reg]-through[get_cells{{out_reg[0]}{out_reg[1]}}]10.000set_bus_skew-from[get_cells{{src...
set_multicycle_path N-1 -hold -end -from [get_clocks CLK1] -to [get_clocks CLK2] (2)由快时钟域到慢时钟域 set_multicycle_path N -setup -start -from [get_clocks CLK1] -to [get_clocks CLK2] set_multicycle_path N-1 -hold -from [get_clocks CLK1] -to [get_clocks CLK2] ...
CLK period is 12.5 nsDclock_to_FPGA = 0 ~ 0.1 nsDdata = 0 ~ 0.1 nsDclock_to_ExtDev = 0 ~ 1nsTsetup = 5.8 nsThold = 2 nsSo following the formula : Output Delay(max) = 5.8 + 0.1 + 0.1 - 0 = 6 ns Output Delay(min) = 0 - 2 + 0 - 1 = -3 ns...
create_clock-period10.000-name clk-waveform{0.0005.000}[get_ports clk]set_output_delay-clock[get_clocks*]0.500[get_ports-filter{NAME=~"*"&&DIRECTION=="OUT"}]set_data_check-setup-from[get_pins out_OBUF_inst_i_1/I0]-to[get_pins out_OBUF_inst_i_1/I1]0.300-clock[get_clocks*]set_da...
set_multicycle_path -hold 1 -from CLK1 -to CLK2 这样hold检查向后(左)移动(延迟)1个period,由于-hold默认移动launch_clk,也就是launch_clk向前(向右)移动了1个时钟周期(也可看做capture_clk向左移动了1个时钟周期),如下图(这种情景设置只适用于多周期采样,例如存在图中的使能信号Clock Enable): ...
set_input_delay -clock virtclk -max 4 [get_ports dina] set_input_delay -clock virtclk -min 2 [get_ports dina] 5.双沿时钟的约束,对上升沿和下降沿都需要进行约束 create_clock -name clk_ddr -period 6 [get_ports DDR_CLK_IN] set_input_delay -clock clk_ddr -max 2.1 [get_ports DDR_...