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

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

日志

Astro与SoC Encounter对比

已有 5116 次阅读| 2009-8-20 11:33

Astro与SoC Encounter对比
2008-11-23 19:38

(转载)(自己在用Astro,为了兼容性)

Astro:                                                                           

SOC-Encounter:

起个唬人的名字而已,无意挑起Synopsys和Cadence的战争,恐怕没有热闹可看。

最近看到水木MeTech上关于Astro和Encounter的讨论,回想起自己的数字后端历程,有了写
个工具回忆录的冲动。我从01年开始用SE(Silicon Ensemble),02年进入Apollo,随后进
入Astro,07年转投SoC Encounter,每个工具都有大规模芯片的流片经历,几个工具总体来
说各有千秋和Bug。

SE是骨灰级鼻祖,把持了古老的IC时代,如今基本已寿终正寝了。但对于古老工艺下的设计
,它却是唯一选择,因为工艺库对其他工具可能没有相应支持,与其绞尽脑汁去考虑库的转
化,不如花点功夫学习下SE。SE菜单简单明了,已经包含了现在数字后端设计流程的绝大多
数概念,但支持的工艺和规模都很有限,非EDA古玩爱好者就不要考虑了。

Apollo可以看作SE时代的终结者,虽然伴随着它官司不断,但不妨碍它成为P&R工具的历史
精品。第一眼看到Apollo,你肯定会吐血,为什么?菜单选项浩如烟海,菜单下面有子菜单
,选项下面有子选项,显示器小点可能会连对话框都看不全。但是Apollo的layout视图很舒
服,手工操作支持的很好,Milkway Database也非常方便好用,如今也已经退出历史舞台了

Astro是Apollo的升级版,SoC Encounter可以看作是SE的取代产品,虽然IC Compiler是
Astro的下一代取代产品,但目前数字后端设计工具的主流还是Astro和Encounter。至于性
能孰优孰劣,两家公司都有堆成山的BenchMark说明自己牛X。我个人的使用感受是,同时期
release的两个工具的速度和memory使用相差不大,即使有差异,这也不是我们IC设计者最
关注的方面。芯片最终P&R结果的差异往往来自于设计本身的特点,以及工具的使用策略。
对于使用者来说,与其花精力给两个工具做比较,不如多花点时间了解设计本身的特点,掌
握什么样版图能满足你的性能要求,从原理出发去调整流程和组合选项。无论Manual上说的
如何天花乱坠,都不要给工具寄托太大希望,The tool is just a tool,根据需求灵活使
用是关键。EDA工具日新月异,后端工程师想不被淘汰,想随着时间增值,只能指望多掌握
些原理上的东西。

忽悠到此为止,下面来点适合工程师口味的,稍有点技术含量的。Astro和Encounter推荐的
设计流程基本一致,所以两者之间的迁移不会很困难,那就简单介绍下Astro和Encounter在
使用上的差别比较。
1)Astro使用的database是Milkway,是二进制格式的,而Encounter的数据格式是ASCII的
。所以Astro的文件size小,利于拷贝移动,而Encounter支持在数据库中直接修改文件,方
便更新和操作,但是文件size大,移动和复制时可能造成某些相对路径指向的文件丢失。
2)Astro一个进程可以打开多个cell,命令行不占用Terminal,而Encounter一个进程只能
打开一个cell,命令行占用Terminal。
3)Astro在timing分析时不能直接调用PT等signoff工具,而Encounter使用分析时
-signoff选项就能自动调用signoff的STA和其他工具。
4)如果想Fill poly,Astro中可以直接加dummy poly,而Encounter工具本身只能支持到
Metal 1的fill,不支持poly的fill,需要自己想办法解决。
5)Placement之后,CTS之后,routing之后的工具参数都会有些变化,Astro大多数需要自
己设置,而Encounter通过-preCTS, -postCTS, -postRouting可以自动配置。
6)为了LVS加IO text时,Astro有命令可以很方便的加,而Encounter必须自己想办法。
7)在设计早期加入metal fill对timing和设计的影响,Astro中没有方便的选项设置,而
Encounter在从一直开始就能设置。
8)Astro能读入GDS,支持CEL view,Encounter不支持读入GDS,所以在Encounter中永远无
法看到真正的版图,所以对于手动fix DRC,Astro更胜一筹,Encounter就必须借助ICFB了

9)如果版图中需要手动拉线,Astro中Customer wire的命令没有Encounter的智能,不能自
动识别伸缩,换层和打孔。
10)为hard block做Macro padding时,Astro能根据block的pin的多少调整padding,而
Encounter没有该功能的支持,需要使用者自己脚本解决。
11)对于Hierarcical Methodology的支持,Astro/JupiterXT和Encounter相比略逊一筹,
Encounter的Partition功能比较强大,而且可以自动产生block-level的工作环境和数据。
12)对于通过脚本加soft blockage, Astro可以轻松实现,而Encounter只支持图形化操作
,脚本实现比较麻烦。
13)Calibre的强大有目共睹,但Astro没有提供Calibre的接口,不能读入Calibre DRC的结
果,Encounter可以直接读入Calibre的运行结果。
     14)对于memory的自动摆放,Encounter比Astro/JupiterXT更规则些,更利于使用者在
