发明名称 一种实现现场可编程门阵列快速布局布线的方法
摘要 本发明公开了一种实现现场可编程门阵列快速布局布线的方法,将退火函数应用于现场可编程门阵列FPGA布局的温度更新;采用了重复退火过程,得到每一次退火过程所能找到的最好解current_best,然后进行下一次退火过程;采用了考虑负载平衡的初始化布线方法,假设P为处理器个数,则创建P个线程,并将芯片分为P个区域,将信号分区域地划分到每个线程的任务集;采用了多线程并行执行布线迭代,P个线程根据并行化的A*寻址算法并发地为各自任务集中每个信号寻找当前最合适的路径进行布线;采用重布线拥挤信号的方法,完成一次布线迭代。本发明实现了对布线过程的加速,使得最终电路的延时和线长两个重要性能指标基本不变的情况下,布局布线速度有了显著加快。
申请公布号 CN103886137A 申请公布日期 2014.06.25
申请号 CN201410074915.7 申请日期 2014.03.03
申请人 西安电子科技大学 发明人 段振华;周文豪;黄伯虎;田聪;张南;王小兵
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京科亿知识产权代理事务所(普通合伙) 11350 代理人 汤东凤
主权项 一种实现现场可编程门阵列快速布局布线的方法,其特征在于,该实现现场可编程门阵列快速布局布线的方法具体步骤为:第一步,将电路中每一个可配置逻辑单元CLB、I/O单元、异构模块等单元随机地放置到现场可编程门阵列芯片内部物理位置,得到一个初始布局;第二步,计算初始温度T<sub>0</sub>;第三步,布局迭代;第四步,局部优化布局;第五步,如果累计第三步中对步骤一至步骤三过程迭代总次数超过TAS,则输出当前最优布局并转第六步进行布线;否则令当前温度T为前一次执行第三步过程中新布局的接受率第一次低于44%时的温度,转第三步开始重复退火;第六步,布线初始化;第七步,为每个线程划分任务集,假设处理器个数为P,则创建P个线程,并且为每个线程Thd[i]创建任务集SigSet[i],i∈{1,2,…,P};将布线资源图RG划分为P个大小相等的不交叉区域,对于每个信号,如果落入区域i的目标节点sink个数越多,就将分给区域i对应的任务集SigSet[i],i∈{1,2,…,P},并保证每个任务集内的sink总数一样多;第八步,对每个线程任务集SigSet[i]中所有信号按照sink个数从多到少排列;第九步,启动P个线程,P个线程并行执行第十步;第十步,并行布线迭代;第十一步,同步P个线程,即等待每个线程都执行完第十步;由主线程检查整个电路的布线是否合法,如果布线合法,即没有重复被占用的布线资源节点,则转第十四步;否则,对所有重复被占用的布线资源节点的历史占用度加1,并且加大拥挤惩罚度,进行时序分析,转第十二步;第十二步,主线程重新布线拥挤的信号;第十三步,检查整个电路的布线是否合法,如果布线合法,则转第十四步;否则如果布线迭代次数不超过指定值Max,则进行时序分析并转第十步执行下一次布线迭代,否则转第十四步;第十四步,将其余P‑1个线程合并到主线程,输出布线结果并退出布线。
地址 710071 陕西省西安市太白南路2号西安电子科技大学