(2) Innovus LAB5-1 / LAB5-2 / LAB5-3 / LAB5-4

Innovus LAB5-1 / LAB5-2 / LAB5-3 / LAB5-4 笔记

一、启动 Innovus

在启动 Innovus 前,需要先进入当前实验的 work 工作目录。

启动命令如下:

1
innovus -log import_design

说明:

  • innovus:启动 Innovus 工具。
  • -log import_design:指定本次运行的日志文件名。
  • 建议每次启动时都给 log 起一个有意义的名字,方便后续 debug。

例如:

1
2
3
innovus -log import_design
innovus -log floorplan
innovus -log route

这样生成的 .log.cmd 文件更容易区分每一步做了什么。


LAB5-1:设计导入

1. GUI 导入设计入口

在 Innovus 图形界面中,选择:

1
File → Import Design

会弹出设计导入窗口。


2. 加载 globals 文件

在 Import Design 窗口中,点击 Load 按钮,选择当前工作目录下的 dtmf.globals 文件。

点击 Open 后,设计导入所需的文件会自动填入列表中。

最后点击 OK,即可完成设计导入。


3. dtmf.globals 文件的作用

dtmf.globals 是 Innovus 设计导入时使用的全局配置文件。

它里面保存了设计导入需要的各种文件路径和变量,例如:

  • Verilog 网表文件
  • LEF 物理库文件
  • IO 文件
  • MMMC View 文件
  • Power Net / Ground Net
  • Top Cell 名称

简单理解:

dtmf.globals 本质上就是 Innovus 用来自动填写 Import Design 窗口的配置脚本。

因此,为了实现自动化导入设计,可以直接编辑 dtmf.globals 文件,而不是每次都在 GUI 里手动填写。


LAB5-2:查看导入后的设计

1. Physical View 和 Floorplan View 的区别

设计导入后,默认显示在 Physical View 中。

如果想查看设计中的 macro、module、port 等整体布局信息,可以切换到 Floorplan View

二者区别如下:

对比项 Floorplan View Physical View
中文理解 平面规划视图 物理版图视图
关注重点 芯片整体布局 真实物理对象
主要查看内容 Die、Core、IO Pad、Macro、Row、Blockage Cell、Pin、Net、Metal、Via、Route、Macro、Pad
精细程度 比较粗 更细
常用阶段 Floorplan 阶段 Placement、CTS、Route、Signoff 阶段
是否重点看布线 一般不重点看 可以查看详细 routing
是否查看标准单元 通常不重点看单个 standard cell 可以查看每个 standard cell
类比 房子的户型图 房子的施工图 / 装修细节图

简单记忆:

Floorplan View 看整体规划,Physical View 看具体物理细节。


2. 适配显示整个 Layout

按下快捷键:

1
f

作用:

将当前 layout 自动适配到窗口中央显示。

这个快捷键在查看整体版图时非常常用。


3. 如何打开 cell 的 pin

如果想在版图中查看标准单元的 pin,需要通过 Innovus 右侧控制面板设置。

路径大致为:

1
Cell → Pin Shapes

其中:

  • V 代表 Visible,可视。
  • S 代表 Selectable,可选择。
操作 效果
勾选 V 能在版图里看到 cell 的 pin
勾选 S 鼠标可以点选这些 pin
只勾选 V,不勾选 S 能看见,但点不中
只勾选 S,不勾选 V 理论上可选,但看不见,不方便操作
两个都不勾 看不见,也点不中

核心记忆:

V 控制看不看得见,S 控制能不能点选。


4. 如何放大和缩小 layout

放大、缩小 layout 可以通过 GUI 状态栏中的放大镜按钮实现。

常用相关操作:

操作 作用
放大镜按钮 放大 / 缩小 layout
f 将整个 layout 适配到窗口中央
Shift + z 缩小视图

5. 查看设计 Hierarchy 层次

可以通过以下菜单打开 Design Browser:

1
Tools → Design Browser

Design Browser 可以查看:

  • 设计顶层
  • instance 层次
  • module 层次
  • nets
  • pins / ports
  • macro / block 数量

如果没有显示出层次信息,可以点击下方按钮回到设计顶层。

也可以通过快捷入口打开。


6. 使用 Ruler 尺子测量距离

调出尺子的快捷键是:

1
k

操作方法:

1
按下 k → 鼠标左键点击起点 → 鼠标左键点击终点

清除自己画的尺子:

1
Shift + k

注意:

画完尺子后,需要按 A 退出画尺子模式。

常见用途:

场景 作用
测量 macro 之间距离 判断布线通道是否足够
测量 core 尺寸 查看核心区域大小
测量 IO 到 core 的距离 判断 IO 和内部逻辑距离
测量 power ring 宽度 检查电源环尺寸
测量 blockage 范围 检查阻塞区域大小

7. 查看 Object 属性

选中版图对象后,可以查看其属性。

例如下图中选中的是一个 RAM block:

属性含义如下:

字段 当前值 含义
Object Type Block 当前选中对象是 Block,通常是 SRAM、ROM、PLL 等硬宏
Name ...RAM_256x16_INST RAM 实例在设计层次中的完整名字
No. of Terminals 44 该 RAM 有 44 个端口 / pin
Cell Type ram_256x16A 该实例对应的物理库单元类型
Cell Width 598.22 RAM 宏单元宽度
Cell Height 189.235 RAM 宏单元高度
Location X/Y X=1472.45, Y=588.955 RAM 左下角或参考点坐标
Box {1472.45 588.955} {2070.67 778.19} 该 Block 的矩形边界坐标
Location Origin Lower Left 位置参考点是左下角
Orientation R0 没有旋转,正常方向摆放
Status PLACED RAM 已经被放置在版图中
CTS Status UNSET 该对象的 CTS 状态未设置
Effective Status PLACED 当前实际状态也是已放置
Routing Halo None 周围没有设置布线保护区
InstGroup None 不属于某个 instance group
Litho 未勾选 与光刻相关,普通情况下不用管
connectEntry 71 内部连接 / 属性项编号,初学阶段不用重点关注

