论文部分内容阅读
自1984年问世以来,现场可编程门阵列(Field Programmable Gate Arrays,FPGA)已成为数字电路必不可少的实现媒介。随着FPGA被广泛应用于无线和有线通信、计算机和存储、工业、军事和航空航天、汽车、广播、医疗、测试和测量以及消费类电子等领域,FPGA厂商一直致力于设计满足各领域应用需求的FPGA芯片。如何在较短时间内设计高性能FPGA架构,保持与工艺发展同步的领先优势,是每一代FPGA芯片设计初期需要解决的关键问题。 FPGA架构指FPGA内部可编程逻辑单元和可编程互连的结构,其可抽象成一系列的架构参数。FPGA容量不断扩增的同时,FPGA架构也在逐渐演进。在最初小规模FPGA时期,设计师更多关注于逻辑单元的设计与优化。随着互连资源在大规模FPGA芯片性能中所占比重增长,设计师开始探索不同类型的互连资源开发。需要考虑的架构参数随之不断增加,构成了一个容量呈指数型增长的FPGA架构设计空间。从规模巨大的架构设计空间中高效的选择满足设计指标的优化架构是保证FPGA快速面世的关键。 本论文首先回顾了两种经典的FPGA架构优化设计方法,基于CAD工具的实验方法以及解析建模方法。从精确性和时间开销的角度,分析了上述两种方法的利弊。针对上述两种方法中存在的问题,本论文将机器学习的概念引入架构开发中,提出一种高效的FPGA架构优化方法。 首先,开发面向FPGA架构性能(包括面积、延时、面积延时积)表征的机器学习算法。基于对经典机器学习算法的调研,采用模型树算法作为基本建模算法。由于通过VTR实验方法获得FPGA架构性能时间较长,本论文采用半监督学习方法缩减建模时间。基于此,本论文开发了用于FPGA架构性能表征的半监督模型树算法(SMT)以及半监督AdaBoost模型树算法(SAMT)。SMT算法能够基于有限的获得性能的FPGA架构构建初始FPGA性能模型,然后采用半监督的方式开发未获得性能的FPGA架构精炼模型。在SMT基础上,加入电路特性作为输入构成的电路特性驱动SMT算法能够精确预测特定电路在指定架构上的实现性能,降低了SMT算法的建模时间。为进一步提高FPGA性能预测精度,进而开发了SAMT算法,通过迭代修改算法需要学习的FPGA架构样本的权值,改善FPGA架构性能模型的预测能力。上述算法能以较高精度预测未知FPGA架构性能,并且构建的显式性能模型有助于进行FPGA架构参数之间的折中设计。 然后,本论文利用所得的FPGA架构性能模型探索FPGA架构设计空间。获得的FPGA架构性能模型可以用来研究架构参数对实现性能的影响,进而指导FPGA架构设计。同时,以设计指标相关的性能模型作为目标函数,借助非线性规划方法,在FPGA架构设计空间中搜索满足设计指标约束的优化FPGA架构。本论文所述方法不限于探索传统的基于查找表(Look Up Table)结构的FPGA,利用本论文方法还可以探索新型的FPGA架构,例如基于与非锥(And-InvertorCone)结构的FPGA。 综上所述,本论文提出一种高效的FPGA架构优化方法。该方法基于半监督机器学习算法对FPGA架构性能进行建模,然后利用性能模型探索FPGA架构设计空间,获得满足设计指标的优化FPGA架构。该方法1)利用有限的获得性能的FPGA架构构建FPGA性能模型,缩短了FPGA架构设计的时间开销。2)能够精确预测未知FPGA架构性能。3)提供了显式的FPGA架构性能模型,模型提供的性能与架构参数之间的关系有助于指导FPGA架构设计。