【Innovus基础】- 新手必学1

1、innovus打开后,产生cmd、log、logv; 分别记录输入的指令,指令+运行的过程,指令+运行的过程+时间。

  • 通常我们会查看log文件以debug;
  • 每次启动都会产生。启动多少次产生多少次。
    因此我们可以选择,指定log文件名称,以方便debug和记录;例如:innovus -log import,指定log文件名为import.cmd, import.log, import.logv

2、floorplan view来查看设计中有哪些macro(在innovus中也叫做block),module和port。

  • macro指的是Memory(RAM、ROM),IP核,PLL等

3、在Cell >> pin shape界面显示pin角

  • 不仅会显示输入输出pin,也会显示vdd、vss的pin这些

4、在floorplan view中,鼠标右键点击左侧的module,使用ungroup可以显示子模块。 并且点击模块会显示飞线

5、Innovus中最常用的一些快捷键

  • f:快速恢复视图
  • k:选择尺子,shift+k取消尺子标注
  • q:选择模块后,按下q,快速查看macro(在innovus中叫block) pad等的属性
  • 鼠标右键框选区域:放大对应区域

6、在floorplan,specify floorplan界面,可以设置Core的大小(比如依据比例,80占用比等),以及core2io和core2die的间距,从而为芯片的电源和时钟网络预留足够的空间和通路(比如下图设置的100)

  • 那么什么是floorplan呢? floorplan重点的布局,是指在PD过程中,对各个module、macro的位置和芯片形状进行规划的安排的过程。
  • 那究竟什么是core、io、以及die呢?
    • core指的是芯片中的核心逻辑区(Core Logic),即主要的功能模块所在区域
    • io指的是芯片的输入输出单元(I/O Ring),通常位于芯片外围,用于与外部引脚连接。
    • die指的是芯片的物理晶圆切割边界(Die Edge),在io的外侧,会有晶圆切割的边缘
      在这里插入图片描述

7、import_design后就需要checkDesign 的netlist,这里可以看到输出浮空引脚、高扇出net等

  • 在这里插入图片描述

8、在摆放macro(block)之前,要给macro添加halo;

  • 全称Placement Halo(放置保护区),是指在标准单元(Standard Cell)或模块周围预留的一定宽度的空白区域,用于避免单元之间的拥塞(congestion和布线冲突,确保后续Routing阶段有足够的空间进行信号线和电源线的布线。
  • 在这里插入图片描述
  • 使用鼠标右键Edit Halo,可以修改,或者增加Halo
  • 在这里插入图片描述

代码与文字齐飞,逻辑共创意一色!若我的文章让你会心一笑,点个赞我们一起笑谈"代码人生"!qxOWwKbl1tTzkyu.png

<think>好的,用户的问题是关于在Innovus中使用floorplan命令设置core到die的距离。我需要先回忆一下Innovus相关的命令和流程。首先,设置core到die的边界距离通常涉及确定core区域的大小和位置,以及die的边界。用户可能需要的是指定core到die四周的距离,比如左边、右边、顶部和底部。 记得在Innovus中,创建floorplan的基本命令是initialize_floorplan,这个命令可以指定core的大小和die的大小,或者通过偏移量来设置。例如,使用-utilization参数来确定core利用率,或者直接设置core的尺寸,然后通过-left、-right等参数来调整到die的距离。 另外,用户可能需要手动调整,这时候可以使用命令set_die_area来定义die的区域,然后用set_core_area来定义core区域,两者的差值就是core到die的距离。例如,如果die的宽度是1000微米,而core的宽度是800微米,左右各留出100微米,这样左右的距离就是100微米。同样适用于上下方向。 还需要注意,用户可能需要处理不规则的形状,比如多边形die,这时候可能需要设置enableRectilinearDesign为1,如引用[2]提到的。不过用户当前的问题可能不需要这个,但最好还是提一下,避免出现错误。 此外,用户可能需要可视化确认设置是否正确,这时候可以检查视图中的显示,如引用[1]中提到的调整Min.Floorplan Module Size选项来显示较小的模块,确保core和die的位置正确显示。 总结步骤应该是:1. 使用initialize_floorplan命令时直接指定偏移量;2. 或者通过set_die_area和set_core_area分别设置;3. 验证设置是否正确,可能需要调整视图参数。还要提醒用户注意单位是否一致,以及是否需要处理不规则形状的情况。</think>在Innovus中设置core到die的边界距离,可以通过以下两种方式实现: ### 一、使用`initialize_floorplan`命令直接定义 这是最常用的初始化floorplan方法,通过指定核心区域到die边界的偏移量: ``` initialize_floorplan \ -utilization 0.7 \ # 核心区域利用率 -left_io2core 50 \ # die左边界到core左边界的距离(单位:微米) -right_io2core 50 \ # die右边界到core右边界的距离 -top_io2core 100 \ # die顶部到core顶部的距离 -bottom_io2core 100 # die底部到core底部的距离 ``` ### 二、手动设置die/core区域 若已存在die或core区域,可通过坐标系直接定义: 1. 设置die区域: ``` set_die_area { {0 0} {1000 800} } # 定义die为1000x800微米矩形 ``` 2. 设置core区域: ``` set_core_area { {50 100} {950 700} } # core区域距离die左50,右50,下100,上100微米 ``` ### 验证设置 - 执行`gui_fit`查看布局 - 使用`report_die_area`和`report_core_area`验证坐标 - 注意单位一致性(默认微米)[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LogicYarn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值