- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可布性驱动FPGA总体布局优化算法
可布性驱动FPGA总体布局优化算法 摘要 自从FPGA问世以来,FPGA布局研究一直是设计自动化研究领域的热点,传统FPGA布局一般要求芯片连线总长最短、芯片面?e最小。随着 IC工艺技术的飞速发展,可布性研究越来越受到关注。而拥挤度是衡量可布性的重要指标,布线中拥挤的出现往往来源于布局不合理,因此需要在布局阶段就考虑可布性。提出了一种考虑水平和垂直溢出的可布性驱动的线长模型,将其与解析式布局的目标函数相结合,以优化布线拥挤和线长,减少运算的复杂度。实验证明,相比FPGA解析式布局算法,线长和拥挤度都有了很大改进
关键词 FPGA;可布性;拥挤度;总体布局
DOI DOI: 10.11907/rjdk.162490
中图分类号: TP312
文献标识码: A 文章编号 文章编号:2017)002004803
0 引言
随着时代的发展,专用集成电路(ASIC)已远远不能满足用户需求,因而更多的研究者将目光转向了半定制设计模式的器件,成为近期用途最广泛的一种可编程逻辑器件。FPGA(现场可编程门阵列)凭借着灵活性、高集成度、低功耗等特点备受设计人员的瞩目。FPGA通常包含3类可编程资源:二维的可编程逻辑模块(Configuration logic blocks,CLB)、外围的输入输出模块(I/O Blocks,IOB)和可编程互联线资源(Interconnection Resource,IR)
近年来,FPGA的结构也层出不穷,下列是几种用途比较广泛的结构:对称式、基于行结构、门海式及层次式等。对称型结构,又称为孤岛型结构,是用途最广泛的一种结构。岛型 FPGA 包含了行排和列排的逻辑单元 CLB,水平和垂直的布线通道包含不同长度的布线段。逻辑单元的引脚通过连接盒(Connection Box)连接到水平盒垂直布线通道中的线段上,这些线段再通过开关盒(Switch Box)以一定的方式互相连接
在FPGA整体设计过程中,布局和布线是非常重要的两大部分,在布线阶段不能实现100%的布通率,需要返回去重新布局,直到完全可布,往返的过程会大大增加设计时间。因此,在布局阶段关注可布性,能够极大提高FPGA的设计效率。本文研究的重点就是在FPGA布局过程中让可布性问题得到更好的解决
1 布局器介绍
本文的可布性优化策略均在解析式布局器[1]的基础上进行实验。使用最小线长目标,同时尽量减少模块间的重叠。问题表达为:
其中,HPWL(x,y)是所有模块总的半周长,Db(x,y)是密度公式,Mb是期望得到的每个网格里的平均密度。线长和密度公式都不可微,因此首先要对这两个函数进行平滑转换
使用log-sum-exp方法来近似式(1)中非线性半周长线长
采用钟形公式[3]来模拟密度部分:
用惩罚函数方法将线长目标和密度约束连接起来,这样,有限制的最优化问题就转化成为一个无约束的优化问题:
最后采用共轭梯度法进行求解
2 基于线长模型的可布性优化算法
可布性驱动的FPGA布局算法有3方面的核心技术[2]:可布性评价标准、可布性预测和可布性优化
2.1 可布性评价标准
可布性评价就是当布局完成后进行总体布线,然后根据总体布线结果评价布局结果的可布性。目前最常用的方法就是结合总线长和总体布线的拥挤度作为可布性的评价标准
在岛型结构上实现布局算法,就是对CLBs进行放置以后,为了能够将电路芯片进行合理的连接运行,这需要了解开关盒资源的利用情况,因此拥挤度的研究将集中在开关盒(Switch Box)上。布线资源Se是一个固定值,根据芯片的技术参数如可用的布线层数、每一层的走线方向以及开关盒的尺寸来进行计算。布线需求De是穿过边开关盒线网的总数。当且仅当De大于Se时 ,即开关盒的布线资源使用量超出布线资源拥有量时,就出现布线拥挤的情况,此时布线溢出量(Overflow)大于零。对于一块FPGA芯片而言,总的布线溢出量可以用来评价一个已知布局的拥挤度情况
2.2 可布性预测
可布性预测采用布线估计模型设计,布线估算模型主要分为两类:脱离线网拓扑结构模型(Topology-Free Modeling)和基于线网拓扑结构模型(Topology-Based Modeling)
基于拓扑结构的布线模型一般采用斯坦纳树(Steiner Tree)结构对每个线网进行布线需求建模。但是在布线过程中,对网表中所有的线网建立ST树是一个较为复杂的过程。同时,每次布局更新操作中,布线路径都会发生变化,因此需要重新进行ST树的建立,这样将会引发大量的计算,因此该模型时间代价较高。先对部分网格预先计算好斯坦纳树,然后在布局过程中利用这些数据,这种
文档评论(0)