论文部分内容阅读
本论文包含两部分内容,用于现场可编程门阵列(FPGA)的多层次集成设计系统的设计与实现以及RTL综合器中重综合算法的研究与实现。
本论文第1部分介绍一种用于FPGA的多层次集成设计系统的设计与实现。
当前,我国所采用的FPGA芯片基本依赖于进口,受制于国外巨头公司的垄断,在芯片型号和封装类型等方面都受到很多限制,成本压力很大,在国防战略安全方面也有很大的风险。与ASIC不同,FPGA产品不仅包含FPGA芯片,还必须提供配套的EDA软件才能使用。因此研发具有自主知识产权的FPGA芯片及其配套的EDA工具具有重要意义,也已成为一个迫在眉睫的问题。目前,各大EDA工具供应商分别推出了集成众多工具在内的一体化设计工具,但是这些集成开发平台都侧重在FPGA的开发应用,不具备用户自主设计FPGA芯片的功能。
为此,本论文设计实现出一套用于FPGA的多层次集成设计系统VDS(VersatileDesign System)。该系统包括高度集成的设计开发环境和FPGA芯片级、电路级到系统级的设计与验证工具,为设计、应用和验证自主研发的FPGA芯片提供了一个有效平台。
VDS充分利用Python语言的动态特性,软件架构灵活、易于扩充,可以实现不同集成层次设计系统的快速定制。VDS的显著特点在于提供了全芯片自动生成功能,使用户能根据自身需要灵活控制芯片的规模和功能,快速开发一系列的适应不同应用的FPGA。借助VDS能成功设计出FPGA芯片,通过对FPGA进行电路设计以及对芯片和应用进行仿真与验证,证明了VDS的有效性和正确性。
本论文第2部分主要介绍RTL综合器中重综合算法的研究与实现。
RTL综合是FPGA设计流程中非常重要的一环。由于HDL代码的多样性,RTL综合的质量对芯片成本和最终设计性能的影响非常大。重综合是一项重写(rewrite)电路结构的技术,它可以在不改变电路功能的情况下有效的减小面积或延时,是RTL综合中非常重要的一个步骤。
当前大多数商用FPGA的可配置逻辑块(CLB)结构在查找表(LUT)的基础上增加了很多辅助逻辑资源,而传统的LUT基工艺映射算法无法充分利用这些资源。为此,本论文提出一种基于香农展开式和不相交支持集分解(DSD)算法相结合的布尔匹配方法,并将其应用于工艺映射后的重综合中,使用该方法对工艺映射后网表中的宽函数进行布尔匹配,使其在目标FPGA结构上重新实现,从而达到充分利用所有逻辑资源和减少LUT数的目的。实验结果表明,该方法能在不增加电路关键路径延时的基础上,对学术界综合工具ABC工艺映射之后的4-LUT和6-LUT网表分别能够节省7.9%和7.8%的面积开销。
在算法实现的基础上,本论文进一步完成了综合实用化的工作实现。一是ABC集成,将开源综合工具ABC以静态库的形式嵌入到本课题的RTL综合器中,并实现了ABC与本课题RTL综合器中UDM数据结构之间的数据结构转换;二是综合可视化,将本课题RTL综合器中的SDB数据结构转换成图形文件,实现了综合结果的图形化输出。