Innovus零基础lab学习全面复盘总结(附完整版pdf)
文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。
为了让各位训练营学员更快入门数字 IC 后端,从第八期 IC 训练营开始,小编以一个**“数字后端新手” 的身份和姿态**同每个 0 基础学员一样,每天按照学习计划来完成 Innovus 零基础 lab 的学习实践。
当然小编比各位累得多,因为要对这套 lab 做加减法。对原始 lab 中介绍的那些不怎么用的章节直接删除,对实际项目高频而且非常重要的技能做适当补充。更为要命的是还得图文并茂。
今天,小编将对过去 11 天的 innovus 零基础 lab 学习做一个全面复盘总结。
So,你们说够不够意思?看完今天的内容分享后,请一定在文章末尾点 “在看” 或转发。
[福利] 小编已经把这 11 天编写的 Innovus 零基础 lab 教程汇总成一份 PDF 了,页数为 130 页,字数超 1 万字。为了满足部分同学的学习需求,目前限量售卖 10 份,每份仅售 68 元。
想要获取这份完整版 pdf 文档的,可以添加小编微信 ic-backend2018。
如果你希望在我们服务器上练习这个 lab 并提供 lab 内容的答疑,也可以私信定制需求。
LAB5-1 设计导入(Import design)
通过这个章节的学习,主要学习掌握了以下几大内容:
- 学会设计导入方法,设计导入各种文件的作用及意义
- 学会 Design browser 的使用,通过它可以快速知道设计的各个子功能模块以及 macro 的数量
- 了解 layout 的三种视图的不同
- 学会 innovus 的基本操作,比如如何看 cell 的 pin,layout 的放大缩小等。
![](https://img-blog.csdnimg.cn/img_convert/c139448701a994ab20cd960358b75b13.png)
![](https://img-blog.csdnimg.cn/img_convert/b94da66aeda2deb251e8b0d95164b280.png)
数字 IC 后端设计实现流程之 initial design
**LAB5-2****Using Bindkeys**
通过这个章节的学习,掌握了软件常用的快捷键。
- 调出尺⼦ ruler。按下 k 键后⿏标左键开始画尺⼦。清除⾃⼰画的尺⼦,按下 shift+k 即可。(这⾥需要注意跳出画尺⼦模式,需要按下快捷键 A)
- 缩⼩按下 shift +z 即可。
- 复制某个 object ,按下快捷键 c 即可。
- 查看某个 object 的属性,按下 q (query 的意思) 即可
**LAB5-3****Tearing Off Menus**
熟悉了解了通过 tear off 某个菜单,将某个菜单独⽴显⽰在我们的显⽰窗⼝上(点击其他地⽅该菜单仍然在当前视图显⽰)
LAB5-4 清除 floorplan 相关 object
熟悉了 clear floorplan 的图形界面操作和命令实现方法 (deleteAllFPObjects)
LAB5-5 指定 floorplan 形状及大小
掌握了定义 floorplan 形状及大小的方法。
![](https://img-blog.csdnimg.cn/img_convert/102a51d58e090f360291fa737b8ff610.png)
LAB5-6 定制菜单
这个章节对于初学者可以跳过。这节主要介绍如何定制工具的菜单。
LAB5-7 设计导入后的设计检查
熟悉掌握了设计成功导入后应该做的检查 (checkDesign -netlist)。
LAB 6 Powerplan 规划
这部分是关于芯片电源网络的规划设计,没有对应的 lab。但是为了让大家理解芯片的供电网络,特地对整个供电网络的结构进行了说明。
![](https://img-blog.csdnimg.cn/img_convert/716b90b6ca8bc4323aa6656031890868.png)
一个强制供电网络的标准:
- IR Drop 符合设计 spec(静态 3-5%,动态 14%)
- EM 满足 foundary 的 signoff 要求
- 供电电阻足够小
LAB7-1 Floorplan
通过 Floorplan 章节的学习,了解掌握了设计导入后应该如何借助工具来做macro,port 的摆放以及如何给设计打 power。
- 学会了如何来人工摆放 macro 和 port
- 学会了如何给 macro 添加 placement blockage 和 routing blockage
- 学会了利用 GUI 来添加 power ring,power stripe 以及 sroute 等方法
LAB10-1 & LAB10-2
- 学会了跑 place 前 mode 的检查和 mode 的设置方法
- 带 scan chain 设计的 scan chain def 读入方式以及 placement 后的 scan chain 的展示方法
- 学会了看 placement 后的 congestion 和 density map
![](https://img-blog.csdnimg.cn/img_convert/0cfdde41b19f2f2c389b4664bcb2d371.png)
LAB12-1 &LAB12-2 RC 抽取和 Timing 分析
- 掌握了 RC 抽取和 timing report 产生方法
- 利用图形界面Timing Debug 来高亮有 timing violation 的 path,学会了分析 timing path。
![](https://img-blog.csdnimg.cn/img_convert/b21ccd089d05d5e95fc638d1493ff17a.png)
![](https://img-blog.csdnimg.cn/img_convert/f6afd00985eefe219d8dec2628391aa0.png)
Module 13 是关于功耗和面积优化的内容,这部分没有对应的 lab。这方面的技能大家可以在后续社区训练营实战项目中学习中掌握。
想要彻底掌握 placement 各种技巧,这个一定可以如你所愿!
LAB 14 时钟树综合
通过这个章节内容的学习,掌握了如下内容:
- 熟悉了时钟树综合前的准备工
- 掌握了时钟树综合的各种跑法 (ccopt_design 和 ccopt_design -cts)
- 学会了使用Ccopt Clock Tree Debugger来分析时钟树质量
- 初步了解时钟树结构 trace 的方法
- 掌握了高亮时钟 path 的图形界面操作方法和命令行操作方法
- 时钟树综合后的时序优化(PostCTS 的 timing 优化)
![](https://img-blog.csdnimg.cn/img_convert/39615a19310a44f8cb8799729b1a38d5.png)
ARM Cortex-A7 时钟树综合实战分析
https://alidocs.dingtalk.com/i/team/QqWXw0n4YVY3gm31/docs/QqWXwVg3lPv25z31?corpId=dingcd9df953ab4a15574ac5d6980864d335
LAB15 Routing
这个章节是介绍工具绕线相关的内容。通过这个章节的学习主要熟悉掌握了以下几大内容:
- 掌握了通过给指定 net 设置 ndr rule 和 shielding rule,并单独优先绕好指定 net 的绕线
- 学会了如何看 route 后的 drc 情况
- 学会分析 route 后的时序以及时序优化的方法 (timeDesign 和 optDesign)
![](https://img-blog.csdnimg.cn/img_convert/995f70857f03e01cd066c3c64cabf295.png)
https://alidocs.dingtalk.com/i/team/QqWXw0n5aLwoxm31/docs/QqWXwe39KRZL9G31?corpId=dingcd9df953ab4a15574ac5d6980864d335
数字后端设计实现中 route 阶段的那些事
LAB16 Wire Editing
这个章节主要是学习 innovus 中进行人工画线,cut wire,换孔等一系列常见操作。这些技能主要可应用于后续的 physical drc 修复。通过这个章节主要熟悉掌握了以下几大技能:
- 根据逻辑连接关系和 net 的特殊要求来完成人工走线
- 掌握切断一根线,复制一段 net shape 的方法
- 为了满足 drc 的要求,将有 drc 的 via 换成其他类型 VIA 来修复 drc
- 掌握通过图形界面和命令的方式来更改 metal shape 的 layer 和宽度等的方法
![](https://img-blog.csdnimg.cn/img_convert/41cfa288b5d9549dffe5e1d5282ab9ae.png)
LAB19 在线 DRC 检查
通过这个章节的学习,主要掌握了以下几大技能:
- 通过图形界面操作和命令行两种方式来做 innovus 的在线 DRC 检查
- 掌握了 verifyConnectivity 和 verify_drc 命令的使用方法
- 掌握了针对特定区域做 DRC 检查的方法
- 熟悉掌握了常见各种 DRC 修复方法
![](https://img-blog.csdnimg.cn/img_convert/871a381d29be7ce087a31dd3a8dac221.png)
手把手教你在 innovus 中使用 verify_drc
LAB20 Engineering Change Orders(ECO)
本章节介绍了 Innovus 中做 Function ECO 的方法和流程。
![](https://img-blog.csdnimg.cn/img_convert/40992f50243997689153d3952a39abc7.png)
Innovus 中做 ECO 原来可以这么简单!
LAB23 dbGet 的使用
这个章节主要学习掌握一些常见 dbGet 获取设计相关信息的命令。由于这部分需要时间来慢慢积累,而且新手对于 dbGet 命令使用也是一头雾水,为此小编特定为大家整理了一些做项目高频使用的命令。
![](https://img-blog.csdnimg.cn/img_convert/11d56c85e128733587003a8d4b27acad.png)
![](https://img-blog.csdnimg.cn/img_convert/7e70f80e583e1f92f65ce31c2fa7cf80.png)
好了,今天的内容分享就到这里。另外,因为公众号更改推送规则,小编分享的每篇干货不一定能及时推送给各位。为了避免错过精彩内容,请关注星标公众号,点击 “在看”,点赞并分享到朋友圈,让推送算法知道你是社区的老铁,这样就不会错过任何精彩内容了。
如果你想和小编有更进一步的沟通交流的机会,欢迎加入小编知识星球,让我们一起学习成长,共同进步。相信在这里能让你成就一个更完美的自己。
小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入 ****):
在这里,目前已经规划并正着手做的事情:
- ICC/ICC2 lab 的编写
- 基于 ARM CPU 的后端实现流程
- 利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现
- 基于 ARM 四核 CPU 数字后端 Hierarchical Flow 实现教程
- 时钟树结构分析
- 低功耗设计实现
- 定期将项目中碰到的问题以案例的形式做技术分享**
- 基于 90nm 项目案例实现教程(ICC 和 Innovus 配套教程)
- 数字 IC 行业百科全书
吾爱 IC 社区知识星球星主为公众号” 吾爱 IC 社区” 号主,从事数字 ic 后端设计实现工作近十年,拥有55nm,40nm,28nm,22nm,14nm等先进工艺节点成功流片经验,成功tapeout 过三十多颗芯片。
这里是一个数字 IC 设计实现高度垂直细分领域的知识社群,是数字 IC 设计实现领域中最大,最高端的知识交流和分享的社区,这里聚集了无数数字 ic 前端设计,后端实现,模拟 layout 工程师们。
在这里大家可以多建立连接,多交流,多拓展人脉圈,甚至可以组织线下活动。在这里你可以就数字 ic 后端设计实现领域的相关问题进行提问,也可以就职业发展规划问题进行咨询,也可以把困扰你的问题拿出来一起讨论交流。对于提问的问题尽量做到有问必答,如遇到不懂的,也会通过查阅资料或者请教专家来解答问题。在这里鼓励大家积极发表主题,提问,从而促进整个知识社群的良性循环。每个月小编会针对活跃用户进行打赏。
最重要的是在这里,能够借助这个知识社群,短期内实现年薪百万的梦想!不管你信不信,反正已经进来的朋友肯定是相信的!相遇是一种缘分,相识更是一种难能可贵的情分!如若有缘你我一定会相遇相识!知识星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有 1541 位星球成员,感谢这1541位**童鞋的支持!欢迎各位渴望进步,期望高薪的铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标 **。
![](https://img-blog.csdnimg.cn/img_convert/469cfe8c6d1b168ec2ac40666ce9808d.png)
欢迎关注 “吾爱 IC 社区”
微信号:ic-backend2018
![](https://img-blog.csdnimg.cn/img_convert/6c001aa566cad2adec1fbd164a9e662d.png)
https://mp.weixin.qq.com/s/IX5RfcxWvWYUwUAAH_I1dQ