论文部分内容阅读
FPGA设计包括了芯片硬件结构设计及其配套软件系统设计两大部分,其中软件系统设计需要与芯片硬件结构相匹配。由于FPGA结构的多样性,往往每开发出一款FPGA芯片,其配套的软件系统需要经过重新开发,这对FPGA的生产和研究带来极大地限制。因此通用性对于一个FPGA软件流程来说十分必要。工艺映射是FPGA软件流程中的一个重要部分,而装箱是工艺映射的组成部分,在很多情况下等同于工艺映射。由于装箱过程和FPGA结构紧密相关,如何使装箱算法能够应用于多种不同结构的FPGA中,这是需要解决的问题。国内外关于通用FPGA装箱算法多是基于图匹配的方法来保证算法的通用性,如PLBMAP[1]算法,在面积优化和算法复杂度优化方面都取得了一定的突破。但随着FPGA规模越来越大,时序取代面积成为制约电路性能的头号要素时,使用PLBMAP得到的性能并不十分理想。本文在前人的基础上进行了进一步研究,提出了一种时序优化的通用FPGA装箱算法TDU-Pack。该算法通过针对现代主流FPGA逻辑单元结构特征进行共性分析,采用对FPGA结构进行建模的方法,可以应用在不同的FPGA结构中,因而具有广泛的适应性。TDU-Pack算法以时序作为优化目标,首先对用户电路进行简单的时序分析获得时序信息,然后通过计算节点间的时序关键度来指导装箱过程。实验证明,该算法不仅可以应用于学术FPGA结构和多种商用FPGA结构中,并表现出来超越PLBMAP的性能。另外,TDU-Pack在学术FPGA结构上表现出堪比T-VPack算法的性能,商用FPGA结构上表现出可比拟专业FPGA映射算法的性能。这是在通用FPGA装箱算法上的进一步深入研究。