第二章 EDA工具入门:主流EDA工具介绍与基本操作
各位同学,今天咱们聊聊EDA工具。说实话,我刚入行那会儿,面对一堆工具界面也是懵的。但别怕,工具这东西,用多了就熟了。我个人的经验是——先别急着点鼠标,搞清楚每个工具是干嘛的,比什么都重要。
2.1 三大主流EDA工具概览
目前业界主流的EDA工具,说白了就三大家:Cadence、Synopsys、Mentor(现在叫Siemens EDA)。咱们做版图设计的,最常打交道的是下面这三款:
| 工具名称 | 厂商 | 主要用途 | 我的评价 |
|---|---|---|---|
| Virtuoso | Cadence | 模拟/混合信号版图设计 | 模拟版图的老大哥,我用了十年 |
| ICC2 | Synopsys | 数字后端布局布线 | Synopsys家的王牌,跑大芯片稳 |
| Innovus | Cadence | 数字后端布局布线 | 跟ICC2打擂台,各有千秋 |
你可能会问,为什么模拟和数字要用不同的工具?嗯,这个问题我当年也问过师傅。模拟版图讲究的是器件匹配、寄生参数控制,这些Virtuoso做得最细。数字版图呢,几百万个标准单元要自动摆放,ICC2和Innovus才是专业的。
核心观点: 工具只是手段,懂工艺、懂电路才是根本。我见过有人把Virtuoso玩得飞起,但画出来的版图全是坑。反过来,也有人用最基础的命令,做出来的芯片一次流片成功。
2.2 Virtuoso界面与基本操作
先说说Virtuoso。打开之后你会看到一个叫CIW(Command Interpreter Window)的窗口,这是Virtuoso的大脑。所有的操作反馈、错误信息都在这里显示。
我个人习惯把界面分成三块:
- 左侧:LSW(Layer Selection Window)——选层的,画什么层就点哪个
- 中间:版图编辑区——你画图的地方
- 下方:CIW窗口——看日志、输命令
基本操作其实就几个:
# 创建新cell
File -> New -> Cell View
# 画矩形
Create -> Rectangle (快捷键: r)
# 画路径
Create -> Path (快捷键: p)
# 保存
File -> Save (快捷键: Ctrl+S)
我记得有一次,一个新手同事画了半天,结果没保存就关了窗口。嗯,从那以后我养成了每画5分钟就按一次Ctrl+S的习惯。
小技巧: Virtuoso的快捷键是可以自定义的。我习惯把常用的命令绑到顺手的位置。比如把"画矩形"改成Shift+R,这样左手不用离开键盘区域。
2.3 ICC2与Innovus:数字后端双雄
数字后端工具,说白了就是帮你把门级网表变成物理版图。ICC2和Innovus的核心流程差不多,但操作习惯差异挺大的。
ICC2用的是Tcl脚本驱动,你想想看,几百个命令全敲进去,跑起来很爽。Innovus呢,既有图形界面,也支持脚本。我个人觉得Innovus的图形界面更友好一些,适合初学者上手。
基本流程是这样的:
- 数据准备:加载网表、库文件、约束
- 布局规划:确定芯片大小、IO位置、宏单元摆放
- 标准单元摆放:工具自动放标准单元
- 时钟树综合:把时钟信号送到每个触发器
- 布线:把所有单元连起来
这里有个坑,我曾经踩过——布局规划阶段如果IO位置没摆好,后面布线会绕死你。所以我的建议是,花70%的时间在布局规划上,后面就顺了。
注意事项: ICC2和Innovus的工艺文件格式不同。ICC2用 Milkyway 格式,Innovus 用 LEF/DEF 格式。千万别搞混了,否则加载时报错你会怀疑人生。
2.4 工艺文件加载
工艺文件,说白了就是代工厂给你的"游戏规则"。里面定义了每层金属的厚度、最小线宽、间距规则等等。没有它,工具根本不知道该怎么画。
加载工艺文件,不同工具有不同方式:
| 工具 | 工艺文件类型 | 加载方式 |
|---|---|---|
| Virtuoso | .tf (technology file) | CIW中 load "xxx.tf" |
| ICC2 | .tf + .nlib | create_lib 命令 |
| Innovus | .lef + .techfile | init_design 时指定 |
Virtuoso加载工艺文件,我一般这么干:
# 在CIW窗口输入
load "/path/to/your/technology.tf"
# 或者用菜单
Tools -> Technology File Manager -> Load
加载成功后,你会看到LSW窗口里出现了对应的层。如果没出现,别慌,检查一下路径对不对。我曾经因为路径里有个空格,折腾了半小时才找到原因。
避坑指南: 工艺文件版本一定要跟PDK匹配。我曾经用180nm的工艺文件去加载130nm的PDK,结果画出来的版图尺寸全不对。嗯,那次被项目经理骂得不轻。
2.5 知识体系总览
说了这么多,咱们用一张图来总结一下本章的核心内容:
这张图把咱们今天讲的内容串起来了。你看,三大工具各有侧重,但核心操作流程是相通的。你只要把Virtuoso玩熟了,学ICC2和Innovus就会快很多。
好了,今天就到这儿。记住我一句话:工具是死的,人是活的。多练、多踩坑、多总结,你也能成为版图设计的老手。