第2章:华大九天Aether工具介绍
各位工程师朋友,大家好。这一章我们来聊聊华大九天的Aether工具。说实话,我刚接触这个工具时,第一反应是「界面还挺清爽的」。但用久了才发现,它的设计逻辑其实很贴合咱们版图工程师的日常习惯。
2.1 Aether工具界面概览
打开Aether,你首先看到的是一个典型的EDA工具布局。我个人习惯把界面分成四个区域来记忆,这样上手更快。
| 区域名称 | 位置 | 主要功能 |
|---|---|---|
| 菜单栏与工具栏 | 顶部 | 文件操作、编辑、视图控制、工具切换 |
| 设计浏览器 | 左侧 | 层次化结构树、库管理、单元列表 |
| 版图编辑区 | 中央 | 主画布,进行版图绘制与编辑 |
| 属性与日志面板 | 右侧/底部 | 对象属性查看、操作日志、命令行输入 |
嗯,这里要特别提一下左侧的设计浏览器。它不只是个文件管理器,更是层次化设计的核心入口。你想想看,一个复杂的芯片可能有几十个模块,靠这个树形结构,你能一眼看到顶层到底层的所有关系。
核心要点:设计浏览器中的层次结构是实时更新的。你在编辑区改了什么,树结构会立刻反映出来。这一点在做顶层集成时特别有用。
2.2 主要功能模块
Aether的功能模块划分得很清晰。我按工作流顺序给大家捋一遍:
2.2.1 版图编辑模块
这是最核心的部分。说白了,就是画版图的地方。支持基本的图形绘制(矩形、多边形、路径)、布尔运算、对齐分布等操作。我记得刚用的时候,发现它的自动吸附功能默认是开启的,如果你不习惯,可以在设置里关掉。
2.2.2 层次化设计模块
这个模块是Aether的亮点。它让你能创建单元(Cell),然后实例化调用。举个例子:你设计了一个反相器单元,在顶层可以直接调用它几十次,而不需要重复画。我在项目中遇到过有人把整个芯片画在一个单元里,结果后期改一个尺寸,全盘都要重来——这就是没用好层次化。
2.2.3 物理验证模块
集成了DRC(设计规则检查)和LVS(版图与原理图一致性检查)。你可以在Aether里直接跑验证,不用切到其他工具。不过说实话,我建议在早期阶段多用增量检查功能,别等到最后才跑全量检查,否则改起来会崩溃。
2.2.4 脚本与自动化模块
支持Tcl和Python脚本。对于重复性操作,比如批量生成某个结构,写个脚本能省下大量时间。我曾经用Python脚本自动生成了一个128位的加法器版图,只花了10分钟,而手动画至少要两天。
我的小技巧:刚开始学脚本时,可以先录制操作,然后查看生成的脚本代码。Aether支持操作录制,这是学习脚本语法最快的方式。
2.3 工作流程简介
一个典型的Aether版图设计流程,大致分为以下几步。我用一张流程图来展示:
这个流程看起来是线性的,但实际工作中经常需要循环迭代。比如DRC报错,你得回到步骤3修改版图,然后再验证。我曾经有一个项目,在步骤4和步骤3之间来回跑了七八次才通过。
2.3.1 创建库与单元
打开Aether后,第一步是新建一个库(Library)。库相当于一个项目文件夹,里面存放所有相关的单元。我个人习惯按功能模块来命名库,比如「PLL_Lib」、「ADC_Lib」,这样后期好管理。
2.3.2 设置工艺文件
这一步很关键。工艺文件定义了设计规则,比如最小线宽、最小间距、金属层厚度等。如果工艺文件没设对,后面画得再好也是白搭。我记得有一次,同事忘了加载金属层规则,结果画出来的版图在DRC时全红了——嗯,那种感觉真的很酸爽。
注意:工艺文件通常由晶圆厂提供,不要自己随意修改。如果发现规则有问题,第一时间联系工艺厂确认。
2.3.3 绘制版图
这是最耗时的一步。Aether提供了丰富的绘图工具,包括矩形、多边形、路径、圆形等。我建议新手先从简单的单元开始,比如反相器、与非门,等熟练了再挑战复杂模块。
绘制时要注意层次化思维:把重复的结构做成单元,然后实例化调用。这样做的好处是:
- 修改时只需改一个地方,所有实例自动更新
- 文件体积更小,打开和保存速度更快
- 团队协作时,每个人负责不同的单元,互不干扰
2.3.4 DRC/LVS验证
画完版图后,必须跑验证。Aether的DRC检查会逐条比对设计规则,如果有违反的地方,会在版图上高亮显示。LVS则是检查版图与原理图是否一致。
这里分享一个经验:不要等到整个芯片画完才跑验证。每完成一个子模块,就立刻跑一次DRC。这样错误是分散的,容易定位。如果攒到最后一起跑,几百个错误堆在一起,你根本不知道从哪改起。
2.3.5 输出GDSII
最后一步是导出GDSII文件,这是晶圆厂通用的版图数据格式。Aether支持一键导出,但要注意检查导出选项,比如是否包含所有层次、是否压缩等。
避坑指南:我曾经在导出时忘了勾选「包含所有层次」,结果流片回来发现少了顶层金属层。从那以后,我每次导出前都会仔细检查导出设置,并且用第三方工具打开GDSII文件再确认一遍。
好了,关于Aether工具的基本介绍就到这里。工具本身不难,难的是养成好的设计习惯。下一章我们会深入讲解层次化设计的具体操作,到时候我会带大家一步步创建一个完整的层次化版图。