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

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

日志

Macro Apr设计flow笔记梗概

热度 1已有 2948 次阅读| 2017-3-28 16:43 |个人分类:后端流程自动化|系统分类:芯片设计

天气: 雨后初晴
心情: 平静

“天下大势分久必合,合久必分”

背景:在整个chip中某些属于同一个module的cell在place之后非常的分散,不利于timing,transition等;这时可以采用将这一类型的cell“捆绑”起来,做成一个小小的macro,在place的时候就不会分散开来。

data准备:需要组合的cell的netlist(将来需要再top的netlist里将相关cell用新的macro替换掉);相应cell的lef;这些macro所属的clock的sdc;viewDefinational文件;

操作步骤:

1.写好init的脚本,进行place;

 相当于做一个微型design,里面只有几个逻辑cell和buffer等,而且不用做长tree(为了快速抽取时序模型)

set init_lef_file "tech.lef std.lef"

set init_mmmc_file "view.tcl"

set init_gnd_net "VSS"

set init_pwr_net "VDD"

set init_top_cell “top_test”

init_design

 2.确定macro的size(尽量小),和row的方向(保持核与chip的row的方向相同);  

这一步根据实际需要进行手动操作,因为cell数量少,手动调整方便,并且可以进行最优化排列,尽可能减小size。

 3.删掉trial route,打fllowpin,用脚本生出外部的pin的位置和大小(defOut defIn);

这一步就相当于进行powerplan,并且确定出pin的位置,可以通过脚本摆放pin的位置,完成后生成def,可根据需要修改def,然后在重新吃进修改好的def。 

 4.加filler,route,采用double via;

基本形状和pin的位置以及power都完成之后,加filler把空余的地方补满,尽可以进行route了,为了保证性能可采用double via。

addFiller -cell FILLER

 5.吐出gds,检查drc。lvs;

这一步就是生成gds来进行drc和lvs的验证,验证没问题之后就可以进行时序模型和lef的抽取,方便后端使用。

 6.通过之后使用edi抽出lib,使用laker等工具抽出lef。

生成lib和lef文件都有多种方式,这里主要以innovus的快捷方式为主。

有了lef和lib,就可以加到design中直接使用了。

                  

1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 137

    粉丝
  • 58

    好友
  • 152

    获赞
  • 54

    评论
  • 3166

    访问数
关闭

站长推荐 上一条 /1 下一条

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

GMT+8, 2024-4-26 22:41 , Processed in 0.029307 second(s), 15 queries , Gzip On, Redis On.

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