ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Cadence IC617 模拟设计全流程:从原理图、ADEL仿真到版图PEX实战指南

Cadence IC617 模拟设计全流程:从原理图、ADEL仿真到版图PEX实战指南 1. IC617 这个经典版本到底特殊在哪以及装完后最先要处理的几件事说起 Cadence Virtuoso IC 617很多在校学生和模拟 IC 工程师都不陌生。这么多年过去各大高校的实验室、版图外包团队、甚至不少中小型设计公司还在用这个版本。虽然 Cadence 后来陆续推出了 IC 618、IC 23.1 等新版本但 IC617 因为工艺库兼容性好、PDK 支持完善、操作习惯深入人心依然是很多人的主力工具。在开始聊使用技巧之前我先把这代工具给我的整体感觉放在前面IC617 的稳定性其实挺吃安装环境和启动方式很多所谓软件崩溃仿真莫名失败的案例根源都不在 Cadence 本身而是环境变量、库路径和 license 配置出了问题。我刚接触 IC617 那会儿犯过不少低级错误比如在.cshrc里把CDS_LOAD_ENV和CDS_INST_DIR配串了结果 Virtuoso 启动后找不到任何基础库所有工艺库都显示为空白。实际上IC617 的启动依赖的环境变量并不复杂核心就是下面这几个CDS_INST_DIR指向 Cadence 的安装根目录比如/opt/cadence/IC617CDS_LIC_FILE或LM_LICENSE_FILE指定 license 文件路径PATH把安装目录下的tools/bin、tools/dfII/bin加进去CDS_LOAD_ENV控制启动时是否加载用户自定义环境配置文件说个很常见的坑很多人在 shell 里直接敲virtuoso 启动然后在 Terminal 里看到一串 CCL 报错或者 Virtuoso 图形界面能打开但 Library Manager 里看不到任何库。这种情况九成是因为启动时的工作目录不对或者cds.lib文件没有正确指向工艺库路径。我在实际使用中养成了一个习惯为每个项目单独建一个工作目录目录下放一份独立的cds.lib用绝对路径把基础库和工艺库都列清楚。这样不管从哪个路径启动只要在项目目录下敲命令就不会出现库丢失的怪问题。还有一个被非常多的人忽略的地方IC617 在启动时默认会调用$HOME/.cdsenv和$HOME/.cdsinit这两个隐藏文件如果你从网上拷贝过别人的配置文件或者之前装过其他版本的工具这两个文件里的设置可能会互相干扰。最典型的症状是CIWCommand Interpreter Window窗口会弹出一堆 warning好一点的还能用严重的就直接把菜单布局、显示颜色、默认仿真器路径全部搞乱。遇到这种情况别急着重装先把这两个隐藏文件备份一下然后用最干净的默认配置启动试一次大部分问题都能定位到根因。2. 原理图编辑阶段那些能省半小时的快捷键和操作习惯进了 Virtuoso Schematic Editor 之后很多人的操作还停留在菜单点来点去的阶段。上一代工程师流传下来的那些快捷键在 IC617 里基本全都保留着而且配上鼠标操作效率能翻倍。我强烈建议新人在开始画原理图之前先花半小时把下面这组快捷键练熟。最常用的一组I添加器件实例Instance点击后弹出 Add Instance 窗口可以直接输入器件名比如nch、pch、res、capW画连线WireP打引脚Pin常用于层次化设计中外接端口C复制鼠标点一下基准点再点目标位置按Esc退出M移动K先按 K 再按两个点可以画一条测量标尺线辅助对齐器件U撤销ShiftU是重做CtrlD取消当前操作F放大到适合整个原理图的视图S保存X下钻进子模块在层次化设计中特别常用你可能觉得这些快捷键都写在菜单后面、看菜单就能知道但实际画起来差距很大。比如你想把一个已经连接好的器件挪个位置如果用菜单操作至少要点击四五次如果用M键加鼠标拖动一秒就完成了。再比如层次化设计查连接关系X键下钻比双击 symbol 进入子图要顺手得多而且ShiftX还能上跳回父图来回检查非常方便。关于连线的几个细节连线的时候默认是按 90 度直角走线。如果你想画斜线或者任意角度走线可以在连线状态下按住Shift键。这个操作很多人不知道但碰到要画 45 度对齐的走线时就很有用。另外连线时如果鼠标恰好停在某个已经存在的 pin 或线上Virtuoso 会显示一个小的 x 标记表示电气连接点已捕捉到这个视觉提示一定要养成看习惯否则很容易出现看起来连上了、实际上没连上的假连接。我再分享一个层次化设计时很实用的操作在原理图中选中一个 instance然后按ShiftE可以直接在下拉菜单里看到这个器件的 CDF 参数包括模型名称model、宽度w、长度l、指叉数fingers等。对于模拟电路设计来说改器件参数是日常操作如果每次都双击器件再在弹窗里改效率会低不少。而ShiftE可以直接调出编辑窗口参数改完回车就生效。还有一个很容易被忽视的批量修改技巧在原理图窗口里框选多个器件然后按Q键会弹出批量编辑属性窗口。你可以一次性把选中的电容都改成同一个值或者把一排电阻的宽度统一。这个方法在你做批量替换或参数扫描准备时特别有用不用一个一个器件点过去。连线颜色与高亮问题默认情况下同一网络net在原理图中会以同一个颜色显示。如果你看着颜色分不清网络在菜单Display-Highlight-Net里可以直接选中网络高亮。这个操作在排查连接错误时很有用比如两个看似不相连的 pin 其实属于同一网络高亮后一眼就能看出来。3. ADEL 仿真里设置工艺角、导入 PWL、排查器件未定义的实际经验原理图画好紧接着就是进 ADELAnalog Design Environment做仿真。IC617 自带的 ADEL 虽然界面看上去有点复古但功能一点也不过时。很多初学者第一关就卡在仿真时器件未定义这个报错上其实这个问题八成不是器件本身没定义而是model library 没有加载。具体来说仿真之前需要把工艺库提供的模型文件加进去。在 ADEL 窗口里选择Setup-Simulation Files在Model Libraries里添加工艺库的模型文件路径比如xxx.lib。添加完之后还要注意Section这一栏很多工艺库在同一个.lib文件里按工艺角分了多个 section比如tttypical typical、ssslow slow、fffast fast只有在 Section 里填对了名字仿真器才会采用对应的工艺角参数。如果你想对比不同工艺角下的电路性能一个非常高效的办法是直接编辑 model 文件路径中的 section 名称然后连续跑几次仿真。更正规的做法是使用 ADEL 的Variables-Edit功能把工艺角定义成一个变量配合仿真器自带的参数扫描功能自动跑多个 corner。这里我强烈建议新手学会用 ADEL 的corner 配置在 ADEL 的Setup-Corners里可以添加多个工艺角然后一次仿真把所有 corner 全跑完结果统一显示在波形窗口。这样你就不用反复改 section 名、反复跑仿真了。关于瞬态仿真不收敛的处理我在实际项目里遇到过太多次。最常见的几个诱因按发生概率排序电路存在没有初始条件的节点尤其是电容、电感这类储能元件。解决办法是在 ADEL 的Simulation-Convergence Aids里设置节点初始电压或者用ic语句给某些关键节点一个合理的预估电压。电源上电过程太陡。如果电路中有带反馈的结构电源瞬间从 0 跳到 VDD 很容易引起振荡发散。可以在激励源上设置一个上升时间比如pulse(0 VDD 0 1us 1us ...)让电源缓慢爬升。仿真步长设置不合理。瞬态仿真有一个最大步长maxstep如果设得太大仿真器可能会错过电路的真实变化过程导致收敛判断失败。我会习惯性地把 maxstep 设置为信号最小周期的 1/20 左右比如电路工作在 10MHz就把 maxstep 设为 5ns 甚至更小。模型本身收敛性差。这种一般出现在某些非官方提取的模型上没有太好的办法只能换一个更稳定的仿真器或者在模型里增加一些寄生电阻电容来帮助收敛。另外ADEL 的Options-Analog Simulation里有很多仿真器参数比如reltol、abstol、vntol这几个值控制着电压和电流的绝对/相对收敛精度。如果仿真老是not converge一个直接的思路是把reltol从默认的 1e-3 改大到 1e-2把vntol从 1e-6 改大到 1e-5牺牲一点精度换取收敛。但我不建议一上来就放宽精度这在某些高精度比较器或 ADC 电路里会导致仿真结果失真。更好的做法是先检查电路结构和激励设置把所有明显问题排除后再通过合理调整容差来辅助收敛。PWL 波形文件导入也是搜索热词里频繁出现的问题。很多数模混合电路的输入信号是数字仿真或者测试仪器导出的时域数据格式通常是两列第一列是时间第二列是电压。在 ADEL 中给电压源选PWL类型之后需要一个文件路径。你可以在激励源属性窗口里直接填文件名更稳妥的做法是把 PWL 文件放在仿真目录下或者写绝对路径。PWL 文件的格式细节要注意Virtuoso 对纯文本格式要求不算苛刻但空行、首行注释、列分隔符这些地方容易出问题。我一般用这样的格式0 0 5n 0 5.1n 1.8 100n 1.8 100.1n 0 200n 0时间单位默认是秒如果你在文件里写5n也能识别但为了规避格式歧义建议全部写成标准科学计数法5e-9 0。另外文件里不允许出现类似V、s这样的带单位字符只用纯数字。我还踩过这样一个坑PWL 文件的电压值超出电源电压范围导致仿真器在某些节点产生非物理值。后来我养成了习惯在导入前先用 Python 或文本编辑器检查一下数据范围把异常的毛刺点滤掉再导入。关于仿真器类型的选择IC617 自带spectre和ams混合信号等仿真器。绝大多数模拟前端仿真用 spectre 就够了。spectre 在高精度、强非线性和振荡器电路上表现很稳而且收敛性比老一代的spice仿真器好不少。如果你做得是比较器、LDO、PLL、ADC 这类模块把仿真器默认设为 spectre 基本不会错。只有在你需要兼容老工艺库、而工艺库只提供了spice模型的时候才需要考虑用 spice 仿真器。4. ADEL 与波形窗口的高阶操作批量改参数、对比多个仿真结果、生成工作报告ADEL 的另一个爽点在于参数扫描和设计变量管理。对于一个运放你往往要扫描尾电流源的宽度、负载管的长度、补偿电容的值等参数来观察增益、带宽、相位裕度的变化趋势。这时用 ADEL 的Tools-Parametric Analysis就可以让一个参数在指定范围内自动变化然后跑出一组曲线。这里有个小技巧在Parametric Analysis窗口里通过Add Sweep可以同时扫描两个参数比如 x 轴扫宽度、y 轴扫负载电容这样就能得到一个二维参数网格的仿真结果。因为每个点都是一次完整仿真二维网格的耗时是指数级上升的我建议先粗扫一遍找趋势再在关键区域细扫。多个仿真结果对比在Waveform Window中你可以通过菜单Trace-Add或者直接打开多个仿真产生的波形文件来叠加曲线。对比不同 corner、不同温度下的输出摆幅或者增益曲线时这个操作特别直观。更进阶的做法是在 ADEL 中启用仿真结果数据库每次仿真产生的波形都自动保存之后可以通过Results-Direct Plot直接调出某一次历史仿真的曲线不需要重新仿真。我还喜欢用 ADEL 的Calculator配合Outputs来定义一些量化的性能指标比如增益dB20(VF(/vout) / VF(/vin))或者相位裕度phaseMargin(VF(/vout))。这些表达式可以在 Calculator 里敲进去然后作为输出添加这样每次仿真结束直接看输出结果表格就能得到性能指标不用肉眼从波形上去读数。报告生成如果你需要把仿真结果整理到工作汇报或者设计文档中ADEL 的Print功能可以直接把输入输出波形的数值打印成文本配合图表工具画出增益/相位曲线。我习惯在每个项目目录下建一个report文件夹把每次仿真的截图、输出表达式、关键性能表都整理进去。IC617 的波形窗口支持直接导出图片在波形窗口菜单File-Save Image里可以选格式支持.png、.jpg、.ps等分辨率可以调高一些以方便写文档。5. 版图编辑阶段容易被忽略但极其关键的视图设置与对齐技巧从原理图进入版图是很多电路新手最不愿意面对的一步。实际上IC617 的版图编辑器Layout Editor虽然功能繁重但只要把几个基础操作和视图设置搞清楚画版图没那么痛苦。Layer 设置是第一步。版图里每个层次都有特定含义比如DIFF扩散区、POLY多晶硅、METAL1金属一层、CONT接触孔、VIA通孔等。这些层的显示颜色、填充图案、是否可编辑都配置在technology file里。如果你从网上找到一个自带显示配置的.tf文件可以直接在 CIW 里用Load命令加载。对于工艺库自带的显示映射一般不用改但如果发现某些层在高亮/选中时颜色不清晰可以在Display-Layer里手动调整。网格与对齐版图绘制最讲究的就是对齐。IC617 默认的网格单位通常是 0.005 或 0.01 微米由工艺库定义。我强烈建议把移动步长snap spacing设为网格的整数倍比如 0.01 或者 0.05。这样无论是画矩形、放器件、走金属线都能保证边界落在网格上后续做 DRC 检查时不会出现物体边缘不在格点上的本可避免的报错。用r键快速画矩形在版图编辑器中按r键进入画矩形模式在起点点一下再拖动到终点就能画出一个矩形。配合x和y键还可以在画矩形过程中精确定位。画完后如果想调整尺寸按s键可以拉伸边缘stretch按m键整体移动。走线层次的选择不同金属层的电阻、电容特性不一样高频信号线尽量走高层金属一是因为离衬底远、寄生电容小二是因为高层金属电阻率通常更低。电源和地线VDD/VSS要用宽金属低电阻敏感模拟信号线走短走直避免与数字信号线长距离平行。版图中的快捷键补充CtrlR旋转选中的对象 90 度CtrlM左右镜像o打接触孔/通孔Via选中后可以选择孔的类型和阵列大小p添加引脚Pin用于 LVS 连接n在选中对象上创建新的层次化单元引用很多人在版图里改走线时喜欢先删掉再重新画。实际上用sstretch键拖拽金属端点就能改变走线路径效率高很多。这个操作的核心机制是s会连点带线一起拉伸而不是只移动某个孤立的顶点。关于 PEX 后仿这里简单说一下流程后面单独展开。PEX 全称是 Parasitic Extraction它会在版图完成后提取寄生的电阻、电容再反标回网表用来做后仿真。IC617 里跑 PEX 通常需要借助工艺库或第三方工具比如 Calibre、Assura不过 IC617 自带的 Assura 其实也能完成整个流程只是配置相对繁琐。PEX 结果文件往往很大仿真时间远超前仿我一般是先确保 DRC/LVS 干净了才跑 PEX避免在还没画对的版图上浪费时间。6. PEX 后仿全网表反标与 RC 提取参数选择的个人经验PEX 后仿是模拟版图工程师最关心也最头疼的一个环节。很多人前仿性能非常好画完版图一跑后仿增益掉了、带宽缩了、相位裕度变小了甚至振荡器完全不振荡。这些现象背后基本都是寄生参数在起作用。IC617 里如果你用 Assura 做后仿有个优势是不用额外切换工具在同一个 Virtuoso 环境里完成 DRC、LVS、PEX 三大步骤流程上更顺。RC 提取的模式选择PEX 时你会遇到提取模式的选择常见的有RC、C only和RCCC。C only只提取对地电容速度快适合刚跑通流程时快速验证RC提取电阻和对地电容RCCC额外提取耦合电容即线间电容。对高频电路或者敏感模拟信号链RCCC最接近真实情况但提取和仿真耗时也最大。我一般先用C only确认版图连接没问题再跑 RCCC 做最终后仿。反标之后的网表PEX 完成后工具会生成一个带寄生参数的新网表。在 ADEL 里通过Setup-Environment切换到后仿模式选择刚才生成的网表文件原来的设计文件和激励可以保持不变。你会发现仿真时的器件模型不变只是每个金属走线和晶体管周围多了很多寄生电阻电容。如果后仿结果和前仿差距很大可以通过查看反标网表中的关键寄生值定位是哪个节点上的寄生影响了性能。提高后仿效率的小技巧在 PEX 选项里通常可以设置只提取某一段走线的寄生或者把某些不影响性能的信号网络的寄生提取关闭比如数字控制信号。这样能显著减少网表体积和仿真时间。如果电路块很大建议先做小块的后仿验证确认每个子模块的后仿都达标后再做顶层集成这样一旦出现某个参数不达标定位问题的范围会小很多。后仿不过的排查思路我自己排查后仿性能衰减时习惯按下面的顺序来看 DC 工作点有没有发生明显偏移。寄生电阻如果落在电源到晶体管漏极之间的路径上会产生 IR drop导致实际加在管子上的电压不是设计的 VDD。这种情况下需要加宽电源走线或者加多通孔。看关键节点的大寄生电容值。比如运放输出端挂了一个 1pF 的寄生电容带宽必然下降此时可以通过调整补偿网络来匹配或者优化版图布局缩短高阻节点的走线长度。查耦合电容是否导致串扰。如果一条快速翻转的数字信号线与运放的参考电压线平行走线很长翻转时的耦合会让参考电压出现毛刺这种情况下必须修改版图布局绕线或者加屏蔽地线。7. 与 PCB 环节的数据交互BOM 导出、封装导入和文件格式转换注意点Cadence 这个大家族里除了 Virtuoso 这种 IC 设计工具还有 Allegro 这样的 PCB 设计工具。很多芯片或者模块项目其实是从 IC 设计到封装再到 PCB 全流程的所以Virtuoso 怎么和 PCB 数据对接也成了一个高频问题。关于 BOM 导出如果你是在 Virtuoso 原理图里完成了一张系统级原理图需要输出 BOM 给采购或者贴片通常的做法是利用Tools-Export或者直接通过CDL网表转换。IC617 没有像 Allegro 那样内置一个强力的 BOM 报表工具所以我在实际项目里更习惯先把原理图导出成标准网表或者.csv格式然后在 Excel 里整理。不过 Virtuoso 的元件属性能完整保留元器件位号、型号、封装信息这一点在导数据时很省心。从 Virtuoso 到 Allegro涉及芯片封装package时通常要做的操作是把 Virtuoso 里画好的版图或者封装图形导入到 Allegro 中。比较常用的路径是先把 Virtuoso 版图导出成.DXF或.GDS格式再用 Allegro 的导入功能转换。这里要注意层映射关系Virtuoso 和 Allegro 的层名完全不同导入后必须逐层核对否则金属层全部乱套。封装导入 PCB热词中反复出现封装导入 PCB 的核心不在于能不能导而在于导得准不准。我踩过最大的坑是单位不一致Virtuoso 默认单位可能是微米而 PCB 工具常用 mil密尔或者毫米导入时一旦单位没设置对整个封装尺寸就缩放了 1000 倍或更多。建议在导出前先明确目标工具的尺寸单位导出时勾选好单位选项导入后再用测量工具验证一个已知距离比如引脚间距确认缩放准确再做后续布线。8. 高频杂症排查ODBC 配置、HDL 库报错、进程异常退出的应对方案这一节专门整理几个经常在社区里被反复问到的疑难杂症给出的都是我自己验证过或者从可靠渠道确认过的处理思路。ODBC 数据源配置Cadence 在某些模块比如设计中需要访问外部数据库里会用到 ODBC 数据源。IC617 里打开相关功能时提示找不到数据源多半是系统里没有为其配置 ODBC 驱动。解决思路是在操作系统通常是 Linux也有 Windows 下使用的情况里配置一个 ODBC 数据源名称然后在 Cadence 的配置环境里把对应的连接参数填进去。我个人不太建议在 IC617 里去折腾 ODBC因为 Virtuoso 的主要应用场景是与工艺库、PDK 交互很少真的需要连接外部关系型数据库如果只是用到某一小功能先确认功能是否必需再动手配置免得白忙一场。HDL 库报错如果你在做数模混合设计原理图里用到了 Verilog-AMS 或者 Verilog 模块仿真时可能会报找不到 HDL 库或者 Cannot compile Verilog 之类的错误。这个问题的关键路径有两条一是检查cds.lib里是否定义了相关 hdl 库二是检查编译环境比如 LD_LIBRARY_PATH是否有对应的编译器路径。IC617 在启动时如果没把INCISIVE或XCELIUM的路径加入环境变量HDL 模块就无法编译。最可靠的办法是确认你安装的 Cadence 套件带不带相应的 HDL 仿真器不带的话只能换用纯模拟模型或者用模拟行为级建模比如 Verilog-A 的模拟描述代替数字模块。This application has quit unexpectedly这类进程崩溃这个问题在搜索热词里出现了完整句子可见很多人遇到过。IC617 崩溃的原因五花八门最常见的是以下几种启动时图形界面尺寸设置不合理导致显示驱动崩溃。解决办法是删除~/.cadence目录下的部分缓存文件或者把DISPLAY指向一个更稳定的 X server。打开某些异常大的验证文件时内存不足。Linux 下可以临时增大 swap 空间或者在启动 Virtuoso 前关闭其他占用内存的程序。与其他 EDA 工具比如 Synopsys 的工具环境变量冲突。这是最隐蔽的一种情况如果你电脑里同时装了多个 EDA 厂商的工具它们的PATH、LD_LIBRARY_PATH会互相覆盖。我自己的做法是把不同工具的启动脚本分离每次只 source 一个工具的配置避免全局混用。关于cadence 17.2 导出 swp 文件、17.4 下载这类热词这里要提醒一句IC617 和 Allegro 17.x 是两套不同的软件产品线IC617 主要用于芯片前端/版图设计Allegro 17.2/17.4 用于 PCB 设计。如果你搜索17.4下载是因为要做 PCB那么你需要的其实是 Allegro 而不是 Virtuoso。两个工具可以安装在同一台机器上但环境变量配置一定要隔离。我之前见过有同学把 Allegro 的PATH加到全局变量里结果 Virtuoso 启动时调到了 Allegro 的动态库界面直接崩溃。正确的做法是用独立的启动脚本每个脚本单独配置各自的PATH、LD_LIBRARY_PATH和CDS_INST_DIR。关于共源级放大电路 cadence这类具体电路仿真共源级放大器是模拟 IC 设计入门第一课在 Virtuoso 里搭共源级时只需要一个 N 管、一个电阻或者 PMOS 作负载、输入 ac 源、输出负载电容再加一个 VDD 和 GND 就能跑起来。很多新手卡在电容两端必须都接上节点这个问题上比如输出接电容到地电容的负极也要有地网络否则在网表中会出现悬空节点。这个小细节在做任何电路的 DC/AC 仿真时都要注意。9. 让 Virtuoso 真正好用的几个环境配置和日常习惯最后聊点润物细无声的东西这些不太会出现在官方教程里但实际用起来能让你每天少生很多气。第一启动 Virtuoso 前先定义好搜索路径。CDS_AUTO_EXIT、CDS_LOG_PATH这些变量如果设好了日志文件会自动归档遇到仿真异常时可以快速查日志定位。特别是CDS_LOG_PATH如果留空日志会散落在各个仿真目录下找起来非常痛苦。第二用文本编辑器管理.cdsenv文件。IC617 的很多默认配置可以通过在 CIW 里改动后自动写进.cdsenv但手工编辑这个文件能实现更多精细控制。比如你可以设置默认的仿真器类型、波形窗口背景色、保存时是否自动备份等。注意手工编辑前一定要备份原文件因为格式只要写错一行Virtuoso 可能连启动都会失败。第三学会用save和restore菜单保存整个设计状态。IC617 的 CIW 中File-Save State可以把当前打开的 library/cell/view、仿真环境、变量配置都保存下来下次用Restore State一键恢复。接手别人项目的时候如果对方给了一份.sdb或.state文件导入后能省去大量重新配置的时间。第四善用.cdsinit里的初始化代码。这个文件本质上是 Skill 脚本你可以在里面写一些自动执行的命令比如启动后自动加载某个工艺库、自动打开某个单元的版图、设置默认的网格步长等。以前我带新人的时候会在.cdsinit里把所有团队的公共设置写好新人拷过去后马上能进入统一的工作状态不会因为各人显示习惯不同导致检查和协作出问题。第五版本管理习惯。Virtuoso 的 cellview 是二进制或者半文本格式存储如果直接用 Git/SVN 管理整个 library 目录经常会出现冲突和损坏。我个人的做法是用 Cadence 自带的export功能导出关键的网表文件、CDF 参数文件、仿真状态文件把这些文本格式文件纳入版本管理版图则定期导出 GDS 存档。这样既保留了设计历史又避免了二进制文件合并冲突的麻烦。关于 IC617 和 IC618 等新版本的选择我再说两句。如果你是学生或者刚入门老师实验室用的是哪个版本就用哪个版本避免因为版本差异浪费调试时间。如果你是自己部署环境、冲着做项目去的IC617 在大多数成熟工艺库里依然是兼容性最好的选择之一很多老 PDK 甚至只支持到 IC617。但如果工艺库比较新比如一些先进工艺节点建议确认一下 PDK 是否支持 IC617否则画版图时可能会出现层设置不对、DRC runset 无法加载这类问题。不要盲目追求最新版EDA 工具链的兼容性和稳定压倒一切这比界面是不是更现代重要得多。要说我在 IC617 上踩过最深的坑其实不是哪条命令不会用而是在同一个环境变量配置里同时塞了太多工具的路径。Cadence 启动对动态库的依赖很敏感哪怕某一个库文件被另外工具的同名文件覆盖都可能引发各种离奇崩溃。后来我把每个 EDA 工具的配置独立成 script需要哪个就 source 哪个这个问题再没出现过。最后留一个实操小技巧给刚接触 Virtuoso 的朋友在原理图编辑窗口里鼠标中键默认是立即复制。很多人只习惯用左键选择菜单浪费了中键这个高频操作。你把鼠标移到某个器件上按中键拖动松手就会复制出一个新器件这样搭重复结构比如多路相同负载时效率极高。组合键CtrlZ撤销、CtrlY重做在 Virtuoso 里同样生效。版本虽老工具还是那个工具把细节摸透了它就是你手上最顺手的兵器。
返回列表