【Xilinx Vivado 时序分析/约束系列11】FPGA开发时序分析/约束 |
您所在的位置:网站首页 › ise工具新建工程后时序不过 › 【Xilinx Vivado 时序分析/约束系列11】FPGA开发时序分析/约束 |
目录 DDR-PLL 简述 实际操作 实际工程 顶层代码 PLL配置 添加时钟约束 添加 input delay 约束 添加 False Path Setup Time Hold Time Multicycle约束 解决办法 PLL配置 发现问题 建立时间中 保持时间中 添加 False Path 总结 往期系列博客 DDR-PLL 简述 在之前介绍了 DDR-Direct 的时序模型,也就是不带有 PLL 的普通时序模型,这节重点介绍带有 PLL 的模型,在SDR采样模型中也介绍到这两种时序模型,因此同样的也会带有 PLL 的时序模型,PLL 的功能也是一样,可以对时钟进行偏移,可以正偏移也可以负偏移,对应的是时钟的延时增大和减小。 在分析时,默认PCB数据路径延迟Td_bd和PCB时钟路径延迟Tc_bd是一致的,因此在分析到达FPGA管脚的时钟和数据的状态时,只需要知道在上游器件的管脚的时钟和数据的状态,就可以对FPGA的时钟和数据进行约束,分析时钟和数据的相位关系即可。 以下是时序图,在DDR-Direct中有详细的分析,这里不多介绍。 这种时序模型可以用在input带有 PLL 的情况和不带有 PLL 的情况,带有 PLL 情况下采样时钟相移为正时需要进行 false path + Multicycle 约束,否则分析报告不正确。 实际操作这次依然以索尼的一款CMOS器件的手册为例。 时钟频率为54Mhz,即周期为18.519ns,半周期为9.259ns。在参数表中可以看到Max skew为2ns,因此,从图中可以看出第一个下降沿作为采样沿时的数据是由上一个上升沿发射出来的,此时图中箭头1所指的时刻为input delay的最小值,而箭头2的时刻为input delay的最大值;同样的,当第一个下降沿作为发射沿发射数据时,下一个上升沿作为采样沿,此时的input delay的最大、最小值分别为箭头3、4所指的时刻。 这里需要注意的是,由于这里采用的是PLL对时钟进行移相,所以会产生一个新的时钟,因此要对时序约束工具进行多一些的操作,让时序工具能够正确的识别到,以免给出错误的时序报告。 实际工程依然是 DDR-Direct 的实验工程,只需对顶层文件做个小改动。 顶层代码将上一节加入的IDELAY2原语注释或删除,并例化PLL,将rx_clk作为输入,rx_clk_90作为输出。 module top_ioddr( input wire rx_clk, input wire rx_ctrl, input wire [3:0] rx_dat, //tx output wire tx_clk, output wire [3:0] tx_d, output wire tx_dv, input wire sdrclk, input wire [3:0] sdrdata, input wire sdrden, input wire sysclk, output reg tout ); wire RDY; wire rst; wire rx_clk_90; wire rx_en; wire [7:0] rx_data; reg tx_en1,tx_en2; reg [7:0] tx_data1,tx_data2; wire sdrclk1; assign rst =0; //assign rx_clk_90 = rx_clk; IDELAYCTRL IDELAYCTRL_inst ( .RDY(RDY), // 1-bit output: Ready output .REFCLK(sysclk), // 1-bit input: Reference clock input .RST(1'b0) // 1-bit input: Active high reset input ); clk_wiz_0 clk_gen0 ( // Clock out ports .clk_out1(rx_clk_90), // output clk_out1 // Clock in ports .clk_in1(rx_clk)); // input clk_in1 assign sdrclk1 = sdrclk; always @(posedge rx_clk_90 or posedge rst) begin if (rst == 1'b1) begin tx_data1 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |