网站开发套餐,爱网聊的人,嘉兴外贸网站建,一个空间做两个网站1、基本概念
推荐阅读#xff0c;Ally Zhou编写的《Vivado使用误区与进阶》系列文章#xff0c;熟悉基本概念、tcl语句的使用。
《Vivado使用误区与进阶》电子书开放下载#xff01;#xff01; 2、Vivado中的语法例程
1#xff09;语法例程
约束的语句可以参考vivado…1、基本概念
推荐阅读Ally Zhou编写的《Vivado使用误区与进阶》系列文章熟悉基本概念、tcl语句的使用。
《Vivado使用误区与进阶》电子书开放下载 2、Vivado中的语法例程
1语法例程
约束的语句可以参考vivado中的注意其中的rise_data是指由上升沿采样的数据默认由fall发出。实际使用时也可以由rise发出rise_data并由rise采样比如以太网MAC IP中的用法。 2input约束
input delay外部时钟发送沿到数据头的最大/最小延时 中心对齐DDR
采样时时钟沿直接采样自己下方的数据即可。由发送方调整好对齐关系。 Edge-Alignedclock directly to FFDDR 边沿对齐时钟边沿和数据边沿同时变化数据不是该时钟沿发出的而是上一个沿发出的采样时可对clk延时1/4周期时间完成中心对齐采样。 Edge-Alignedclock with MMCMDDR
注意此处的MMCM是指phase shift mode采用waveform ,而不是latency模式。采用latency模式的时的约束同clock directly to FF。 3output约束
output delay:数据头到达采样沿的最大最小时间这是下游器件对FPGA管脚处的时序要求。不论是skew based还是setup/hold based都是告知FPGA数据头/尾到采样沿需要的时间max/min。 3、时序分析 input,output中的-max用于分析setup,-min用于分析hold。vivado中对output做时序分析的点在FPGA的输出管脚端即在此处比大小slack。
4、forwarded clock
源同步输出时的clock处理方式用ODDR转发相位不翻转180°时用如下源语及约束反相180时.D1(1b0),.D2(1b1)时钟约束中增加-invert。 ODDRE1 #( .IS_C_INVERTED(1b0), // Optional inversion for C .IS_D1_INVERTED(1b0), // Unsupported, do not use .IS_D2_INVERTED(1b0), // Unsupported, do not use .SIM_DEVICE(ULTRASCALE_PLUS), // Set the device version for simulation functionality (ULTRASCALE, // ULTRASCALE_PLUS, ULTRASCALE_PLUS_ES1, ULTRASCALE_PLUS_ES2) .SRVAL(1b0) // Initializes the ODDRE1 Flip-Flops to the specified value (1b0, 1b1) ) ODDRE1_clk ( .Q(O_src_clk), // 1-bit output: Data output to IOB .C(W_rsc_clk), // 1-bit input: High-speed clock input .D1(1b1), // 1b1 -same with clk,1b0 -invert to clk .D2(1b0), // 1b0 -same with clk,1b1 -invert to clk .SR(!I_rst_n) // 1-bit input: Active-High Async Reset ); create_generated_clock -name O_src_clk -source [get_pins clk_wiz_0_inst/clk_out1] -multiply_by 1 [get_ports O_src_clk]