8. Orientation 方向含义

Orientation 表示 cell / macro 在版图中的摆放方向。

常见取值如下:

Orientation 含义
R0 旋转 0°,不旋转,正常方向
R90 顺时针旋转 90°
R180 旋转 180°
R270 顺时针旋转 270°
MX 沿 X 轴镜像翻转
MY 沿 Y 轴镜像翻转
MXR90 先镜像再旋转 90°
MYR90 先镜像再旋转 90°

其中:

1
R0

表示 macro 没有旋转,也没有镜像,按照 LEF 中定义的原始方向摆放。

注意:

Macro 的方向会影响 pin 朝向、走线长度、拥塞情况和电源连接,因此 floorplan 阶段不能随便旋转或镜像 macro。


LAB5-3:Tear Off 菜单

1. Tear Off 的作用

LAB5-3 主要介绍 Innovus 中的 tear off 功能。

当某个菜单需要频繁使用时,可以通过 tear off 将菜单独立显示在当前窗口上。

这样即使点击其他地方,该菜单仍然会保留在界面中,方便重复操作。


2. 操作方法

方法:

1
点击菜单下方的虚线区域

即可将该菜单独立显示出来。

简单理解:

Tear Off 就是把常用菜单“撕下来”,单独放在界面上,方便反复点击。


LAB5-4:清除 Floorplan

1. Clear Floorplan 的作用

LAB5-4 主要介绍如何清除 floorplan。

当需要重新定义芯片或模块的尺寸、core 区域、IO 位置、macro 摆放等信息时,可以使用 Clear Floorplan

简单理解:

应用场景:例如下面的这个我随便摆放了一下macro,但是现在我不想要这个了,那最好的方式就是直接Floorplan->Clear Floorplan

Clear Floorplan 就是清除当前已有的 floorplan 设置,为重新规划版图做准备。


2. GUI 操作步骤

在 GUI 中选择清除 floorplan 的菜单项。

点击 Clear Floorplan 后,会弹出确认对话框。

点击 OK 即可。


3. 什么时候需要 Clear Floorplan?

常见场景包括:

场景 说明
芯片尺寸设置错误 需要重新定义 die / core 大小
IO 位置不合理 需要重新导入或调整 IO
macro 摆放不合理 需要重新规划 macro 位置
Row 设置错误 需要重新生成 standard cell row
blockage 设置混乱 需要重新规划阻塞区域

注意:

Clear Floorplan 会清除当前 floorplan 相关信息,使用前要确认是否需要保存当前设计。


常用快捷键总结

快捷键 作用 说明
f Fit View 将整个 layout 适配到窗口中央
k Ruler 调出尺子,测量距离
Shift + k Clear Ruler 清除自己画的尺子
A Exit Mode 退出当前操作模式,例如退出画尺子模式
Shift + z Zoom Out 缩小视图
q Query 查看某个 object 的属性
c Copy 复制 physical object,常用于 blockage / shape,不建议随便复制普通逻辑 cell

关于 c 复制 physical object 的注意事项

快捷键 c 表示 copy,用于复制版图中的 physical object。

可以复制的对象包括:

  • blockage
  • shape
  • filler cell
  • decap cell
  • tap cell
  • endcap cell

但是不建议随便复制普通逻辑 cell,例如:

1
INV、BUF、NAND、NOR、MUX、DFF

原因是:

复制普通逻辑 cell 只是版图上多了一个物理对象,并不代表网表中正确增加了逻辑连接。

随便复制普通 cell 可能导致:

问题 说明
floating input 输入悬空
dangling instance 产生无连接实例
connectivity check 报错 连接关系检查不通过
LVS 不一致 版图与网表不匹配
Formal 不一致 逻辑等价性可能被破坏
ECO 流程混乱 后续修 timing 或布线困难

如果需要增加 buffer、inverter 或其他逻辑 cell,应使用规范 ECO 流程,而不是直接复制。


本节核心总结

LAB5-1 到 LAB5-4 主要学习了 Innovus 的基础 GUI 操作:

Lab 主要内容
LAB5-1 通过 Import Design 导入设计
LAB5-2 查看版图、切换 view、查看 hierarchy、查看 object 属性
LAB5-3 使用 Tear Off 固定常用菜单
LAB5-4 清除 Floorplan,为重新规划版图做准备

最重要的知识点:

  1. 启动 Innovus 时推荐使用 -log 指定日志名。
  2. Import Design 可以通过 dtmf.globals 自动加载设计文件。
  3. Floorplan View 主要看整体布局,Physical View 主要看物理细节。
  4. 右侧控制面板中的 V 控制是否可见,S 控制是否可选。
  5. k 可以调出 ruler,Shift + k 可以清除 ruler,A 可以退出当前模式。
  6. q 用来查看对象属性。
  7. Orientation = R0 表示对象没有旋转,按原始方向摆放。
  8. Clear Floorplan 用于清除当前 floorplan,方便重新规划。
  9. c 可以复制 physical object,但不能随便复制普通逻辑 cell。
ESC 关闭 | 导航 | Enter 打开
输入关键词开始搜索