新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 增量设计流程针对需要变更部分进行优化

增量设计流程针对需要变更部分进行优化

作者:时间:2011-05-27来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/191195.htm

  步骤四:在物理实现环节将更新的网表导入Libero

  一旦Synplify Pro生成网表,就自动成为Libero IDE文档管理器的一部分,并且可用于布局布线 (即可被布局功能调用)。在和文档管理器与Libero之间的用户界面上,你很容易就找到和选出Synplify Pro创建的网表实现方案(参见图2)。


  假设该网表是更新后的网表,包含设计和综合过程中产生的变更,你可能首先希望保护Libero的初始布局布线过程生成的原始布局。在Libero中,你可轻松地将原始布局保存为物理设计“View”(也叫做“implementation”) 文件,可按使用方便给该视图命名,比如命名为“Design_Layout_1”。Libero不会用更新的网表结果覆盖“Design_Layout_1”这个文件,它允许在同一项目中创建新的View。例如,可将名为“Design_Layout_2”的文件用于存放更新网表的实现和测试结果。这个功能使用户能够比较用Synplify Pro产生网表变化前后的结果。

  接下来,在Libero中打开Actel的物理实现工具Designer,将更新的网表用新的实现方案名称导入Libero,并编译设计。编译设计后,在Libero的布局选项中完成设计布局。该菜单的缺省选项会对整个布局进行重新布局布线。对于包含经MultiPoint更新后的网表,Actel建议采用完全布局布线。完全布局布线的布局效率最高,但需要对所有时序进行重新验证。从修改策略的角度来看,只对那些直接受增量变化影响的布局部分进行重新布局布线也许更为有利。布局选项菜单包括“Place Incrementally”(放置增量)、“Lock Existing Placement (Fix)”[锁定现有放置 (修正)]和“Route Incrementally”(布线增量)

。“Place Incrementally”(没有锁定) 使用现有的元件布局作为参考起始点,但大多数情况下会得到不同的布局结果。“Place Incrementally”采用针对元件增量布局的高级算法,以尽可能满足时序要求。

  用“Lock Existing Placement (Fix)”锁定现有的布局,可减小布局结果因增量变更而引起的不可预测性,这是因为Libero的布局过程没有涉及所有的固定 (不改变的) 区块。若加入增量变更,用户需要确保FPGA阵列具有足够的设计空间。如果增量变更大,而且设计空间已经非常紧张,布局有可能不成功。如果事先知道以后会进行增量变更,可使用Libero IDE的平面空间规划工具 (Chipplanner)在芯片上为变更保留一些区域。该方法与锁定初始布局配合,就可快速、有效地将增量变更加入,而且能按要求保留原布局中的某些部分。


  步骤五:评测更新后的布局

  完成布局后,使用Libero的静态时序分析工具SmartTime来验证新的实现方案的整体器件性能 ;必要时,分析关键路径:比较Design_Layout_1和Design_Layout_2增量布局流程的性能结果,并确定增量更新是否已达到设计目标。

  步骤六:器件编程和调试

  在采用ECO流程达到设计目标后,就可使用Libero IDE提供的FlashPro ISP (在系统内编程) 工具、Silicon Sculptor编程工具,以及Synplicity的 Identify(r) 及Actel的Silicon Explorer器件调试工具和验证工具。

  总结

  Synplify Pro MultiPoint综合和Libero IDE开发工具为管理实际的ECO需求提供了有效的增量。两者的结合使设计人员能对原设计作模块级变更,而且只更改那些需要变更的部分。这种最大限度地减少了变更对那些原已成熟的设计部分的影响;由于无需对整个设计重新布局,因而节省了时间。用户可使用Synplify和 Libero中的“实现选项和视图”,轻松地建立不同设计选项方案,进而分析和比较这些方案,并选出性能最佳的方案。


上一页 1 2 3 下一页

关键词: 增量 设计流程

评论


相关推荐

技术专区

关闭