论文部分内容阅读
随着技术的发展,FPGA电路设计已经从最初的几百个逻辑元件发展到如今几万甚至几十万的规模。使得芯片的复杂性日益增加的同时,也给FPGA设计的EDA工具提出了更高的要求。布局作为FPGA自动化设计中极为关键的一环,它确定逻辑元件在FPGA芯片上实际的物理位置。布局的结果将在很大程度上影响电路设计的整体性能。为了获得更优的电路性能,经典的布局算法多是以最短线长为优化目标。然而,通过减少互连线的总线长来提升电路性能的方法并不理想。相比之下,基于时序驱动的布局算法,以最小时延为其优化目标,通过时序分析直接得到电路设计中的时序信息,可以更有针对性的减少设计中的时延大小,从而更好的提升电路的整体性能。本文主要的研究内容便是时序驱动的FPGA布局算法研究。研究了时序驱动的FPGA布局算法对电路性能的优化,并将该算法运用于实际电路设计中,使得电路设计具备较优的电路性能。本文考虑到布局算法的运行时间及布局质量,对目前主流的FPGA布局算法进行详细的分析与比较。由于力引导的布局算法有着布局质量高,运行速度快的优点,因此本文将基于力引导的算法进行研究。其次,考虑到FPGA电路设计的整体性能,以时序驱动为布局算法的优化目标。通过将时序驱动运用于力引导的布局算法,来完成对时序驱动的FPGA布局算法研究。本文从时序驱动的实现原理和过程出发,对静态时序分析的实现进行了研究。并基于实际的电路设计中的关键路径,对线网的关键路径的各项参数进行了分析。同时,基于FPGA自动化设计工具,对时序约束的设计以及时序约束对布局结果的影响进行了研究。并从整个布局的角度,分析了时序驱动对电路设计进行时序优化的过程。最后本文从时序驱动的FPGA布局算法的实现过程出发,通过全局布局和局部布局两个过程进行时序驱动的布局算法研究。其中,在全局布局中,对力引导的布局算法进行改善,通过时序分析对电路线网的权重进行更新,从而达到时序驱动的效果。在局部布局中,以全局布局的结果为基础,通过区域遍历和时序分析的方法,去除布局结果中逻辑元件的重叠,并对电路的时序进一步优化。从而提升电路整体性能。