第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版图设计流程,大致分为以下几步。我用一张流程图来展示:

Aether版图设计工作流程 1. 创建库与单元 2. 设置工艺文件 3. 绘制版图 4. DRC/LVS验证 5. 输出GDSII 定义顶层单元名称 设置层次关系 加载工艺规则 设置显示层次 使用层次化方法 注意最小间距 运行DRC检查 修正错误后LVS 导出最终版图数据

这个流程看起来是线性的,但实际工作中经常需要循环迭代。比如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工具的基本介绍就到这里。工具本身不难,难的是养成好的设计习惯。下一章我们会深入讲解层次化设计的具体操作,到时候我会带大家一步步创建一个完整的层次化版图。


专注资料整理