此基础上调整。Encounter的relative floorplan很强大,对于几百个block的摆放很有效率

     15)Astro的Online DRC很少出现false violation, 而Encounter的Online DRC常常会
有False Violation,容易造成误导,不利于快速检查。
16)Power network的自动synthesis, Astro/JupiterXT的结果差强人意,Encounter的
template功能非常强大,当然这一功能都只能用于快速的overview,不推荐做为最终的
powerplan。
17)Astro中把某个命令运行log重定向到一个文件使用”>”就可以,而Encounter很多命令
不支持这种简单的重定向。
18)对于CTS的查看和debug,Astro查看和修改的工具速度比较慢,不太好使用,
Encounter查看和调试时钟树比较容易些,配合Design Brower工具使用起来很方便。

就想到这些了,以后有空再补充。当然两个工具都是Bug多多,相信各位都深有体会。
抛砖引玉,如有雷同,纯属缘份。


类别:集成电路 | 添加到搜藏 | 浏览(263) | 评论 (1)  
'); if(pre[0]){ document.write('上一篇:' + pre[2] + '    '); } if(post[0]){ document.write('下一篇:' + post[2] + ''); } document.write('
'); } /*]]>*/
 
/**/
相关文章:
']; D(html, ''); for(var i = 1, j = arg.length; i < j; i += 2){ D(html, ''); D(html, ''); if(arg[i + 1][0] != "") D(html, ''); else D(html, ''); D(html, ''); } if(hasMore) D(html, '"); D(html, '
' + arg[i][1] + ''); D(html, new Array(10).join('\u3000')); D(html, '' + arg[i + 1][1] + '  
更多>>
 
'); var div = document.getElementById('in_related_tmp'); if(div){ div.innerHTML = html.join(''); while(div.firstChild){ div.parentNode.insertBefore(div.firstChild, div); } div.parentNode.removeChild(div); } window.setTimeout("tracker_init('in_related_doc')",100); } if(RelatedDocData == -1){ // not supported xhr var script. = document.createElement('script'); script.type = 'text/javascript'; script.src = '/sys/search?type=8&word=Astro%D3%EBSoC%20Encounter%B6%D4%B1%C8&item=487c28f894f06708d9f9fd99&t=' + new Date().getTime(); document.getElementsByTagName('HEAD')[0].appendChild(script); }else if(RelatedDocData == null){ GetAndEval = true; }else{ eval(RelatedDocData); } /*]]>*/
最近读者:
0){ _rh1+=''; }else{ _rh1+=''; } _rh1+='登录后,您就出现在这里。'; _rh2+=' ' } if(g_read.length==0){ if(!g_spAnnony){ _rh1+='最近还没有登录用户看过这篇文章……'; _rh2+=' '; } }else{ for(i=0,len=g_read.length;i'; _rh2+=''+g_read[i][2]+''; } } _rh1+=''; _rh2+=''; document.write(_rh1+_rh2); } wrreader(); 登录后,您就出现在这里。     沉香箜篌 ylts999
 
网友评论:

"+cmtname+""; }else{ if(cmtname=="" || cmtname=="匿名网友"){ if(cmturl==""){ html1="匿名网友"; }else{ html1=""+cmtname+""; } }else{ if(cmturl==""){ html1=""; }else{ html1=""; } } } document.write(html1); } function filterCmtContent(n){ if(!BdBrowser.isIE){ var defaultfilter1=''; var defaultfilter2=''; var commentDiv=document.getElementById(n); var divs=commentDiv.getElementsByTagName('div'); var d,tmp; for( var i=0,len=divs.length;i/ig,defaultfilter1); tmp=tmp.replace('',defaultfilter2); d.innerHTML=tmp; } } } }
1

reedgrass_1101
2009-08-10 21:21 | 回复
请问:encounter是否像astro一样具有读取多边形数据的功能
           astro是在生成frame时导入相应的命令
           encounter读取的是LEF,是在生成LEF时导入相应的命令?
           什么命令?还是在encounter中有什么命令可以实现的?
           (就是encounter如何读取多边形的数据,我找了两天的manu,
              可惜就是没找到,希望哪位知道大大侠指点一下)
 

点赞
收藏 分享邀请 举报

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 3

    获赞
  • 47

    评论
  • 1113

    访问数
关闭

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

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

GMT+8, 2024-5-21 17:32 , Processed in 0.015732 second(s), 6 queries , Gzip On, Redis On.

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