论文部分内容阅读
为了缩减FPGA和ASIC在性能、面积以及功耗方面的差距,FPGA厂商开始在FPGA中嵌入各种专用功能单元,如加法进位链、带控制信号的时序单元、嵌入式存储器(RAM)以及数字信号处理器(DSP)等硬专用功能模块,形成了异质结构的FPGA。异构FPGA的出现,拓宽了FPGA的应用领域,但同时也给CAD工具带来了新的挑战。工艺映射作为CAD设计中的关键步骤之一,实现了与工艺无关的抽象描述到FPGA库单元描述的转换,它的结果严重影响最终实现电路的质量。为此本课题面向现代异构FPGA的工艺映射进行研究,旨在实现异构FPGA工艺映射,并改善映射结果性能和提高专用功能模块的利用率。
本文提出了二级映射方法TLRMap(TWO level RTL,mapping)实现异构FPGA的工艺映射。首先对初始RTL网表进行预映射标记,最后在工艺约束下,利用自定义标记锥实现LUT和专用功能模块的映射。在工艺约束映射阶段,采用了异构FPGA面积和时间延迟模型,实现对异构映射结果的正确评估:对层次网表中映射标记的RTL,单元采用层次映射方法,实现在LUT映射和专用功能模块映射之间进行动态选择,寻找最优的映射结果。实验结果表明,TLRMap比ABC黑盒子算法面积优化15%,时间延迟优化4%。
针对TLRMap映射时,不打破实现专用功能和查找表功能的子网表之间的层次边界,因而缩小了映射的优化空间。为此本文提出了利用区域重组打破单元间层次边界的异构FPGA工艺映射算法RRMap(Regional regroup mapping)。RRMap在实现专用功能单元映射时,打破专用功能单元和查找表之间的层次边界,减小了映射结果的面积和延迟开销。考虑到用户设计电路中专用功能模块的输入输出一般需要寄存,本文提出通过移动专用单元临近的寄存器,从而可以扩大区域重组空间。实现结果表明,与TLRMap相比,RRMap能平均减少面积5%,关键路径延迟减少4%。
基于规则识别和提取的时序单元映射,造成不能充分利用同步时序单元中的控制功能,浪费了FPGA的资源。为此本文提出了一种提高FPGA同步时序单元利用率的工艺映射算法ConsMap(Control sequential mapping)。ConsMap首先利用割枚举时序单元前驱的k约束子网表;接着利用结构和布尔匹配的混合匹配方法去匹配这些子网表,从而得到满足条件的子网表,及其对应配置集:最后再利用代价函数选择能使目标最优的配置集,平衡了映射结果的面积收益和时序单元控制信号的数量。实验结果表明,ConSMap映射结果和Quartus相当,比Pcuts算法映射结果减少面积14.4%。