vivado综合分析与收敛技巧3

1、最优化 RAMB 输入逻辑以允许输出寄存器推断
以下 RTL 代码片段可从块 RAM ( 实际上为 ROM ) 生成关键路径 , 其中包含多个止于触发器 (FF) 的逻辑层次。 RAMB单元已在无可选输出寄存器 (DOA-0) 的情况下完成推断 , 这给 RAMB 输出路径增加了超过 1 ns 的额外延迟惩罚。

工具显示的对应以上 RTL 代码的关键路径如下图所示。

最好在综合后以及每个实现步骤后复查关键路径以识别需改进哪些逻辑组。如有任何路径过长 , 或者未能以最优方式利用 FPGA 硬件功能 , 请返回 RTL 描述 , 尝试了解已综合的逻辑未实现最优化的原因 , 并修改代码以帮助综合工具改进网表。
Vivado 具有强大的嵌入式调试机制 , 可供您用于开始使用细化视图。细化视图有助于识别问题可能的来源 , 而无需手动搜索整个 RTL 代码。请参阅下图中所示对应上述 RTL 代码片段的细化视图。

细化视图提供了有关给定测试案例结构效率低下的有效提示。在此例中 , 问题来自地址寄存器扇出 (addr_reg3_reg) ,它用于驱动存储器地址和部分胶合逻辑( 蓝色高亮 ) 。
由综合工具执行的 RAMB 推断要求 RTL 代码中存在专用地址寄存器 , 这与当前地址寄存器扇出不兼容。由此导致综合工具对输出寄存器进行重定时以允许执行 RAMB 推断 , 而不是使用它来启用 RAMB 可选输出寄存器。
通过复制 RTL 代码中的地址寄存器 , 使用独立寄存器来驱动存储器地址和互连逻辑或 FPGA 逻辑 , 即可在启用输出寄存器的情况下推断 RAMB 。
手动复制后的 RTL 代码和细化视图如下图所示 :


已修改的 RTL 代码的关键路径如下图所示。请注意 :
• addr_reg2_reg 寄存器已连接到块 RAM 的地址管脚。
• addr_reg3_reg 寄存器在块 RAM 中已被吸收。
• RAMB 输出寄存器已启用 , 由此显著降低了 RAMB 输出上的数据路径延迟。
2、改进 RAMB 输出上的关键逻辑
以下测试用例以将宏 ( 块 RAM ) 推送至距离目标寄存器更近的位置为例 , 重点提供了有关通过重构来对关键路径进行改进的信息。
下图显示了 1 个 16x1 多路复用器 , 其中仅含 1 个从块 RAM 到多路复用器的输入 , 其余输入由寄存器馈送。
关键路径 : 块 RAM-> 2 个逻辑层次 -> FF 。

下图显示的关键路径中 , 以红色高亮显示块 RAM 到 FF 的路径。块 RAM->FF 和 FF->FF 都存在 2 个逻辑层次。由于块 RAM CLK->Q 延迟对于块 RAM 更高 , 因此 RAM->FF 为关键路径。

下一步 , 请注意下图中所示 RTL 代码 , 查看是否能够重构逻辑。

重构逻辑的最佳方法是将 16x1 多路复用器拆分为 2 个多路复用器来重写上述代码片段。您可将选择值 4'd5 的条件豁免, 将其用作为 2x1 多路复用器的启用条件 ( 如下图所示 ), 创建此级联多路复用器结构可生成含 3 个逻辑层次的 FF->FF; 但块 RAM->FF 减少至 1 个逻辑层次。这样即可改进块 RAM->FF 路径 , 从而帮助下游工具实现更好的布局 ,因为 RAMB 布局比 LUT 和 FF 布局难度更高。总之 , 对于任意给定设计 , 减少宏原语 ( 如 RAMB 、 URAM 和 DSP ) 周围的长路径即可改进 QoR 结果。

相关推荐
碎碎思9 小时前
当 FPGA 遇见怀旧计算:486 与 Atari ST 的硬件级重生
fpga开发
数字芯片实验室10 小时前
怎么定义芯片上的异步时钟?
单片机·嵌入式硬件·fpga开发
unicrom_深圳市由你创科技11 小时前
基于ARM+DSP+FPGA异构计算架构的高速ADC采集卡定制方案
arm开发·fpga开发
北京青翼科技12 小时前
高速采集卡丨AD 采集丨 多通道数据采集卡丨高速数据采集系统丨青翼科技FMC 子卡
图像处理·人工智能·fpga开发·信号处理·智能硬件
北京青翼科技1 天前
PCIe接口-高速模拟采集—高性能计算卡-青翼科技高品质军工级数据采集板-打造专业工业核心板
图像处理·人工智能·fpga开发·信号处理·智能硬件
dadaobusi1 天前
verilog重音符号
fpga开发
s09071361 天前
Xilinx FPGA ISERDES 使用详细介绍
fpga开发·xilinx·ddr·iserdes
虹科智能自动化2 天前
虹科分享 | SocTek IP Cores:FPGA高端网络与时间同步解决方案
fpga开发·ip核·tsn时间敏感网络
秋风战士2 天前
无线通信算法之340:信道均衡除法定标讨论
算法·fpga开发·信息与通信
FPGA小迷弟2 天前
基于FPGA实现HDMI接口,选型/核心技术
学习·fpga开发·verilog·fpga·modelsim