论文部分内容阅读
现场可编程门阵列(Field Programmable Gate Arrays,FPGAs)主要由可编程逻辑块、可编程互连以及可编程输入/输出模块组成。其中,可编程互连实现可编程逻辑块之间、可编程逻辑块与可编程输入/输出模块之间的信号通信。它占据了FPGA芯片大部分的面积、延时、功耗,其拓扑结构及电路结构的优化设计对芯片性能来说至关重要。
可编程互连主要包括互连线段、连线连接盒和连线开关盒。其中,互连线段传输信号,连线连接盒实现互连线段与可编程逻辑块的通信,连线开关盒将互连线段连接起来。本论文致力于对这三部分的优化设计方法的研究,以解决FPGA芯片结构设计中的关键问题。
在调研分析的基础上,本论文采用了软件评价为主,芯片测试为辅的原则来对提出的优化方法进行评价。为此,本文首先搭建了用于FPGA结构评价的软件平台。该软件平台通过对典型应用电路在一种FPGA结构上实现结果的评价,来判断该结构是否满足设计要求。在对已有装箱、布局布线软件T-VPACK和VPR进行功能扩展的基础上,开发出ET-VPACK和EVPR,并将二者整合在一起,构成对FPGA结构评价的完整流程。所开发的结构评价软件具备参数化、可扩展性,与目前主流的FPGA结构相一致,且具备多种结果统计功能,能够对论文中所提出的结构进行延时、面积、布通率等的评价。
连线连接盒的拓扑结构设计是FPGA互连结构设计中的重要部分。本论文提出一种适用于任意可编程开关比例的基于信息熵优化的连线连接盒拓扑结构设计方法。首先提出一种新颖的按列移行方法,用于给出特定约束下可编程开关的初始布局;然后以可编程开关在可编程逻辑块输入引脚上分布的最大信息熵为优化目标,利用模拟退火算法得到优化的连线连接盒结构。实验结果表明,与其他方法相比,信息熵法提高了近8%的布通率,并降低了2%~6%的面积延时积。
连线开关盒中采用的开关结构决定了其驱动的互连线段的结构。本论文通过对双向连线开关盒和单向连线开关盒在面积、布通率等方面的比较,确定采用单向连线开关盒作为本论文采用的连线开关盒结构。相应的,其所驱动的互连线段也为单向结构。单驱动电路和多驱动电路是FPGA中单向连线开关盒的两种实现形式。本论文讨论了二者在不同互连线段长度下的布通率、版图面积、延时等方面的差异,以及它们各自对互连结构的约束条件。
在对单驱动电路和多驱动电路深入分析的基础上,本论文提出在互连结构中将两种实现形式进行组合。并给出一种有效的结构设计方法,通过两级优化得到特定优化目标下对应的最优互连线段长度组合方式以及互连实现形式组合方式。与其他结构相比,使用本论文方法以面积延时积为优化目标所得到的互连结构,改进了57%~86%的面积延时积。具体的,该结构包含50%长度为6的单驱动电路,25%长度为8的多驱动电路和25%长度为8的单驱动电路。
基于以上所提出的针对连线连接盒拓扑结构设计、连线开关盒电路结构设计、互连线段长度分布设计的优化方法,在FPGA芯片上进行了设计实现。芯片的测试结果进一步验证了本论文所提出的设计方法的有效性。