第二章 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的图形界面更友好一些,适合初学者上手。

基本流程是这样的:

  1. 数据准备:加载网表、库文件、约束
  2. 布局规划:确定芯片大小、IO位置、宏单元摆放
  3. 标准单元摆放:工具自动放标准单元
  4. 时钟树综合:把时钟信号送到每个触发器
  5. 布线:把所有单元连起来

这里有个坑,我曾经踩过——布局规划阶段如果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 知识体系总览

说了这么多,咱们用一张图来总结一下本章的核心内容:

EDA工具入门知识体系 Virtuoso ICC2 Innovus 模拟/混合信号版图 数字后端布局布线 数字后端布局布线 核心操作:界面熟悉 → 基本绘图/命令 → 工艺文件加载 工艺文件加载 .tf / .lef / .techfile / .nlib ⚠️ 避坑:工艺文件版本必须与PDK匹配,路径中不要有空格

这张图把咱们今天讲的内容串起来了。你看,三大工具各有侧重,但核心操作流程是相通的。你只要把Virtuoso玩熟了,学ICC2和Innovus就会快很多。

好了,今天就到这儿。记住我一句话:工具是死的,人是活的。多练、多踩坑、多总结,你也能成为版图设计的老手。

可可精品资料库