论文部分内容阅读
摘要:现场可编程门阵列(FPGA)自1984年问世以来发展迅速,目前已经成为数字集成电路设计领域的一种最为普遍的实现途径。其特有的可编程性大大简化了传统数字电路的设计过程,可以毫不夸张的说通过适当的编程可以实现任何数字器件的功能,上至高性能的CPU,下至简单的74电路。FPGA的设计需要有配套的EDA软件工具为支撑,随着电路规模不断增大,对软件算法的要求也越来越高。通用布局布线工具(VPR)是Jonathan Rose等人联合开发的,被广泛应用于学术界研究不同架构FPGA的布局布线过程。VPR安装方便并且具有图形化操作界面,但是对于一个大规模电路来说布局布线速度显得很慢,如何提高速度是本文研究的重点。本文以VPR为研究对象与实验平台,介绍了布局布线所需要的FPGA结构描述文件、布线资源图以及如何自动化生成参数化结构。通过深入研究VPR布局布线算法,对原有算法做了以下四项改进:第一,对布局准备阶段中用于确定FPGA尺寸的二分查找法进行改进,主要是消除开始与结尾部分的重复查找来减少查找次数提高速率。实验结果表明,改进后的算法节省了三分之一的查找次数;第二,VPR布局算法以经典的模拟退火算法为基础,本文在原有模拟退火算法的基础上加入了回火算法,即在退火降温过程中加入回火升温过程,试图寻找可能被遗漏的最优解。文中共进行了五组实验,实验结果表明,加入回火算法后大大减少了布局消耗的时间,并且仍然能够保证良好的布局质量,五组实验中全程回火0.1最优;第三,VPR布线器使用路径搜索算法,该算法具有很强的顺序性,不同的布线顺序导致不同的布线结果。文中在原算法的基础上加入线网扇出排序算法,即将各线网按照扇出进行排序,布线顺序分别按照扇出数递增和递减两种排序方式进行实验,实验结果表明,使用递减序列节省了四分之一的布线时间,而使用递增序列布线时间有所增加,这与预期结果相吻合,同时证明了递减序列的优越性;第四,布线以布局为前提,布局以布线为目的,两者紧密联系,所以文章最后将布局与布线两方面的改进(之前的改进是单独进行的)结合起来,实验结果表明,全程回火0.1与线网降序排列法最佳。上述四种改进使FPGA布局布线速度得到了一定程度的改善。