vivado实现分析与收敛技巧8-布局规划技巧

布局规划技巧
对于从未满足时序的设计以及不适合更改网表或约束的设计 可考虑采用门级布局规划。
分层布局规划
分层布局规划支持您将一个或多个层级布局在片上某个区域内。此区域可向布局器提供全局层面的指导信息 并由布局器执行详细布局。分层布局规划相比于门级布局规划具有如下优势:
• 分层布局规划的创建速度比门级布局规划更快。良好的布局规划可改善时序。布局规划不受设计变更影响。
• 层级可充当所有门电路的容器。一般即使网表发生更改 它仍可正常运作。
在分层布局规划中支持
• 识别包含关键路径的较低层级。
• 使用顶层布局规划来识别布局位置。
• 通过实现来执行个别单元布局。
• 全面掌握单元和时序路径信息。
• 通常能够有效完成高精度布局。
手动单元布局
手动单元布局可充分发挥器件性能。使用此技巧时 设计师通常只能将其用于小块设计。可将少量逻辑布局到高速 I/O接口周围, 或者可手动布局块 RAM DSP 。手动布局可能比较慢。
所有布局规划技巧都需要大量工程设计时间。可能需要布局规划迭代。如果任意单元名称发生更改 则必须更新布局规划约束。
执行布局规划时 应明确最终管脚分配。最好将 I/O 固定。 I/O 可提供锚点作为布局规划的起点。与 I/O 通信的逻辑可向固定管脚移植。
vivado实现分析与收敛技巧8-布局规划技巧_第1张图片
上图所示布局规划可能对时序没有帮助。请考虑将块拆分、更改源代码或者仅约束块 RAM DSP 。另请考虑在外部时序要求允许的情况下取消 I/O 寄存器布局。
本部分中提到的 Pblock XDC 约束来表示
create_pblock Pblock_usbEngine
add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list
usbEngine1]]
resize_pblock [get_pblocks Pblock_usbEngine] -add
{SLICE_X8Y105:SLICE_X23Y149}
resize_pblock [get_pblocks Pblock_usbEngine] -add {DSP48_X0Y42:DSP48_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add
{RAMB18_X0Y42:RAMB18_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add
{RAMB36_X0Y21:RAMB36_X1Y29}
set_property IS_SOFT 0 [get_pblocks Pblock_usbEngine]
1 行用于创建 Pblock 。第 2 ( add_cells_to_pblock ) 用于将层级分配到 Pblock 。有 4 种资源类型 SLICE 、DSP48、 RAMB18 RAMB36 ), 各有自己的网格。不受网格约束的逻辑可连接至器件内任意位置。要仅约束层级内的块 RAM 请禁用其他 Pblock 网格。
vivado实现分析与收敛技巧8-布局规划技巧_第2张图片
生成的 XDC 命令可用于定义简化的 Pblock
create_pblock Pblock_usbEngine
add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list
usbEngine1]]
resize_pblock [get_pblocks Pblock_usbEngine] -add
{RAMB18_X0Y42:RAMB18_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add
{RAMB36_X0Y21:RAMB36_X1Y29}
RAM 约束在器件内 slice 分片 逻辑可自由布局在器件上任意位置。
vivado实现分析与收敛技巧8-布局规划技巧_第3张图片
使用基于 Pblock 的布局规划
RTL 集成到设计中时 有助于将器件内部的设计可视化。以图形化方式查看块之间的互连方式以及综合后的 I/O 管脚分配 (pinout) 有助于您了解自己的设计。
要查看互连方式 请在上层层级内使用 Pblock 生成顶层布局规划。要将顶层 RTL 细分为多个 Pblock 请选择“Tools ” → “ Floorplanning ” → “ Auto Create Pblocks 工具 > 布局规划 > 自动创建 Pblock 。要将块布局到器件内, 请选择“ Tools ” → “ Floorplanning ” → “ Place Pblocks 工具 > 布局规划 > 布局Pblock) 。工具会根据 slice 计数和目标使用率来设置 Pblock 大小。
分析期间 Pblock 填充可能超过 100% 但在实现期间不会发生此现象。过度填充 Pblock 会导致在器件上其大小减小。这是获取器件顶层块的相对大小概览及其在器件上的分布方式的一项实用技巧。
vivado实现分析与收敛技巧8-布局规划技巧_第4张图片
顶层布局规划
顶层布局规划用于显示与 I/O 通信的块 绿线 。连接到 2 Pblock 的信号线将捆绑在一起。捆绑可根据共享信号线的数量更改大小和颜色。下图中显示了 2 种顶层布局规划。
Data Path Top Level Floorplan 数据路径顶层布局规划 显示了设计的顶层块之间数据流动的方式。每个块都仅与 2 个近邻通信。绿线显示与单个块通信的布局精良的 I/O
vivado实现分析与收敛技巧8-布局规划技巧_第5张图片
Control Path Floorplan 控制路径布局规划 显示的设计中的所有块都与中心块进行通信。最大的连接为中心块与最右下角的块之间的连接。中心块必须分布在整个设计周围, 才能与所有其他负载进行通信。
vivado实现分析与收敛技巧8-布局规划技巧_第6张图片

你可能感兴趣的:(fpga开发)