Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(一)时序约束的基本概念

1、基本概念

推荐阅读,Ally Zhou编写的****《Vivado使用误区与进阶》**** 系列文章, 熟悉基本概念、tcl语句的使用。

《Vivado使用误区与进阶》电子书开放下载!!

2、Vivado中的语法例程

1)语法例程

约束的语句可以参考vivado中的,注意其中的rise_data是指由上升沿采样的数据,默认由fall发出。实际使用时也可以由rise发出rise_data,并由rise采样,比如以太网MAC IP中的用法。

2)input约束

input delay:外部时钟发送沿到数据头的最大/最小延时;

中心对齐DDR:

采样时,时钟沿直接采样自己下方的数据即可。由发送方调整好对齐关系。

Edge-Aligned(clock directly to FF)DDR

边沿对齐,时钟边沿和数据边沿同时变化(数据不是该时钟沿发出的,而是上一个沿发出的),采样时可对clk延时1/4周期时间完成中心对齐采样。

Edge-Aligned(clock with MMCM)DDR

++注意此处的MMCM是指phase shift mode 采用waveform ,而不是latency 模式。采用latency模式的时的约束同clock directly to FF。++

3)output约束

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(1'b0),.D2(1'b1),时钟约束中增加-invert。

ODDRE1 #(

.IS_C_INVERTED(1'b0), // Optional inversion for C

.IS_D1_INVERTED(1'b0), // Unsupported, do not use

.IS_D2_INVERTED(1'b0), // 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(1'b0) // Initializes the ODDRE1 Flip-Flops to the specified value (1'b0, 1'b1)

)

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(1'b1), // 1'b1 -same with clk,1'b0 -invert to clk

.D2(1'b0), // 1'b0 -same with clk,1'b1 -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]

相关推荐
9527华安10 小时前
国产安路FPGA开发设计培训课程,提供开发板+工程源码+视频教程+技术支持
fpga开发·fpga·安路·视频教程·培训·安路fpga
UVM_ERROR17 小时前
硬件设计实战:解决Valid单拍采样失效问题(附非阻塞赋值与时序对齐核心要点)
驱动开发·fpga开发·github·芯片
brave and determined17 小时前
可编程逻辑器件学习(day36):从沙粒到智能核心:芯片设计、制造与封装的万字全景解析
fpga开发·制造·verilog·fpga·芯片设计·硬件设计·芯片制造
步达硬件1 天前
【FPGA】FPGA开发流程
fpga开发
我爱C编程2 天前
【仿真测试】基于FPGA的完整16QAM通信链路实现,含频偏锁定,帧同步,定时点,Viterbi译码,信道,误码统计
fpga开发·16qam·帧同步·卷积编码·viterbi译码·维特比译码·频偏锁定
s09071363 天前
ZYNQ DMA to UDP 数据传输系统设计文档
网络协议·fpga开发·udp
燎原星火*3 天前
QSPI IP核 基本参数
fpga开发
XINVRY-FPGA3 天前
XCVU9P-2FLGC2104I Xilinx AMD Virtex UltraScale+ FPGA
嵌入式硬件·机器学习·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
FPGA_小田老师3 天前
FPGA Debug:PCIE一直自动重启(link up一直高低切换)
fpga开发·pcie debug·pcie初始化问题
hexiaoyan8273 天前
视频信号检测板卡:208-Base Camera Link 图像信号模拟器
fpga开发·图像信号模拟器·视频信号检测·视频信号分析·智能图像分析