工艺技术的发展极大地提高了 FPGA 器件的密度,多个赛灵思 Virtex 系列产品中都包含了超过1 百万系统门的器件。器件密度的提高和300mm晶圆片的使用,为
FPGA 批量生产创造了条件。
过去只能使用 ASIC 来实现的设计现在可以在可编程器件中实现了。最大的 90 nm Virtex-4 器件提供了超过 200,000
个逻辑单元、6 MB 的块 RAM和接近 100 个 的DSP 块。但是如何有效地利用这些器件中的资源,创造出满足性能要求的设计,也是极具挑战性的工作。幸运的是,今天的
EDA 软件工具已经发展到能够应对这些挑战了。
逻辑优化、逻辑布局和最小化互连延迟对实现系统性能的最大化都是非常重要的。时序驱动综合技术对设计性能提供了重大改进。影响时序驱动综合性能的限制因素是估计布线延迟的精度。
物理综合 基于物理布局和布线信息进行综合 是有效解决这些问题的一项前沿技术。物理综合与优化把综合引入到网表生成后的实现决策中,从而进一步扩展了这一技术。这将允许在实现时根据实际的布局布线信息对综合映射与打包决策进行动态复查。
物理综合与优化的优点
逻辑层次之间的互连延迟受逻辑单元布局的接近性、布线拥塞和网络之间对快速布线资源的局部竞争的影响。解决这一问题的方法是在映射、布局和布线期间重新审查综合决策。在映射阶段,可以根据每个时序路径的紧急程度对网表进行重新优化、打包和布局。这一方法减少了达到时序收敛所需的实现次数。
物理综合与优化流程
赛灵思 ISE 软件提供了多个实现物理综合与优化的软件选项。可以根据设计的具体需求进行选择。
定义时序要求
进行有效物理综合的最重要一步是建立准确全面的时序约束。有了这些约束,实现工具就能基于可靠信息做出决策,从而改善总体效果。另外,对那些具有严格要求的时钟和I/O引脚进行约束,能够大大减轻剩余设计部分的工作。
定义这些时序约束的最轻松途径是使用 Constraints Editor。这一图形工具允许您输入时钟频率、多周期与虚假路径 (false
path) 约束、I/O 时序要求,以及大量其他澄清性要求。约束被写入一个用户约束文件 (UCF) 中,用户文件可在任何文本编辑器中进行编辑。
如果未提供用户定义的时序约束,ISE.8.1i 软件提供了一个新功能,将自动为每个内部时钟生成时序约束。在“性能评估模式 (PEM)”中,用户可以在不必提供时序目标的情况下,获得高性能的物理综合与优化效果。
运行全局优化
对于包含 IP 核或其他网表的设计,转换 (NGDBuild) 阶段后生成的 NGD 文件代表整个设计第一次被完整编译。全局优化是在7.1.01i
版本 Map中增加的一项新功能,将进行完整设计的组装,并尝试通过重新优化组合与寄存器逻辑来提高设计性能。全局优化(命令行键入 map-global_opt)可提高设计时钟频率平均
7%。
还有两个选项可以让用户在此阶段进一步控制优化的完成:一是时序调整 (map -retiming),能前后移动寄存器以平衡组合逻辑延迟;另一个是等效寄存器删除(map-equivalent_register_removal),能通过冗余功能性删除寄存器。
允许时序驱动打包与布局
时序驱动打包与布局是物理综合实现流程的核心。当用户采用时序调整这个选项 (map -timing)时,布局布线的布局阶段将在
Map 中完成,允许在初始结果未达最优时对打包决策进行重新审查。时序驱动打包迭代流程替换了无关逻辑打包(unrelated logic
packing)。
赛灵思物理综合与优化中包含不同级别的优化。第一级优化是在 ISE 6.1i 软件中引入的,从进行逻辑变换开始,其中包括扇出控制、逻辑复制、拥塞控制,以及改进的延迟估计。这些例程使设计实现了更高效的打包和布局,达到了更快的时钟频率和更高密度的逻辑利用率。
下一级增加了逻辑与寄存器优化;Map 可重新安排单元以改进关键路径延迟。这些变换为满足设计时序要求提供了极大的灵活性。这里使用了大量不同技术(包括内部引脚交换、基本单元切换以及逻辑重组)将物理单元转换成逻辑上等效的不同结构,以满足设计要求。
ISE 8.1i 软件引入了另外一级物理综合:组合逻辑优化。该-logic_opt 开关将开启一个流程,对设计中的所有组合逻辑进行检查。通过给定的布局和时序信息,用户可以对优化
LUT 结构做出更可靠的决策,以改进总体设计。
物理综合与优化示例
逻辑复制:如果一个 LUT 或触发器驱动多个负载,而这些负载中有一个或多个负载的放置位置离驱动源的距离太远而无法满足时序要求时,可以复制该
LUT 或触发器并放置在靠近该组负载的地方,从而减小布线延迟(图 1)。
图1 (略)
逻辑重组:如果关键路径跨越多个切片中的多个 LUT,可利用较少的切片对该逻辑进行重新组织,采用时序上更高效的 LUT 与多路转换器组合来降低该路径所需的布线资源(图
2)。
图2 (略)
基本单元切换:如果一项功能建立在 LUT 和多路转换器的基础上,物理综合与优化可对该功能进行重新安排,将最快的路径(一般通过多路转换器选择引脚)分配给最关键的信号(图
3)。
图3 (略)
引脚交换:LUT 的每个输入引脚可能有不同的延迟,所有 Map 拥有交换引脚(以及关联的 LUT 等式)的能力,以便将最关键的信号放置在最快的引脚上(图
4)。
图4 (略)
结论
赛灵思工具集中的物理综合与优化功能将进一步走向成熟,并随着每个软件版本的发布进行扩展。伴随效果质量的改进,用户可以期待着对优化类型的更多控制。其他计划中的强化措施还包括:在再优化阶段考虑更多设计单元(例如允许将寄存器移入和移出
I/O 块或块 RAM 和 DSP 块等专门功能),以及将布线阶段包含进物理综合迭代过程等。
赛灵思 ISE 软件中的物理综合与优化工具,能使用户在FPGA设计实施的打包和布局阶段,对 FPGA 设计的结构进行重新检查。给定的时序约束和物理版图信息,以及在映射和布局布线阶段优化综合决策,可以极大地改进设计效果。
|