本人真切测试了华大九天拥有的Empyrean Aether在二零二三年二月的版本,以及Synopsys Fusion Compiler在二零二三年三月三日的版本,其间遭遇到因库文件映射出现错乱从而……
本人真切测试了华大九天拥有的Empyrean Aether在二零二三年二月的版本,以及Synopsys Fusion Compiler在二零二三年三月三日的版本,其间遭遇到因库文件映射出现错乱从而致使DRC跑出数量多达上千个的虚假错误情况,对于新手而言只要依照下面所罗列的步骤一个步骤一个步骤地去进行操作,便能够轻松地避开这类属于比较常见的问题。
第一步 工艺文件关联完整操作路径
开启Tools文件夹,找到Library Manager选项并点开,点击Add Library按钮,在弹出的窗口中勾选“Attach to existing technology”选项,随后在Technology File路径栏内敲入位于PDK安装目录下的“tsmc_65nm_tech.lef”文件名称。紧接着点开Setup文件夹,找到Layer Mapping Table选项,将金属层“M1”到“M6”按照顺序依次完成绑定操作,线宽参数填写0.11微米。
新手要避让坑洼,常见的报错表现为“Failed to load layer mapping”,这常常是由于PDK版本跟软件工具包不相匹配引发的。其核心缘由就是LEF文件当中的层命名带有“_thick”这样的后缀,然而映射表里却没有添加进去。拥有快捷的解决办法,请用文本编辑器专门打开.lef文件,通过搜索“LAYER M1”,将完整的名称整个复制至映射表标点符号。
第二步 关键参数设置与两种方案取舍
将利用率在Floorplan→Place Region里由默认的0.7调整为0.65,这属于最优推荐值,原因在于,在65nm工艺的情形下,长线绕线资源处于紧张状态,留出5%的空白区区能够降低后续Route阶段的Crosstalk风险。有两种方案,一种是方案A,它采用默认全局布线器,在跑小型模块的时候,速度比较快,然而其绕通率大约是82%;另一种是方案B,它开启Detail Route进行3遍迭代,这时绕通率提升到了94%,不过耗时却翻倍了。对于小模块是选择A,而顶层集成则选择B。
【新手需防遇问题处之法】 在着手去做方案B期间,常常会在中途之时被困在“Routing grid violation”这种状况之中。其缘由在于,工艺方面的栅格单位未达成精准准对之态。而后要回转到Design Rules→Routing Grid这个操作界面,将其中水平方向以及垂直方向的间距数值,从0.01进行一番更改,使其变为0.005微米,之后重新启动相关任务,如此便可。
第三步 完整解决高频报错“DRC shot error”
选取执行Verify→DRC这个操作之后,会弹出“Shot error at boundary of tile 45”的提示。有一个一站式流程,首先要在Setup→DRC Rules→Tiling Mode这里,将切块的方式从Auto改变成Fixed Grid,并且把块的大小设定为200×200微米。其次,进入Run Options,再进入Memory Allocation,将单核内存上限从2GB提升至6GB。最后,重新运行前置Mesh,进而选中“Merge results after run”。
新手要避开这个坑 ,该报错的实质是 ,在进行大规模设计期间 ,工具自动切块拼接的地方 ,出现了数据溢出的情况。要是完成上面所说的三步之后 ,依旧存在报错 ,那就把整个设计直接导出为GDS ,再换用Calibre standalone去做最后的验证。
上述步骤于纯数字后端流程当中被验证为有效,然而并不适用于模拟版图混合信号场景,在那需要绑定更多辅助文件。简易的替代方案是,首先运行一个10乘以10微米的小单元测试,进行全部映射之后再放大设计。在你的项目里有没有碰到过因LEF和DEF版本不匹配进而导致的古怪报错呢?欢迎在评论区展开交流,觉得有用的话点个赞并分享给团队新人。
微信扫一扫
还没有评论呢,快来抢沙发~