tx2 fpga pcie无法读写_「干货」FPGA设计中大位宽、高时钟频率时序问题调试经验总结...

本文是关于FPGA设计经验的总结,特别是针对高频率、大位宽设计时遇到的时序挑战。讨论了跨时钟域信号约束、判断条件过长、if else嵌套、逻辑信号扇出过大、数据选择器大小以及大位宽RAM数据总线约束等问题,并提供了相应的解决方案和调试经验。
摘要由CSDN通过智能技术生成

今天跟大家分享的内容很重要,也是我们调试FPGA经验的总结。随着FPGA对时序和性能的要求越来越高,高频率、大位宽的设计越来越多。在调试这些FPGA样机时,需要从写代码时就要小心谨慎,否则写出来的代码可能无法满足时序要求。另外,最近跟网友聊天时,有谈到公众号寿命的问题,我觉得网络交换FPGA公众号应该在这方面有优势,作为高校里从事FPGA开发的老师,又有兴趣做公众号的维护,不会遇到其他公众号做着做着就停更的问题,我们的公众号也许将陪伴你十年甚至几十年。同时,也请大家放心,我们今后每篇文章都将用心的去总结归纳,确保篇篇都是干货!新的一年开始了,希望在新的一年里,继续给大家分享平时遇到的FPGA调试中遇到的问题及经验,一起进步,一起努力,加油!

跨时钟域信号的约束写法

问题一:没有对设计进行全面的约束导致综合结果异常,比如没有设置异步时钟分组,综合器对异步时钟路径进行静态时序分析导致误报时序违例。

约束文件包括三类,建议用户应该将这三类约束文件分开写在三个xdc/sdc文件中。

第一类是物理约束,它主要对设计顶层的输入输出引脚的分配约束、电平标准的约束,

如下图所示:在quartus环境下,对pcie_rstn和pcie_refclk的电平标准和管脚进行了约束。

8ae56a0858a1424c6e5c9d69c8f1e73b.png

如下图所示:在vivado环境下,对rst_n和sys_clk_PCIe_p的电平标准和管教进行了约束。

c825bef9635be413cf0f42c3d089a143.png

第二类是调试约束,用户在使用ila调试时,Vivado会自动生成相关ila的调试约束。

如下图所示,这是Vivado自动生成的相关ila的调试约束。

1024d4a872e7a51b91083de2490c7b7c.png

第三类是时序约束,这类约束的种类最多,它包括时钟周期约束、输入输出延迟约束、跨时钟域路径约束、多周期路径约束、伪路径约束等。

时钟周期约束:用户需要将设计中的所有时钟进行约束后,综合器才能进行合理的静态时序分析。一个设计中的时钟主要分为两类:主时钟和生成时钟。主时钟包括由全局时钟引脚接入的时钟、高速收发器的输出时钟。生成时钟包括由MMCM/PLL产生的时钟、用户逻辑分频产生的时钟,建议用户不要使用后者,因为它通常是由组合逻辑或触发器生成的时钟,这种时钟的歪斜、抖动、驱动能力都很差。对时钟进行约束时,主要针对时钟的频率、占空比、抖动、不确定性等参数进行约束。

全局时钟引脚接入的时钟约束举例:

如下图所示,在quatus环境下,对全局时钟引脚接入的时钟pcie_refclk进行了约束,因为占空比是50%,抖动和不确定性也采用默认值,所以图中只对频率进行了约束。

62c588c31d9caa2c149b0211c1b2724a.png

如下图所示,在vivado环境下,对全局时钟引脚接入的时钟sys_clk_PCIe_p进行了约束,因为占空比是50%,抖动和不确定性也采用默认值,所以图中只对频率进行了约束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值