489315174的个人空间 https://blog.eetop.cn/carlliu [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

装箱算法在版图设计上的应用

已有 69 次阅读| 2024-10-29 20:27 |个人分类:日记|系统分类:芯片设计| Python, 版图

装箱问题是一个经典的组合优化问题。简单地说,装箱问题就是将若干不同尺寸的物体互不重叠地放入有一定容量的箱子中以达到某种最佳目标。

二维的装箱问题恰恰跟我们版图工作中面积评估这类场景非常的类似。如已知各cell的大小或者底层instance level的大概大小,那么就可以利用此类算法估算最小占比的面积。如果需要加space 冗余,可以程序中size 给定的大小快速生成新的布局。

装箱的算法网上可以找到很多(禁忌搜索、蚁群算法、遗传算法和迭代局部搜索算法)。此处不介绍(看不懂),感兴趣的可以网上找找。这里发挥拿来主义,使用python 既有的包。直接使用。

下面是基于Custom Compiler设计平台Python接口做了一个简单的示例。用给定宽长模拟实际的Instance大小。对于python 脚本贴到console中注意选择Python类型,CC 同时支持tcl 和Python。变量rectangles对应的列表为需要摆放的object的大小(width, length).这里我列表中我放了14个。变量bins是填充的空间大小(如果设置过小摆放后会溢出)。   

图片

版图上布局方案效果,此方案面积占用比为最优            

图片

Custom Compiler 提供Python 接口,给实际工作中的很多场景比如路径规划密度驱动布局等提供新思路。

Custom Compiler 本身的AutoPlace 功能同样可以做到上述效果。快速在多种宽长比的布局方案中找出符合的布局。    

图片

图片




点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 4

    关注
  • 136

    粉丝
  • 65

    好友
  • 130

    获赞
  • 52

    评论
  • 1294

    访问数

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-10-31 18:13 , Processed in 0.023625 second(s), 16 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部