Chart035工艺后端过程总结Word下载.docx
《Chart035工艺后端过程总结Word下载.docx》由会员分享,可在线阅读,更多相关《Chart035工艺后端过程总结Word下载.docx(24页珍藏版)》请在冰点文库上搜索。
4、vac0802dtp(做完DTP)/top_cell
/top_endcell(相应的线加宽,最终的)
vacvss035/vac035数字部分
/vac035all用于导出网表的图
/vac730all加入PAD的全部图
三、最终上交文件存放(logo错,不应用metal4label标注):
~/vad0726/leejf/leejf0802/drc/data/vac0802end.gds
vac0802endnomerge.gds是streamout数据时,options/选择了nomerge项
SE和DTP部分
一、准备工作
1.在自己的工作目录下建立一个se文件夹:
server%mkdirse,在此目录下进行所有的SE工作(/export/rmhome/rcm/vacvss035/leejfse/);
2.在se文件夹下建立三个目录:
run、source和output。
*source目录下存放做SE工作所需要的一些文件,包括:
.lef、.gcf、.map和.v文件等。
具体用的到的文件有:
.lef:
cb35_4lm.lef、cb35io122_4lm.lef、cb35os142.lef、videosep.lef(根据videosep35下的videoseplayout写出,书写时参照cb35os142.lef的格式)
.gcf:
cb35_typ.gcf(指定.tlf文件的路径)
.tlf:
cb35os142_typ.tlf、cb35io122_typ.tlf
.def:
corner.def
.map:
gds2.map
.v:
allcell.v、allio.v、videosep.v(手工写出)、counter.v、counter1.v、counter2.v、counter3.v、counter3216.v、counter381.v、counter382.v、counter8421.v、monoh.v、monov.v、ptos.v、vac035.v、vac730all.v(注意
1、把fanzheng改为VIDEOSEP,VIDEOSEP对应videosep.v文件里面的module名;
2、提取vac730all的netlist文件时,要把schematic里面所有的vdd、gnd去掉悬空,得到netlist文件后再把去掉的vdd、gnd加上;
3、得到的netlist文件改为vac730all.v后,在最后几行加上相应的语句:
assignnet0569=1'
b1;
assignnet0529=1'
b0;
assignnet0552=1'
assignnet0542=1'
assignnet0305=1'
assignnet0503=1'
assignnet0470=1'
endmodule
说明:
net0529等是接vdd、gnd的相应wire号[技巧:
去掉一个vdd或gnd,保存,然后才能看到相应的wire号],1'
b0说明这个线应该接gnd,1'
b1说明是vdd;
)
*run目录是用来运行SE的,因为进行SE工作时会产生很多的附加文件,因此建立一个独立的目录方便以后的文件管理
(***切记不要忘记:
放se.ini文件在此目录下***);
*output目录下存放的是SE工作的一些结果文件;
至此,准备工作就结束了。
几个注意点:
1、.gcf文件是对.tlf文件的一个指向文件,所以修改.gcf文件里面对应的路径,只调用.gcf就可以了,修改如下(具体路径根据要求变化):
(EXTENSION"
CTLF_FILES"
('
/export/rmhome/public/chart35-lib/target/2000.3/cb35/v2.6/cds/silicon_ensemble/v5.3/tlf/cb35os142_typ.tlf
/export/rmhome/public/chart35-lib/target/2000.3/cb35/v2.6/cds/silicon_ensemble/v5.3/tlf/cb35io122_typ.tlf'
)
二、运行
图1
进入~/run目录下:
server%sedsm–m=96&
,启动SE,同时为SE运行申请最大96M的内存。
启动以后,初始界面如上图所示:
点击File=>
Import=>
LEF命令,导入.lef文件。
接着再执行File=>
TimingLibrary,导入.gcf文件。
导入过程中出现如图2所示的界面。
*LEF是LibraryExchangeFormat的简写,用以描述库单元信息(包括pins、origin、size)和block信息。
*GCF是GeneralConstraintsFile的简写,用以描述时序信息。
在.gcf文件中要写入.ctlf文件的路径。
*CTLF是CompiledTimingLibraryFormat的简写。
这三个文件都是从ver4文件下拷贝过来的,只是为了调用方便而存放在了source文件夹下。
图2
读入网表文件.v。
*网表文件是在做仿真时提取出来的。
*在每个电路的仿真路径~/*_run1下有一个ihnl目录,在此目录下有一个包含各个模块网表存放位置的blockdirmap文件,找到顶层模块的网表存放位置(cds?
)(?
:
一般为最大的整数),进入cds?
目录,下有一个netlist文件,即为名字为*的电路的网表文件。
(3)导入.def文件
(4)文件导入后,进行版图布局初始化。
*点击Floorplan=>
InitializeFloorplan弹出一个如图3所示的窗口。
*窗口的DieSizeConstraint栏是设定版图的尺寸;
(这次选择“FixedSize栏,Height=2000,Width=2000)
*IOToCoreDistance栏是设定IO到Core的距离;
(这次Left/Right=80,Top/Bottom=80,单位:
microns)
*CoreAreaParameters是设定ROW的一些参数(这次RowSpace=20tracks,BlockHolePerSide为2.000,单位为:
microns),其下方的两个选择项中:
-“FlipEveryOtherRow”表示相邻的两行是背对背放置的,
-“AboutRows”表示相邻的两行是紧贴着放置的,中间没有距离(我们的设计中是两者都选中);
*Calculate栏显示设置好参数后的结果。
图3
布局初始化后,因为设计的数字系统本身很小,所以为了减小cell之间的延迟,布局时应该缩小数字部分。
方法时:
点住ROW,左键选住上面和下面几行,删除掉。
然后再把上面4行选住,左移留出一个放模拟BLOCK的空间,CTRT-S移入模拟部分,图形如下图4所示(绿色的是模拟BLOCK):
图4
(5)放置IO。
*点击Place=>
Ios弹出如图5所示的窗口。
图5
*窗口中PlacementMode一栏是选择IO放置的方式。
我们的设计是采用的“I/OConstraintFile”模式,后面的选择框里填入.ioc文件(包含了IO放置的位置信息)的路径。
先用random方式排放PAD,然后用IOconstraintfile
方式,进入ioplace.ioc文件,按照要求排放IOPAD.排好后如下图6所示:
图6
(6)放置电源环和电源条。
*点击Route=>
PlanPower弹出如图7所示的窗口。
保留外围的和模拟BLOCK周围的电源环,其余部分用DeletePwrPath去掉,去掉后的图如图8所示。
*点击AddRings按钮,弹出如图9所示的窗口,填入相应的值后点击“OK”;
(这次各项所填值如表1所示):
Ring
Layer
CoreRingWidth
CoreRing
Spacing
BlockRingWidth
Horizontal
metal1
20
FromI/O
5
Vertical
metal2
表1
图7
图8
图9
*接着再在版图的中间增加一对电源线。
-点击AddStripes,弹出一个如图10所示的窗口,填入相应的值后点击“OK”。
(这次所填的相应值为:
Width=5,Spacing=2;
StripeSets栏中的NumberofSets置为“2”)。
图10
放置后的图如图11所示(注意把模拟部分的下方水平电源环ALT-S下拉,以能稍超过从上数第四个ROW为止,以备相接)
图11
(7)放置标准单元。
Cells弹出如图12所示的窗口。
选择所需的选项,点击“OK”。
(此次都为默认值)
注意:
在Variables的选项中,要将QPLACE.LLC.PREWIRE.KEEPOUT的值改为“True”,以使得单元不会布在电源线所在的位置上。
图12
放置标准单元后的图形如下图13所示
图13
(8)填充fillercell。
FillerCells=>
AddCells弹出如图15所示的窗口。
(由于PAD已经调入,所以应该对CELL和PAD分别fillercell)
*先对CELL进行fillercell在Model和Prefix栏中填入feedth,并将Placement下的选项全部不选中,点击“OK”。
*再对和PAD进行fillercell。
在Model和Prefix栏中填入iofeedth002,并将Placement下的选项全部不选中,点击“OK”。
如下图14所示
(9)连接电源线。
ConnectRing弹出如图15所示的窗口。
点击“OK”。
(10)连线。
Wroute弹出如图16所示的窗口,点击“OK”。
图14
图15图16
(11)至此,所有的SE工作都结束。
最终的结果如图17所示。
图17
但是,这不是最终需要的版图,因此还需要进行下面的工作。
三、将SE布局布线结果转换成我们所需的版图
*点击图1窗口菜单的File=>
Export=>
GDSⅡ,出现如图18所示的窗口,在GDS-ⅡFile栏填入.gds2文件的名字(包含路径),MapFile栏填入.map的文件所在路径和名称(此次为/export/rmhome/rcm/vacvss035/leejfse/source/gds2.map)。
图18
*导出gds2文件后,在CIW窗口中点击File=>
Stream弹出如图19所示的窗口。
在窗口各栏中填入相应的内容(RunDirectory填写要导入的.gds2文件所放的路径,inputfile填写.gds文件名,Topcellname不填,取默认值,LibraryName填写你要放置的库名),options中,选择retain..和presever项,点击“OK”。
至此,得到我们所需的layout。
retain..一定要选,如果选了以后不能导出,则要看图20librarymanger中是否已经有library的cell名字是top_cell(Topcellname地默认值是top_cell)。
原则上一定有。
对策:
把相应的library删掉(如果没有用),或者屏蔽掉。
图19
图20
四、DTP(在复旦做,要先sourcecshrc_Avanti)
其实Chart工艺库是0.4um,所以要转换为0.35um。
DTP就是完成这个过程。
准备:
(a)建立DTP文件夹;
(b)复制所需要的文件:
avanti.ev,cshrc_Avanti,strminMap,strmoutMap
(1)点击File=>
EXPORT=>
Stream弹出如图20
图21
RunDirectory:
要导进的路径
LibraryName:
要存入的库名
Topcellname:
定义的名字
Options/preserves要选择;
retain..不选择
User_definedDATA/LAYERMapTable下填写:
(存放strmoutMap的路径)/strmoutMap
(2)修改avanti.ev文件:
两项(就是上步产生的.gds文件的存放路径和文件,以及DTP后产生的.gds文件的存放位置(3)DTP:
herculesavanti.ev
五、版图的拼接
(1)DTP后的.gds文件的导入:
Stream。
填写的内容基本同DTP的streamout.
(存放strminMap的路径)/strminMap
(2)打开对应的版图,检查是否已经变为0.35um。
instance模拟模块,连接对应的pin即可
(3)切割电源环:
把模拟部分和数字部分分别供电即可。
六、DRC和LVS
DRC基本过程参阅VACVSS03总结即可;
LVS不需要做。
DRC问题:
Metal1densitylt0.3
解决办法:
在空地方添加metal1dg.
添加时应该注意:
最好用尽量小的矩形,长X宽=小于200X小于40
导出MPW数据:
在DRC和LVS做完以后(0.6um工艺要求),
(1)将芯片原点调整好:
沿对角线用标尺画两条线,然后选取交点,edit->
other->
moveorigin即可;
(2)在最后的版图的最外围加一圈Prbound(基于原版图,向外扩出去0.05µ
m距离,画一个长方形,包围整个版图,无线宽要求),将GDS文件导出(不加nwell的)。
注意点:
1、designrule中的metaldensity是》30%《70%,而不是》98%,要修改drc文件;
2、因为电压不同的原因,做drc时要覆盖一层dualgate;
3、出现metaldensity达不到要求的时候,在空地方添加相应的metal;
4、drc文件的准备:
(1)drc文件的拼接,包括两部分:
HeaderFileName:
drc_input_i04
MainFileNames:
yi046dr002_1i_4m_04.rul
(2)需要修改的四部分:
PRIMARY=(对应的版图名字)
INDISK=(对应的.gds文件及路径)如:
/export/rmhome/rcm/vacvss035/leejfdrc/data/vac81.gds
PROGRAM-DIR=/export/home/cad/ic445/tools.sun4v/dracula/bin/这是中心的路径,注意修改;
sizeBULKby-1bulk1
COVERAGEme1lt0.98RECTbulk1OUTPUTMD174;
Metal1density(See.logfile)
COVERAGEme2lt0.98RECTbulk1OUTPUTMD274;
Metal2density(see.logfile)
COVERAGEme3lt0.98RECTbulk1OUTPUTMD374;
Metal3density(see.logfile)
COVERAGEme4lt0.98RECTbulk1OUTPUTMD474;
Metal4density(see.logfile)
应该修改为:
COVERAGEme1lt0.30RECTbulk1OUTPUTMD174;
COVERAGEme2lt0.30RECTbulk1OUTPUTMD274;
COVERAGEme3lt0.30RECTbulk1OUTPUTMD374;
COVERAGEme4lt0.30RECTbulk1OUTPUTMD474;
(30~70%之间即可)
5、caliber(~/vad0726/calibre)
(1)文件准备:
calibre.setup.cdsinitdrc_header_i02.hdryi046dr002_waiver_la_00.cellyi046dr002_li_02.cal
(2)运行:
.cdsinit
(3)source:
calibre.setup
(4)此时进入layout会出现calibre选项
(5)rulefile的修改:
头文件drc_header_i02.hdr里面修改:
LAYOUTPATH“路径/.gds”//inputgdsfile
Layoutprimary“top_cell”//top_cellname
INCLUDE./yi046dr002_waiver_la_00.cell
INCLUDE./yi046dr002_li_02.cal
(6)运行:
calibre–drcdrc_header_i02.hdr
(7)进入layout/caliber/startrve
版图库的导入
1、strminmap文件的编辑,如下文件(文件名:
cellstrminmap);
#CadencenamepurposeStreamlayer-numtype-num
NWELLdrawing10
PCOMPdrawing120
NCOMPdrawing110
POLY2drawing130
CNTdrawing150
MET1drawing160
VIA1drawing170
MET2drawing180
PADdrawing190
VIA2drawing270
MET4drawing310
MET3drawing280
ESDdrawing240
POLY3drawing450
SALBLKdrawing500
TEXTdrawing570
PIMPdrawing70
NIMPdrawing80
2、streamin
在CIW窗口中点击File=>
在窗口各栏中填入相应的内容
要导进的文件的路径
(/export/rmhome/public/chart35-lib/target/2000.3/cb35/v2.6/gds)
Inputfile:
cb35os142.gds要存入的gds名;
不填
Libraryname:
cb35os142(自己命名)
/export/rmhome/rcm/leejfse(存放cellstrminmap的路径)/cellstrminmap