论文部分内容阅读
传统的FPGA工艺映射是将门级网表转换成LUT(FPGA基本片上物理资源)级网表的过程。在实际的设计中,对于一个电路设计,为了保证最后电路的质量,工艺映射往往会被迭代多次。因此,随着近代FPGA设计复杂程度的增加,传统的流程是非常耗时的。 现今,随着多核处理器被越来越广泛地应用,不同领域中许多复杂的计算过程都被并行化,以达到缩短运行时间的目的。因此,将多核并行化技术用于FPGA开发流程有着非常好的应用前景。在之前的研究中,已经提出了许多并行化工艺映射的方法和技术,并且都有着不错的效果。然而,大多数的并行化方法都是代码层面的实现,即针对特定的工艺映射算法进行并行化处理。因此,一旦工艺映射的算法改变或者软件中工艺映射的引擎变换升级,原有的并行化便失去作用。本研究提出了一种全新的基于电路网表切分的方法流程来实现工艺映射的并行化。它不依赖于具体的工艺映射算法。因为工艺映射算法的内部优化具有全局性,当原网表被切分为若干子网表时,不但网表的结构被改变了,对于子网表的映射的优化程度也不及直接作用于原网表的方法。因此,在大多数情况下,对于最后由经过映射的子网表合并成的输出网表,其所代表电路的质量是不如直接映射得到的电路的。因此,在本研究提出的方法中,设计了诸多切分算法以最小化最终电路的质量损失。 本论文中提出的流程主要包括三个步骤:切分,映射以及补偿。切分步骤中,提出了包括基于扇出的切分,基于时序的切分,以关键路径为核心的切分,,基于Hmetis算法的切分以及改进型以关键路径为核心的切分。并且,为了更进一步减小最终电路的质量损失,提出了补偿的概念。新流程被集成至了工业级工艺映射系统中,新算法在4核处理器上对工艺映射的加速效果平均达到了1.6倍。同时它对电路的LUT数量和关键路径几乎没有影响。