其他布线问题-与非网-EEFOCUS.PPT

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
版图基本数据结构 链表结构(Linked List) 占用空间小,适合存放静态数据 不显式表达空间区域,查找较慢 四叉树(Quad Tree) 分区管理,查找时间快,适合实图形的查询和编辑 不适合推移、压缩等针对空区域的操作 角钩链(Corner Stitching) 适合推移、压缩和通道生成等操作 版图基本数据结构 自动布局规划问题 将若干电路模块放置在电路的适当位置上,并满足一定的目标函数和限制条件。 目标函数主要包括: 芯片面积 宽长比 线网长度 布线拥挤度(Congestion) 目标函数可进行归一化加权处理 布局中的线长估计 边界框(Bounding-Box) 包含线网内所有引脚(Pin)的最小矩形 计算简单快速,但误差较大 Steiner最小树(SMT) 线长最小,估计精确,但生成复杂,计算量大 单树干Steiner树 树干位置是所有引脚的X(或者Y)坐标的平均值,然后从所有引脚向树干做垂线 兼顾精度和计算量 布局中的布线拥挤度问题 布局限制条件 限制条件主要有: 相邻(Adjacency) 对称(Symmetry) 边界条件(Boundary) 匹配(Matching) 更复杂的布局问题 预设障碍布局 多边形模块布局 软模块布局 器件匹配(Matching) CMOS器件的random mismatch计算公式: 匹配模式(Interdigitate) 匹配模式(Common-Centroid) 布局问题实例(部分) 布局拓扑表示应考虑的因素 完备性–对每个布局方案都有相应的拓扑表示存在,确保搜索时不会漏掉最优解 有效性–每个布局方案的拓扑表示应尽量少,避免浪费时间试探多个等价的拓扑结构 独立性–拓扑表示应独立于模块的尺寸 高效性–从拓扑表示到布局方案的转换效率高 简洁性–拓扑表示应尽量占用较少的存储空间 布局方案的拓扑表示方法 Slicing结构 数据表示方便 计算复杂度低 解决问题有局限性 Slicing结构 可以用二叉树和波兰表达式表示 下图的波兰表达式为:FE+BA+C*+GH*D+* 由+、*符号可以得到模块间的拓扑关系,+表示上下,*表示左右 Non-Slicing结构 序列对(Sequence Pair)模型 由两组序列表?+(左上至右下)和?-(左下至右上)确定布局方案 搜索空间O(n!2) ,转换效率O(n2) Non-Slicing结构 O-Tree模型 只能表示LB-compact的布局 精确的布图规划拓扑结构依赖于模块的形状 搜索空间O(n!22n-2/n1.5) ,转换效率O(n) Non-Slicing结构 角模块表(Corner Block List)模型 由三个数据表构成 S:名字列表,记录模块名字和几何信息 L:方向列表,以0/1表示相对前一个模块,当前模块的相对位置,0表示在上方,左边对齐;1表示在右方,底边对齐。 T:修正列表,改变L List中所相对的模块,以数字(不小于0)表示当前模块位置的修正次数。L值为0时,向左修正;L值为1时,向下修正。 搜索空间O(n!23n-3/n1.5) ,转换效率O(n) Non-Slicing结构 产生布局方案新解 以角模块表为例,可以使用的手段包括: 交换S列表中任意两个模块的位置 旋转S列表中某个模块的方向 改变L列表中的某个位置的值(0→1或者1→0) 改变T列表中的某个位置的值 布局优化算法(模拟退火) Algorithm SIMULATED_ANNEALING begin temp = INIT_TEMP; place = INIT_PLACEMENT; while (temp FINAL_TEMP) do while (inner_loop_criterion = FALSE) do new_place = PERTURB(place); ?C = COST(new_place) - COST(place); if (?C 0) then place = new_place; else if (RANDOM(0, 1) e-?C/temp) then place = new_place; temp = SCHEDULE(temp); end; 布局优化算法(模拟退火) 来源于冶炼加工中的固体退火原理 可以从局部优化解中解脱出来 在有限的时间内只能得到近似最优解 求解质量受降温方案(Cooling Schedule)影响 版图自动布线 实现策略 直接区域布线 总体布线 + 详细布线 数据结构 网格布线 无

您可能关注的文档

文档评论(0)

suijiazhuang1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档