模拟腕表电路PMD703芯片设计
3.3 模拟部分版图的验证 3.3.1 模拟部分版图DRC验证
版图DRC验证的具体步骤:
1、先写出要进行DRC验证的版图GDS文件。
进入icfb窗口点file virtuoso stream out 如下图所示:
export
stream 进
入
图 3.3.1-1 版图GDS输出
2、DRC命令文件准备:
每一个集成电路工艺都会有一个相对应的DRC检查命令文件,下面给出了本次毕业设计所采用工艺的该文件(an96.drc)的一段:
******************************************************************** ;**************** DESCRIPTION BLOCK ************************** *DESCRIPTION
INDISK =/home/angel/cds/an96/gds/top.gds PRIMARY = top OUTDISK = drcout.out SYSTEM = GDS2 *END
;************ INPUT LAYER BLOCK *****************
25
江苏信息职业技术学院毕业设计(论文)
*INPUT-LAYER
pwelli = 1 ; nwell ndiffi = 2 ; N+ active pdiffi = 3 ; P+ active
poly1i = 4 ;TEXT 60 attach poly1 poly2i = 5 ; poly2
conti = 6 ; contact(met1/cont/poly1&poly2&active) met1i = 7 TEXT 7 attach met1 ; metal-1 via1i = 8 ; via1 ( met1/via1/met2 ) *END
;************ OPERATION BLOCK ***************** *OPERATION
;----------- LAYER DEFINITION ----------- OR met1i gndm1i zw1 OR zw1 powm1i allmet1
;------------ DRC CHECKS ----------------- ;------------ P-WELL ---------------------
WIDTH pwela LT 6.0 OUTPUT e1a 63 ; Pwell width >= 6.0um.
WIDTH Rwel LT 8.0 OUTPUT e1b 63 ; Pwell resistor width >= 8.0um. OR NOwel Hwel NCwel ; Pwell space >= 4.0um. 3、运行DRC 步骤: PDRACULA :/g an96.drc :/f ./jxrun.com
26
模拟腕表电路PMD703芯片设计
4、显示和修正DRC错误
进入virtuoso stream out界面,点击drc,就可以版图的DRC验证。违反了设计规则,就会出现就会出现如下图所示的错误报告,然后点击规则错误报告里的每一个错误,版图中会显示相应的错误提示。当把DRC错误报告里的错误改正完以后,再用dracula验证文件检查,最后左边的错误报告就会消失。
错误文件显示,只要点击一下就会在版图中出现错误显示
图 3.3.3-2 DRC错误显示和修改
3.3.2模拟部分版图的LVS验证 1、逻辑和版图数据准备: 逻辑网表的导出:
27
江苏信息职业技术学院毕业设计(论文)
图3.3.2-1 逻辑网表的导出
版图数据的导出,跟DRC相同,这里不再重复。 2、LVS命令文件的准备:
跟DRC一样,每一个集成电路工艺都会有一个相对应的LVS检查命令文件,下面给出了本次毕业设计所采用工艺的该文件(an96.lvs)的一段: *DESCRIPTION
INDISK = /home/angel/cds/an96/gds/new96.gds PRIMARY = new96 OUTDISK = lvsout PRINTFILE = lvs
; PROGRAM-DIR = /usr/cds97a/tools/dracula/bin/
; STATUS-COMMAND = \; STATUS-COMMAND = \ MODE = EXEC NOW SYSTEM = GDS2 *END
;************ INPUT LAYER BLOCK ***************** *INPUT-LAYER ;
pwelli = 1 ; pwell ; diff = 10
ndiffi = 2 ; N+ active pdiffi = 3 ; P+ active poly1i = 4 ; poly1 poly2i = 31 ; poly2
conti = 6 ; contact(met1/cont/poly1&poly2&active; *END *OPERATION
; creat pesudo layers
28
模拟腕表电路PMD703芯片设计
; ========================
;AND diff nimpi ndiffi ;AND diff pimpi pdiffi OR met1i gndm1i zw1 OR zw1 powm1i allmet1; ; define resistors ; ----------------
SEL pwell OVERLAP REWmk rpwell AND rpwell REWmk bpwell 3、运行LVS:
假设在/home/angel/cds/drac/lvs目录下进行,准备好的cdl网表名为TOP1.cdl,假设两个网表顶层逻辑的名字就叫TOP1,进入目录/home/angel/cds/drac/lvs,然后运行“LOGLVS”,进入LOGLVS的界面,依此执行:
a) cir TOP1.cdl b) con TOP1 c) x
其中a)为导入TOP1.cdl,b)为转换TOP1单元,c)为退出LOGLVS命令
修改以上an96.lvs文件,主要是指定dracula命令的路径,两个网表的路径,并且设置是否进行宽长比的check以及其他check的选项,并把这个文件放在/home/angel/cds/drac/lvs目录中;在该目录下运行“PDRACULA”命令,进入DRACULA界面,依此执行:
d) /g an96.lvs e) /f
执行完后,目录下会生成jxrun.com文件;
执行“./jxrun.com”命令,结束后查看“lvs.lvs”文件,进行查错。
以下为整个电路的LVS结果,结果显示逻辑和版图完全对上;有一些不匹配,是由于在版图验证文件中关于管子宽长比的定义问题造成的伪错误,可以忽略:
29