图1. PlanAhead 10.1版显示出已实施的设计,一条时序失败路径高亮显示。
一旦选择了一条时序失败的路径,PlanAhead软件就会选定时序失败路径上的实例和连接。按F9键放大显示选定的部分。 这儿的事情显得有些复杂。必须进行一定的审查和思考才能够明显布局布线工具将基本单元(primitive)放在某个地方,以及为什么对于当前的特定设计来说还有更好的方法。 可以放大显示任何高亮的基本单元。鼠标点击一个基本单元并拖动,可以更好地观察其连接情况。在网表窗口,还可以移动到包含了所选实例的顶层模块。鼠标右击模块名称并为选定的实例选择颜色,这样就可以显示出这一模块在芯片中的布局,以及组内单元是靠近还是散开的。 可能发现有时需要更好地锁定特定的基本单元。Block RAM和DSP模块的自动布局是导致时序失败的常见原因。很容易发现布局布线工具将Mult18安排的位置很不好。时序失败路径中的块RAM输出连接到Mult18,后者的输出又馈送到进位链。块RAM在上部、Mult18在下部,而逻辑部分又位于上部。如果布线不需要上上下下、边边角角地来回绕,该路径应当可以满足时序要求。 时序问题不同,在PlanAhead软件中处理这些时序问题的解决方案也跟着变化。在PlanAhead设计工具中解决时序问题需要不断实践。该解决方案体现以下操作步骤中: 1. 选择高亮显示失败的时序路径。 2. 右击路径上的某个实例,选择“Highlight With →color of choice”。 3. 在左侧栏中,将底部第二个Mult18释放。右击“Unplace。这将为时序失败的块RAM腾出空间。 4. 点击拖动底部的Mult18向左上移动一个位置。 5. 点击拖动右边的块RAM到底部左侧的自由块RAM位置。 6. 选定失败的时序路径,确认路径看起来是优化的。 7. 选择“Tools→Clear PlacementConstraints”。点击第一个选项中的“Next”。 8. 选择“Unplace All But SelectedInstances”。在余下的向导步骤点击“Next”。 9. 如果希望在“PlanAhead软件外运行实施流程,选择“File →Export Floorplan”。 10. 工具会输出一个新的文件名为“top.ucf”的UCF文件。你可直接使用这一文件,或者将文件中的约束加入到原始UCF中。 11. 另一个选择是在PlanAhead软件内运行实施工具。 |