论文部分内容阅读
现场可编程门阵列(FPGA)能够减少电子系统的开发风险和开发成本,缩短上市时间,降低维护升级成本,故广泛地应用在电子系统中。随着半导体集成电路规模的不断扩大,FPGA的发展有二个趋势:一是由单一的通用的可编程逻辑器件逐渐发展为多种面向不同应用领域的专用逻辑器件;二是作为可编程IP核嵌入到片上系统(SOC)中,成为SOPC的一部分。这种发展趋势使得FPGA的结构比传统上有了很大变化,也更加复杂。
FPGA结构的复杂和多变性,迫切需要一套对广泛范围里的不同结构FPGA都能够运行的CAD系统。通过在该CAD系统上运行特定应用领域的大量网表,模拟出电路在不同结构FPGA中实现时的性能参数,从而指导FPGA结构的选用、改进和设计,这就是本论文所在的课题项目FPGACAD模拟系统。该软件系统对通用度(即所能处理的FPGA结构的范围)有非常高的要求。
本论文的工作是在FPGACAD模拟系统中负责逻辑映射模块的设计。本文建立了一种FPGA逻辑块结构模型FDULB,用可量化参数、数学矩阵和有向图分别描述逻辑块和逻辑单元的输入输出、局部互连开关矩阵和逻辑单元的电路结构。本文提出了逻辑单元的功能电路的概念以及用功能电路来描述逻辑单元所能实现的逻辑功能的思想,并给出了从逻辑块结构模型生成逻辑单元的功能电路集的算法FCGen。基于逻辑单元的功能描述(功能电路集),本文提出了适用于FDULB模型的逻辑单元映射算法FDUMap。FDUMap的输入项是基本元件级的用户电路以及逻辑单元的多个功能电路。FDUMap的核心思想是在用户电路中依次匹配逻辑单元的每个功能电路,因此归结为两电路匹配问题。将电路抽象成有向图的数学模型后,采用了子图同构算法实现电路匹配。本文还在结构参数和局部互连开关矩阵的连通度两方面改进了已有的适用于学术界Cluster结构模型的装箱算法,得到了适用于FDULB模型的逻辑单元装箱算法FDUPack,算法核心是在考虑各类约束条件下采用贪婪算法将逻辑单元装箱到层次逻辑块中。
FDULB模型,比学术界已有的两种逻辑块结构模型更加通用。FCGen算法成为分析逻辑单元的功能的好方法。经实验表明,适用于FDULB模型的FDUMap和FDUPack算法,与适用于原有的逻辑块结构模型的几种逻辑映射算法相比,在性能上基本相当,但是在通用度上却大大提高。最终,本文完成了FPGACAD模拟系统中的逻辑映射模块的流程和设计要求。