第一次打开Cadence Virtuoso时,那个布满各种图标和菜单栏的界面确实让我有点懵。不过别担心,这就像第一次学骑自行车,摔几次就熟练了。我用的AMI 0.6u工艺库,这是很多高校实验室常用的工艺节点,特别适合初学者练手。
创建新库的时候有个小技巧:建议用"姓名_项目名"的格式命名,比如我建的"Aurora-2"。这样三个月后回看项目时,你还能记得这是谁做的什么内容。记得当时我就犯过错误,随手起了个"test1"的库名,结果一周后就完全想不起里面存的是什么了。
工艺库文件通常放在特定目录下,比如NCSU的库默认路径是/home/cadence/ncsu-cdk-1.6.0.beta/models/Spectre/standalone。这里有个坑要注意:不同版本的路径可能略有差异,如果仿真时报模型错误,首先就要检查这个路径设置是否正确。
画原理图时,PMOS和NMOS的区分很重要。我习惯用不同颜色标注:PMOS用红色,NMOS用蓝色。从NCSU_Analog_Parts库拖器件时,要注意W/L值的设置。初学者常犯的错误是直接使用默认值,这会导致后续仿真结果异常。
创建Symbol时,建议把引脚名称显示出来。我见过有同学为了美观隐藏了引脚名,结果仿真时连错端口都不自知。Symbol的边框不要画太小,留出足够空间给标注文字。有次我的Symbol边框画得太紧凑,导致连线时文字重叠,DRC检查时折腾了好久。
原理图连线有个实用技巧:按F3可以切换连线模式。直角连线适合大多数情况,但高频电路可能需要45度斜线。记得保存前一定要用Check and Save功能,它能帮你发现断开的网络和悬空的引脚。
ADE仿真界面看似复杂,其实核心就几个关键设置。首先是模型库路径,必须准确指向工艺文件。我遇到过最头疼的问题就是仿真报"model not found",后来发现是路径中多打了个空格。
参数扫描设置要注意步长选择。对于VGS扫描,我建议先从0到VDD,步长取VDD/10。太小的步长会延长仿真时间,太大的步长会漏掉关键特性点。仿真前记得设置好保存节点,否则跑完仿真发现没存关键数据就尴尬了。
仿真结果查看时,建议把IV曲线和参数表格同时打开。有次我只看了曲线觉得没问题,后来老师指出饱和区电流值差了一个数量级。现在我会特别注意这几个关键参数:
版图设计是真正的艺术活。我习惯先用快捷键"r"画矩形确定器件大致区域。PMOS和NMOS的版图差异很大,主要体现在:
DRC检查时最常见的错误是间距违规。我的经验是:先解决间距小于最小值的错误,这类错误往往会引起连锁反应。金属连线时,建议先用M1层,需要跨线时再使用高层金属。有次我贪方便直接用M2走短线,结果LVS时死活匹配不上。
LVS验证通过的关键是确保版图的端口名和原理图完全一致。我有个惨痛教训:版图里把"D"写成"Drain",结果LVS报错查了半天。现在我都严格保持命名统一,连大小写都不马虎。
后仿真要切换view到extracted视图,这一步很多新手会忘记。提取的寄生参数会显著影响高频特性,我做过对比:前仿真和后仿真的延迟时间可能相差20%以上。
仿真结果分析时,要特别注意这几个关键点:
建议把前仿真和后仿真的结果叠在一起比较。我常用这个技巧快速定位寄生参数的影响。有次发现后仿真电流明显偏小,最后查出是版图中多晶硅电阻被低估了。
遇到仿真不收敛时,可以尝试这些方法:
DRC错误太多时,建议先用"ruler"工具测量关键尺寸。我开发了个自检流程:
LVS不匹配时,最有效的排查方法是:
掌握这些快捷键能让你事半功倍:
我习惯把常用操作录制成脚本。比如自动设置仿真参数的脚本,能节省大量重复劳动。版图设计时,合理使用"stretch"功能可以快速调整器件尺寸而不破坏连接关系。
参数化设计是个高级技巧。通过定义变量来控制器件尺寸,后续修改时只需调整变量值,所有相关器件会自动更新。这招在优化设计时特别管用,我上次改W/L值就省了至少两小时工作量。