首页 / 资讯中心 / 文章详情

Cadence Virtuoso 环境搭建与反相器全流程实战:从 icfb 启动到版图验证

Cadence Virtuoso 环境搭建与反相器全流程实战:从 icfb 启动到版图验证 ★ FEATURED ARTICLE
简介这份课程资源面向初次接触集成电路版图设计的初学者尤其适合需要完成课程设计或首次尝试流片的同学帮助其快速上手 Cadence Virtuoso 的基本操作。内容以最简单的反相器为例完整串联原理图创建、元件放置与参数设置、瞬态仿真、版图绘制及后仿真等环节并穿插 Library、Cell、View 的树状管理逻辑与常用快捷键说明步骤详细、门槛较低可按教程从头到尾走一遍。资源包共 1 个 PDF 文件大小约 2.32MB单文件即涵盖整套入门流程便于随时查阅与对照练习。目前已有 2872 人学习适合作为版图入门的第一份实操参考帮助读者建立从原理图到仿真的完整认知为后续复杂设计打下基础。1. 从一条icfb 命令说起为什么新手装完 Cadence 还是跑不起来很多人第一次装 Cadence Virtuoso以为把软件包解压、把 license 配好就算完事结果终端里敲下icfb 之后要么弹出一堆库找不到的报错要么进了 Library Manager 却发现工艺库是空的画版图时连 tsmc18rf 的影子都看不到。这套环境在高校课程设计和初次流片场景里极其常见装不好不会立刻崩但会在你画到一半、跑仿真或做 DRC 的时候集中翻车。这篇笔记按“环境先列清、再一步步装、最后能验证跑通”的顺序走一遍用一个反相器从原理图到版图再到后仿真的完整链路做验证适合刚接触版图设计、需要把课程设计从头到尾走通的人。下面所有操作都基于icfb这套经典启动方式命令、路径、工艺库名以实际安装为准版本差异我会在关键处点出来。2. 装前把环境列清版本、工艺库和目录结构2.1 先确认三件事启动方式、工艺库、license动手之前先把三样东西确认清楚后面能省掉一半的排查时间。第一是启动方式这套教程用的是icfb 属于较老的 Virtuoso 启动入口新版环境里可能是virtuoso 两者进入的界面和 Library Manager 基本一致但如果你照着敲icfb提示 command not found先确认安装目录下的tools/bin有没有进 PATH而不是急着重装。第二是工艺库教程里明确用的是 tsmc18rf0.18um 工艺电源电压 1.8V这个库必须已经挂在 CDS 的库搜索路径里否则新建 Library 时 Attach techfile 那一步根本选不到它。第三是 licenseicfb能启动但一开仿真就报 license 错误是这套环境最常见的“假装好”状态。我一般会先跑一遍环境自检把这三件事一次性看清楚# 确认 icfb 是否在 PATH 里找不到就说明安装目录没加进去 which icfb # 查看当前 shell 里 CDS 相关的环境变量重点看库搜索路径 env | grep -i cds # 确认工艺库目录真实存在tsmc18rf 是教程用的 0.18um 库 ls $CDS_INST_DIR/tools/dfII/samples/artist/ 2/dev/nullwhich icfb返回空说明启动脚本不在 PATH常见做法是把安装目录下的tools/bin和tools/dfII/bin加进 PATH。env | grep -i cds主要看CDS_LIB_PATH或CDS_INST_DIR这类变量工艺库能不能被 Library Manager 识别很大程度取决于库路径有没有配对。最后那条ls只是确认库文件物理上在不在路径因安装而异找不到就换成你实际的工艺库安装位置。这三步都过了再往下走新建工程否则后面每一步都会带着隐患。提示工艺库名、安装路径、license 配置在不同环境里差异很大教程里的 tsmc18rf 和 1.8V 是这套示例的设定换成你实际的库和电压即可但“先确认库能被识别”这个顺序不要跳。2.2 目录和文件结构Library、Cell、View 三层关系Cadence 的文件管理是树状的Library 是文件夹Cell 是一个单元View 是同一个 Cell 的不同表现形式。一个 MOS 管是一个 Cell但它同时有原理图模型、版图模型、hspice 参数模型、spectre 参数模型等多个 View这就是为什么同一个 Cell 点开能看到好几种视图。理解这三层关系后面建工程、做 symbol、画版图才不会把文件放错地方。我习惯每个工程单独建一个 Library不跟别的项目混在一起。教程里新建的 Library 叫inv建的时候会问是否链接 techfile只做原理图仿真选Dont need a techfile要画版图并且有工艺库就选Attach to an existing techfile然后在 technology Library 里选 tsmc18rf。这一步选错后面画版图时图层和设计规则都对不上属于典型的“当时省一步、后面补一天”。# 启动软件注意 icfb 和 之间有一个空格 icfb 这条命令里的是让进程在后台跑终端还能继续用中间那个空格是教程特意强调的写成icfb在某些 shell 下也能起但养成带空格的写法更稳。启动后从 Tools 进 Library Manager就能看到刚才建的inv出现在列表里。到这里环境层面就算落地了接下来才是真正画东西。3. 原理图从零到仿真反相器的完整走法3.1 建 Cell、放器件、连线先把图搭出来在inv这个 Library 里新建 Cell名字取scheView Name 填schematicTool 用默认的 schematic editor确定后原理图编辑窗口会自动打开没打开就双击 View 里的 schematic。画的是一个最简单的非门vdd、gnd、一个 nmos、一个 pmos、一个直流源 V0、一个方波源 V1。vdd 和 gnd 只是标号表示同名网络连在一起真正提供电压电流的是 V0。放器件用i键调出 Add Instance不知道库名和 Cell 名就点 Browse。vdd、gnd、vdc、vpulse 都在 analogLib 库里View 选 symbolMOS 管在 tsmc18rf 库里元件名是 nmos2v 和 pmos2v。放完按w连线注意所有 nmos 的 B 极接地、所有 pmos 的 B 极接电源这个细节漏了仿真波形会莫名其妙。常用快捷键这套流程里高频使用 i 添加 instance w 连线 q 查看/修改属性 p 添加引脚 pin x 检查并保存改图后仿真前必做 s 保存 e 进入 symbol 内部电路 Ctrle 从 symbol 内部退回 Esc 退出当前命令最容易忘、也最该常用x和s的区别值得单独说x会做一次简单的连线检查再保存改完原理图去仿真之前必须走一遍能提前抓出悬空线s只是保存。教程里反复强调“每次更改原理图后仿真前都得 x”这是血泪经验跳过检查直接跑仿真报错信息往往指向一个你根本没注意的断点。3.2 参数怎么填单位别乱加方波四个量定死参数设置是新手最容易翻车的地方。选中 V0 按qDC voltage 填1.8就行不要写成1.8V这个软件所有参数都不带单位加了反而错时间同理10ns 写10n。V1 是方波要设的参数多voltage1 为 0、voltage2 为 1.8delay time 是延时rise time 是上升时间fall time 是下降时间pulse width 是 voltage2 的持续时间period 是周期。这几个量一填一个方波就完全确定了。MOS 管主要看宽长示例里不改。参数示例值说明V0 DC voltage1.80.18um 工艺电源电压不带单位V1 voltage1 / voltage20 / 1.8方波低电平和高电平V1 rise / fall time按需设慢一点能减弱输出耦合毛刺V1 pulse width按需高电平持续时间V1 period2n示例周期仿真看 5 个周期左右填完记得x检查并保存。这里有个取舍输入方波的上升下降时间设得越陡输出端因 MOS 管 gd 电容耦合出来的毛刺越明显教程里也提到“输入信号上升下降时间设慢些这个现象就不明显”。这不是 bug是真实器件行为看波形时要能区分。3.3 瞬态仿真tran、stop time 和结果浏览从原理图窗口点 Tools 进 analog Environment这是所有仿真的总控台。点 analyses 的 choose选瞬态仿真transtop time 填10n因为信号源周期是 2ns看 5 个周期足够勾上 conservative 表示最高精度分析再勾 enabled 使能确定后仿真窗口会更新。然后点 simulation 的 Netlist and Run顺利的话弹出仿真信息窗口库没装好就会在这里报错这也是判断环境是否真的配好的关键节点。仿真设置要点 分析类型 tran瞬态 stop time 10n约 5 个信号周期 精度 conservative 使能 enabled 必须勾上否则不跑跑完点 Tools 里的 results browser双击 tran-tran能看到 net18 和 net22 这类网络名右键 append 把波形加到图形窗口。net18 是输出、net22 是输入两条一起看就能确认非门逻辑输入高时输出低输入低时输出高。如果看不到网络名用 results 的 annotate 里的 net names 打开显示。观察波形时重点看输出在输入跳变瞬间的耦合毛刺以及反相器的上升沿时间这两点决定了这个反相器能不能用。3.4 封装成 symbol再搭测试电路一个模块要复用就得做成 symbol。先把测试电路删掉按p加引脚in 方向选 inputout 方向选 outputAttach net expression 选 no。然后点 design 的 create cellview 的 from cellview一路 OK生成只有接口的 symbol按q把 instance name 和 partname 改成inv保存。这时 Library Manager 里会多出一个 symbol 视图。新建测试电路 Cell比如sche_test用i把刚做的invsymbol 加进来再加一个 50fF 的负载电容f 是 10 的 -15 次方。这里有个关键细节连到地的线按q看属性网络名是gnd!而不是gnd带感叹号表示全局变量这样才能和底层的gnd!连在一起vdd 同理是vdd!。这个感叹号漏了symbol 内部和外部的地就接不上仿真结果会莫名其妙。symbol 与测试电路检查清单 1. 引脚方向in 为 inputout 为 output 2. 生成 symbol 前先 x 再 s否则 symbol 可能不同步 3. 全局网络必须带感叹号gnd!、vdd! 4. 选中 inv 按 e 可进内部Ctrle 退回4. 版图落地同一个 Cell 里换 View别把文件放错4.1 新建 layout View 的正确姿势画版图前先把其他原理图窗口关掉并保存文件结构别放错否则后面做 LVS 会比较麻烦。正确做法是把版图和对应的原理图放在同一个 Cell 里在 Library Manager 里对sche这个 Cell 新建 ViewCell name 保持sche不变Tool 改成 layoutView name 会自动变成layout确定后文件结构里就多出一个 layout 视图。这样原理图和版图同属一个 Cell后面做对比和验证时路径清晰。这一步的坑在于“新建 Cell 还是新建 View”。很多人习惯性地又建了一个新 Cell 来画版图结果原理图和版图分属两个 Cell做 LVS 时对不上回头合并文件非常痛苦。记住原则同一个电路原理图和版图是同一个 Cell 的两个 View。4.2 版图阶段要盯住的几个点版图窗口打开后图层、设计规则都来自建 Library 时挂的 tsmc18rf 工艺库这也是为什么第 2 章强调建 Library 时 techfile 不能选错。画的时候按原理图的连接关系摆放 MOS 管、连金属、打孔nmos 和 pmos 的衬底接法要和原理图一致。版图不像原理图那样有直观的连线检查更多依赖 DRC 和 LVS 来验证所以每画完一个模块就存一次别攒到最后。注意版图阶段最容易出的问题是文件放错 Cell 或 View以及工艺库挂错导致图层缺失。开工前先在 Library Manager 里确认 layout 视图挂在正确的 Cell 下、techfile 是 tsmc18rf比画到一半再回头查要省事得多。5. 避坑与排查这几处翻车我见得太多了5.1 现象icfb敲下去提示 command not found原因基本是安装目录没进 PATH或者你用的环境启动命令不是icfb。先which icfb确认找不到就把安装目录下的tools/bin、tools/dfII/bin加进 PATH如果环境本身用的是virtuoso启动就换成对应命令界面和后续操作一致。别一看到报错就重装九成是路径问题。5.2 现象新建 Library 时选不到 tsmc18rf原因是工艺库没被 CDS 识别可能是库路径没配、库文件不在预期位置或者 license 没起。先按 2.1 的自检命令确认库目录存在再检查CDS_LIB_PATH之类的变量有没有包含工艺库父目录。如果只是做原理图仿真其实可以选Dont need a techfile先跑通流程但要画版图就必须把 techfile 挂上否则图层和规则全缺。5.3 现象仿真报错信息窗口一堆红字先分清是环境错还是电路错。库没装好、license 没起报错通常出现在 Netlist and Run 之后的信息窗口指向库或 license电路本身的错多半是连线悬空、参数单位写错比如 1.8V 写成带单位、或者改了图没按x检查。排查顺序是先x检查保存再看信息窗口第一条错误从第一条往下读别被后面的连锁报错带偏。5.4 现象symbol 和内部电路对不上典型原因是生成 symbol 前只按了s没按x或者改了内部电路后没重新同步。解决方法是回到原理图x再s重新走一遍 create cellview from cellview另外检查引脚方向有没有设反in 是 input、out 是 output方向错了外部连接会出问题。5.5 现象测试电路里地和内部接不上几乎都是全局网络没带感叹号。gnd和gnd!在 Cadence 里不是一回事带感叹号才是全局变量才能跨层级连接。按q看线的属性把该带感叹号的网络改成gnd!、vdd!再重新仿真确认。6. 装完怎么验证跑通用一条反相器链路做终检环境装没装好不看软件能不能打开看这条链路能不能从头走到尾。我的验证顺序是这样的先icfb 起软件进 Library Manager 确认inv库和 tsmc18rf 工艺库都在再打开sche的 schematic按x检查保存进 analog Environment 跑一次 transtop time 10n看波形里 net18 和 net22 是否呈现反相逻辑然后进sche的 layout 视图确认图层正常、能正常保存最后回到测试电路sche_test确认invsymbol 能正常调用、gnd!和vdd!连接正确。验证项通过标准不通过先查软件启动icfb 进入主界面PATH、启动命令库识别Library Manager 见 inv 和 tsmc18rf库路径、techfile原理图仿真tran 出波形输入输出反相连线、参数单位、x检查symbol 复用测试电路能调 inv 并仿真引脚方向、symbol 同步版图视图layout 能打开、图层正常Cell/View 是否放对、techfile这条链路里任何一环断了都别急着往下走回到对应章节按自检命令查一遍。我自己的习惯是每次新环境装完先拿这个反相器从原理图跑到版图视图打开全部走通才敢往里放真实设计——因为这条链路覆盖了启动、库、原理图、仿真、symbol、版图六个最容易出问题的环节任何一处配置不对都会在这里暴露。从那以后我每次装完 Cadence 都强制走一遍这个最小闭环比看任何安装日志都直观。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站