[发明专利]一种快速FPGA布线方法在审
申请号: | 201611221318.8 | 申请日: | 2016-12-26 |
公开(公告)号: | CN106682306A | 公开(公告)日: | 2017-05-17 |
发明(设计)人: | 段振华;王德奎;田聪;黄伯虎;张南;王小兵 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 西安长和专利代理有限公司61227 | 代理人: | 何畏 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种快速FPGA布线方法,该方法采用新的重布线策略和波前扩展方法。该FPGA布线方法迭代地对所有线网进行布线直到找到一个合法的布线结果或者达到最大迭代次数。在每次布线迭代过程中,新的重布线策略只对非法的路径进行重布,保留合法的路径,从而减少每次布线迭代的时间。在对每一个线网漏端点进行布线时,布线树上距离目标漏端点t相对较远的节点出现在连接t的最优路径上的概率较低,因此在对波前进行初始化时只使用距离t相对较近的布线树节点,当布线树较大时,可以显著减少波前初始化的时间。本发明在保持关键路径延时和线长均有优化的前提下,明显减少了布线运行时间。 | ||
搜索关键词: | 一种 快速 fpga 布线 方法 | ||
【主权项】:
一种快速FPGA布线方法,其特征在于,该快速FPGA布线方法包括以下步骤:第一步,电路网表中每一个线网由一个源端source和多个漏端sink构成,首先为线网的每一对source和sink分配一个边界盒sink‑box,每一个sink‑box大小设置为对应的source和sink的边界盒往外扩展一个单位;第二步,初始化布线,对每一个线网的每一个漏端t,调用布线器在布线资源图上为目标漏端t寻找成本最低的一条路径;第三步,定义一个整型变量i作为线网集合N的索引,将i初始化为0,将集合SinkSet置空,从线网集合N取第1个线网N[i];第四步,检查上次迭代的线网N[i]建立的布线树RT,拆除RT上非法的路径,将这些路径上的布线资源节点的占有度减1并将对应的漏端sink添加到集合SinkSet中;第五步,对当前布线树RT重新进行时序分析,布线树根节点root的延时Tdel(root)定义为:Tdel(root)=0.5*rootC*rootR其中,rootC表示根节点root的电容,rootR表示根节点root的电阻,对于RT上的每一个节点n,该节点n的延时Tdel(n)定义为:Tdel(n)=Tdel(npre)+sT+sC*sR+0.5*nC*nR其中,npre表示节点n的前驱节点,Tdel(npre)表示npre的延时,s表示连接节点npre和n的开关,sT、sC和sR分别表示s的固有延时、电容和电阻,nC和nR分别表示节点n的电容和电阻;第六步,对SinkSet中的每一个漏端,调用布线器在布线资源图上为目标漏端t寻找成本最低的一条路径;第七步,将变量i加1,从线网集合N取第i个线网N[i],如果N[i]为空,即不存在N[i],执行第八步,否则转到第四步继续执行;第八步,检查布线结果是否存在拥挤,如果存在拥挤,则更新所有布线资源的拥挤度,转第三步继续执行;如果不存在拥挤,则布线成功,算法结束;如果布线资源图上存在节点v,其中v的occupancy的值大于capacity值,则节点v存在拥挤且布线结果不合法,v的occupancy表示节点v被使用的次数,capacity表示节点v的容量;在更新布线资源拥挤度时,节点v的当前拥挤度为:PresentCost(v)=1+pres_fac*(1+occupancy‑capacity)其中pres_fac表示当前拥挤惩罚因子,如果节点v存在拥挤,则v的历史拥挤度为:HistoryCost(v)+=hist_fac*(occupancy‑capacity)其中hist_fac表示历史拥挤惩罚因子。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611221318.8/,转载请声明来源钻瓜专利网。
- 上一篇:一种调压铸造用保温炉
- 下一篇:铝合金车轮铸造机构