论文部分内容阅读
近几年来,现场可编程门阵列(FPGA)已经被越来越广泛的应用于数字系统的设计中,其市场份额持续增长。相对于专用集成电路(ASIC),FPGA能够减少研发成本,缩短上市周期。此外,目前FPGA的性能和容量已经可以满足很多高端的需求,尤其是随着内嵌乘法器、存储器、处理器等硬件功能模块的复合型FPGA的出现,使得FPGA处理高速运算的能力比最快的DSP还要快数倍。我国目前采用的FPGA芯片大多需要从国外进口,因此设计开发具有自主知识产权的FPGA及其计算机辅助设计软件具有重要的意义。
本文的主要工作是为一款具有完全自主知识产权的复合型FPGA开发专用综合工具,能够实现将硬件描述语言表述的输入电路综合转化成为面向FPGA硬件结构的电路网表,这是整个FPGA CAD流程中十分重要的一环,与FPGA的硬件结构设计是相互影响的。
本文首先介绍了Verilog HDL解析器的设计,采用了基于词法分析和语法分析工具的开源解析器Icarus,并在其基础上根据实际要求做出了修改,实现了对IEEE Verilog HDL1364-2001标准中可综合子集的解析。随后,针对解析后特殊的数据结构,本文提出了将二叉树转换为一般树,基于子树合并和树匹配来实现综合过程中常量合并和公共子表达式消减。接下来,对结构级电路网表进行划分,采用学术界优秀的综合映射算法库ABC对布尔网络进行了优化。
本文采用Priority Cut算法完成了布尔网络的初级工艺映射,实现了电路面积和延迟的双重优化,并极大的降低了程序的时间复杂度和空间复杂度。
本文自主开发了Merge算法,基于最大基数匹配并且根据FPGA逻辑单元结构实现了LUT的合并。实验表明,在保证电路时序性能的前提下,Merge算法减少了逻辑单元的数目,平均面积优化率达到15.7%。
最后,开发完成了面向特殊FPGA硬件结构的工艺映射,包括逻辑单元中的进位链结构、嵌入式硬件乘法器和存储器等,并在映射的过程中成功的利用FPGA硬件结构完成了电路优化。