FPGA(现场可编程门阵列)是一种可以通过用户自定义编程来配置其逻辑功能的集成电路。岛式FPGA是一种常见布局,其内部由多个逻辑单元块(Tile)组成,这些单元块被分布在FPGA芯片上,并通过可编程的互连资源连接起来,以实现用户定义的电路功能。布局布线作为FPGA设计流程中的重要步骤,其目的是确定逻辑单元块在芯片上的具体位置以及它们之间的连接路径。布局的目标是尽可能地将相互连接的逻辑单元块放置在一起,以减少所需的布线资源,同时也需要在减少布线资源使用和提高电路速度之间取得平衡。为了实现高效的布局布线,研究者和工程师们开发了各种工具和算法。
在本研究中,针对岛式FPGA芯片VS1000的架构,开发了名为VA的布局布线工具。该工具在传统布局布线工具VPR(Versatile Place and Route)的基础上做了两方面改进。研究者们在传统布线算法的布线资源图基础上增加了全局信号布线资源图,并完成了对全局信号的布线。全局信号通常包含时钟信号、复位信号等在FPGA内部全局使用的信号,它们对时序要求较高。通过将全局信号布线独立出来,不仅可以减少全局信号的相对延时,还可以节省通用布线资源,提高整体电路性能。研究者提出了两种新的布线顺序:高扇出线网优先和高关键度线网优先。扇出指一个逻辑单元输出连接到多个其他逻辑单元输入的个数,而关键度是指信号在电路中延迟对整体电路性能影响的度量。根据信号的扇出大小和关键度高低,将线网按照不同的优先级进行布线,可以在一定程度上减少迭代次数和关键路径延时,提高布线效率。
实验结果表明,对于标准测试电路,使用高扇出优先的布线顺序可以平均减少21.8次的迭代次数,而使用高关键度优先的布线顺序可以平均减少22.3的关键路径延时。这些改进显著提高了布线效率,并且有助于提升整体电路的性能和稳定性。
除了上述改进,文章还介绍了一种基于SOI(绝缘体上硅)工艺的辐射加固型FPGA芯片VS1000的结构。FPGA芯片架构一般包括逻辑单元阵列、可编程输入输出单元块(IO Block)阵列以及全局信号单元块(Global Signal Block)。逻辑单元块是构成FPGA的基本单元,通常每个逻辑单元块内部包含可编程的查找表(LUT)、寄存器等基本电路组件。IO Block则负责实现FPGA与外部电路的接口,而Global Signal Block用于管理全局信号的分布。在FPGA芯片设计中,这些结构的设计和布局对芯片的性能有直接影响,因此优化布局布线算法对于提升FPGA性能至关重要。
文章使用C语言在Windows VC2008平台上开发了专门的布局布线工具VA,这个工具在FPGA设计的硬件开发中起到关键作用。通过上述改进,研究者们能够更高效地管理FPGA内部的布线资源,优化信号的传播路径,从而在现代电子系统中实现复杂电路的高性能实现。这些研究成果对于FPGA硬件技术的发展以及硬件开发工程师具有重要的参考和指导意义。