1.主要用到三种文件夹:lef、lib、tech
2.scc018ug_hd_rvt_ant.lef标准lef
3.sp018RP_v1p0_6MT.lef——IO的lef
4.RFTP512X24M4.lef——memory的lef
5.工具使用:innovus -64
input目录下
1.asic.v–>前端提供的网表
2.asic.sdc(前端提供的sdc。前端与后端使用的sdc不一样)
1.使用diff命令查看工程师对前端提供的sdc的改动(拿到sdc第一件事是检查timing)
2.工程师把-setup原来的6改成了0.3
3.>的都是工程师修改后的值
软件使用
读入网表
选择好网表后,点击add
设置名称asic
读入lef
最先读入tech.lef
添加其他lef
添加完毕
Power设置
creat analysis configuration
将最终文件保存在pr文件夹下
设置完成
选择ok,开始读入网表
查看default.view
工程师经验值设置的参数
自己做项目需要在pr的每个stage抽取spf文件,再用start_rc抽取spf文件,两者进行比对。比对参数的差值放入default.view中
最后添加QRC的file–foundary提供的寄生参数文件
定义Floorplan
选择specify floorplan
直接按照系统默认来做,点击ok
查看io端口
注意:
1.io信号不要放在corner处,往边框的中间部分放
2.Floorplan在pr中最费时费精力:
(1)要定义check的大小怎么合理
(2)io放好后不能只有信号。还要从io的库中找io的power与ground
(3)还需要考虑 ESD(芯片的静电保护设计)。如果EDS保护不够,芯片容易被静电打坏,故需要考虑电路的电荷的泄放。(有完整的运算规则)
放好io的位置
在四角放置coner cell
抓取设计的IO cell
抓取MACRO PCORNERR
-inst实例名
_sw表示s.w方向的corner
输入命令后
将R_SW放入西南角
将Status改为FIXED
勾选多选按钮
选中所有memory
勾选移动按钮
处理memory
将memory周围加上一圈spacer(避免memory相互挨着,以防drc出错)
打开Floorplan的编译器(原视频31分27秒)
加io的power ground cell
1R:1.8v
2R:3.3v
3R:3.3+1.8v
一般用3R
做power-Connect Global Nets
要了解cell中有哪些是power与ground的pin(视频37分28秒)
查看ram的power/ground
查看io的界面
所有instance的pin(例如VDD的),都要接入Global Net上去
查看standcell
powerground的connect要找POWER。其中两个pin,VDD与VNW都已经定义成POWER了
所有的VNW也要链接到VDD上
VSW,GND,VSS都要链接到VSS上
添加好后,点击apply
(若无报错,说明链接没有问题)
做Power Planning
由于我们的封装工艺是wire bond形式,外部需要做一圈ring
power会从外部的io进入到ring,再进入内部
ring有两种:around core boundary与along I/O boundary
(原视频42分30秒)
如何判断Top,Bottom,Left,Right选什么层次?
1,3,5横向,2,4,6纵向
top,bottom做横向,left,right做纵向(一般都选高层次)
宽度选择:要保证选择的宽度使ring能供到芯片要求的功耗(查看自己设计的design rule)
design rule中最大的metal宽度是35
实际的数据要根据每单位金属可通达的电流量是多少,进而计算宽度是多少
(视频46分41秒)
Route
(视频48分18秒)