超长线路 (SLL) 布线 超长线路 (SLL) 布线将器件内一个 SLR 与另一个 SLR 信号联通。 提示: 为确立 SLR 间的可用 SLL 数量,请使用 SLR 属性。例如: get_property NUM_TOP_SLLS [get_slrs SLR0] get_property NUM_BOT_SLLS [get_slrs SLR1] 传输限制 提示: 对跨多 SLR 的高速传输而言,请务必寄存穿过 SLR 边界的信号。 SLL 信号是 SLR 组件之间的唯一数据连接。 下列信号不在 SLR 组件间传输: • 进位链 • DSP 级联 • 块 RAM 地址级联 • 以及其他专用连接,如 DCI 级联和块 RAM 级联。 这些工具通常会考虑这种传输限制。为确保设计布线正确,并且符合您的设计目标,当您 • 建立一个非常长的 DSP 级联并手动将这种逻辑放置在 SLR 边界附近时,您也必须将该限制纳入考虑范围内, • 为设计设定管脚时也应如此。 SLR 利用率考虑因素 Vivado 设计实现工具采用了一种特殊算法将逻辑分区为多个 SLR 。针对挑战性较高的设计,您可以利用下列指南来提 升面向 SSI 技术器件设计的时序收敛。 为提升时序收敛并编译时长,您可以使用 Pblock 将逻辑分配至每个 SLR ,并验证个体 SLR 对所有的结构资源类型不存 在利用率过度的现象。例如,一个块 RAM 利用率为 70% 的设计如果块 RAM 资源在所有 SLR 上不平衡,其中一个 SLR 使用了超过 85% 的块 RAM ,这或许会造成时序收敛问题。 下面的 vu160 利用率示例报告显示,整体块 RAM 利用率为 56% ,而 SLR0 中的块 RAM 利用率为 89% ( 1008 可用资 源中占用了 897 )。相对于所有 SLR 中平衡块 RAM 利用率,设计 SLR0 中实现时序收敛或许更加困难。 3. BLOCKRAM ----------- +-------------------+------+-------+-----------+-------+ | Site Type | Used | Fixed | Available | Util% | +-------------------+------+-------+-----------+-------+ | Block RAM Tile | 1843 | 0 | 3276 | 56.26 | | RAMB36/FIFO* | 1820 | 1 | 3276 | 55.56 | | FIFO36E2 only | 78 | | | | | RAMB36E2 only | 1742 | | | | | RAMB18 | 46 | 0 | 6552 | 0.70 | | RAMB18E2 only | 46 | | | | +-------------------+------+-------+-----------+-------+ 14. SLR CLB Logic and Dedicated Block Utilization ------------------------------------------------- +-----------+--------+---------+------------+-------------+---------------+-----------+-------+------+ | SLR Index | CLBs | (%)CLBs | Total LUTs | Memory LUTs | (%)Total LUTs | Registers | BRAMs | DSPs | +-----------+--------+---------+------------+-------------+---------------+-----------+-------+------+ | SLR2 | 40109 | 89.61 | 167520 | 156 | 46.78 | 327600 | 512 | 0 | | SLR1 | 42649 | 95.28 | 205484 | 2297 | 57.38 | 355918 | 434 | 0 | | SLR0 | 35379 | 97.62 | 163188 | 24 | 56.29 | 313392 | 897 | 0 | +-----------+--------+---------+------------+-------------+---------------+-----------+-------+------+ | Total | 118137 | | 536192 | 2477 | | 996910 | 1843 | 0 | +-----------+--------+---------+------------+-------------+---------------+-----------+-------+------+ 赛灵思建议将块 RAM 和 DSP 组分配至 SLR Pblock ,从而最大限度减少共享信号 SLR 交汇进行连接。例如,一个地址 总线向一组块 RAM 扇出,块 RAM 在多个 SLR 上展开,这种情况下实现时序收敛就更加困难,这是因为 SLR 交汇引发 了时序关键信号的额外延迟。 器件资源位置或用户 I/O 选择将 IP 与 SLR 绑定,例如 GT 、 ILKN 、 PCIe ,以及 CMAC 专用块或存储器接口控制器。赛灵 思建议: • 应特别注意专用块位置与管脚选择,从而避免数据流与跨 SLR 边界多次。 • 确保紧密互联的模块与 IP 处于同一 SLR 内。如无法实现,您可以通过添加流水线寄存器来为布局器提供更大灵活 性,从而在逻辑组 SLR 交汇的情况下找出优秀的解决方案。 • 确保关键逻辑处于同一 SLR 内。通过确保主模块在接口端妥善实现流水线,布局器更有可能找到具有触发器至触 发器 SLR 交汇的 SLR 分区。 下图中约束至 SLR0 的一个存储器接口需要驱动 SLR1 中的用户逻辑。与存储器 IP 后端连接的一个 AXI4-Lite 从接口, 和存储器 IP 与 AXI4-Lite 从接口间妥善定义的边界,共同提供了自 SLR0 到 SLR1 的良好转换。 大宽度总线的 SLR 交汇 当数据流程要求采用大宽度总线跨 SLR 时,请采用流水线策略来提升时序收敛,并缓解长距离资源的布线拥塞。针对 工作频率高于 250 MHz 的大宽度总线,赛灵思建议采用至少 3 个流水线阶段跨一个 SLR ,分别在 SLR 顶端、底端和中 端各一个。对性能特别高的总线,或同时穿越水平和垂直距离时,或许需要采用额外的流水线阶段。 以下数据展示了 vu190-2 器件交汇的最坏情况。本示例从 SLR0 左下方的一个 Interlaken 专用块开始,到分配至 SLR2 右上方的包监测块为止。由于没有来自和到达包监测模块的数据总线流水线寄存器,该设计离 300 MHz 的时序要求差 距较大。 然而,添加 7 流水线阶段助力自 SLR0 至 SLR2 的穿越使设计能够满足时序。这样还减少了纵向与横向长距离布线资源 的使用,如下图所示。
标签:RAM,SLR,时序,SLL,vivado,SLR0,布线,流水线 From: https://blog.csdn.net/cckkppll/article/details/143167547