论文部分内容阅读
FPGA工艺映射作为FPGA软件流程的前端,其算法优劣对后续装箱、布局、布线等流程有着直接的影响。将一个工艺无关的网表转换到由FPGA可编程逻辑单元组成的网表,要经过如下步骤:工艺无关的网表优化、基于分割枚举和最佳分割选取的结构化工艺映射、以及最后针对映射后的LUT网表可以进行面积再综合流程等进一步优化。上述流程里结构化工艺映射主要针对同质可编程逻辑单元的工艺映射,面对异质结构的可编程逻辑单元工艺映射问题,需要使用快速通用的布尔匹配算法来解决。本文针对工艺映射流程里的以下两方面进行研究,同时提出了相应的改进方案。1.工艺无关网表的优化。工艺无关网表的优化对工艺映射十分重要,第3章的实验结果表明,工业级AIG网表经过本文最新10输入库的压缩过后,再进行4-LUT和6-LUT工艺映射,分别可以得到45%以及37%的延时优化,比LMS得到的结果要额外高出8%以及11%。LMS基于建库的方法可以学习不同已有算法生成的结构,包括SOP-Balancing算法;然而LMS所建立的库资源消耗过大,一方面难以建立更大输入的库,另一方面难以收集更多算法生成的结构。针对此,本文提出了基于AIG结构实际使用频次的新过滤策略,以95%的使用覆盖率为例,能够有效降低库的资源开销近450倍,解决了原有算法里因资源瓶颈的关键问题;并且由于过滤策略是结果导向的,不像所以使用本文的库较LMS能够额外优化8%的时序性能。2.快速布尔匹配算法研究:布尔匹配问题是FPGA工艺映射优化算法的重要子问题,典型的运用比如LUT网表的面积再综合以及针对异质可编程逻辑单元的工艺映射。基于函数分解的布尔匹配算法欠缺灵活性,当匹配新结构时需要更改算法;而SAT-BM虽然有很好的灵活性,但是速度太慢。F-BM算法具备良好的扩展性同时兼顾了速度,但是一个9输入结构的匹配就需要消耗3GB的内存,因此F-BM不能支持更多的结构匹配,一次只能匹配一个结构,另外面对更大输入结构时,F-BM显得无能为力。为了解决这个问题,本文提出的FC-BM面对同样的9输入结构只消耗了1.4MB的内存,有效压缩空间资源消耗2000多倍,并且较F-BM可以额外获得5%的面积优化效果。