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
代码与文字齐飞,逻辑共创意一色!若我的文章让你会心一笑,点个赞我们一起笑谈"代码人生"!