
virtuoso中版图合并与最后的验证.pdf
21页V i r t u o s o 中的版图合并与最后的验证 作者:复旦大学 A S I C M A G - B E F - G R I D = Y E S I N D I S K = . . / d a t a / R I S C 3 2 . g d s P R I M A R Y = R I S C 3 2 O U T D I S K = O U T . G D S P R I N T F I L E = d r c p r M O D E = E X E C N O W S Y S T E M = G D S 2 S C A L E = 0 . 0 0 1 M I C R O N P R O G R A M - D I R = / n e t / e x p o r t / h o m e / c a d / C a d e n c e / I C 5 0 / d r a c u l a / b i n / ; i n d i c a t e w h e r e j x r u n . c o m i s ( o p t i o n a l ) R E S O L U T I O N = 0 . 0 0 1 M I C R O N L I S T E R R O R = Y E S K E E P D A T A = I N Q U E R Y ; P A R A L L E L - F I L E = D R A C - N O D E . T A B … … … … … … … … … … . 图 2 2 可见 I N D I S K 指定放版图 g d s 的位置 ,P R I M A R Y 指定做的单元的顶层模块名,这里时 R I S C 3 2 , P R I N T F I L E 意思是 d r c 运行会产生很多结果文件的前缀。
附加:d r a c u l a验证 d r c , l v s 的时候它的目录结够设置如图 2 3 : d r a c u l a d r cl v sd a t ar u l e 图 2 3 D r a c u l a 目录下有 4 个目录,分别为 d r c , l v s , d a t a 和 r u l e (如果还做 l p e ,则有 l p e 目录) d r c ,l v s 为分别做 d r c ,l v s 的运行目录,运行时候会产生很多文件;d a t a 下放版 图文件,网表文件;r u l e 放 d r c ,l v s ,l p e 的规则文件做 d r c 具体操作如下: 首先把 R I S C 3 2 . g d s 拷贝到 d r a c u l a 的 d a t a 目录下; 在 r u l e 目录里面修改 d r c 文件的 P R I M A R Y 和 I N D I S K 为所做的单元; 在 d r c 目录下, 运行 p d r a c u l a / g e t . . / r u l e / d r c . r u l ; 获取 d r c 规则文件 / f ; 结束 产生 j x r u n . c o m 命令, 还在 d r c 目录下运行 j x r u n . c o m ,则开始做 d r c 检查,检查完毕,看 d r c 的结果总结 文件 d r c p r . s u m , 也可以看图形化的, 在 V i r t u o s o L a y o u t 窗口中, T o o l s → D r a c u l a I n t e r a c t i v e 菜单栏多出了 D R C ,L V S 菜单栏,见图 2 4 : 图 2 4 点击 D R C 中的 S e t u p 菜单,可以在版图中把 D R C 错误标出来,如图 2 5 : 图 2 5 在 D R C S e t u p 对话框中填入 d r c 目录的路径,如图 2 6 : 图 2 6 V i r t u o s o 就会把 D R C 的错误位置在版图上标出来,便于修改。
修改后再做 D R C ,直至最后修 改的要 D R C 错误要为 0 4.LVS 验证 L V S 比 D R C 检查要复杂一些,除了要修改 l v s文件中的 P R I M A R Y和 I N D I S K以外,还要 用 L O G L V S 对网表方面进行处理具体流程如图 2 7 : . v 读入l i b 格式 L O G L V S 处理成 晶体管级 获取l v s 文件产生 j x r u n . c o m 运行j x r u n . c o m 看l v s p r . l v s 和 l v s p r . e r c 修改l v s 文件的 P R I M A R Y 和I N D I S K L V S 验证 修改直至无误 图 2 7 L V S 本意是 L a y o u t V e r s u s S c h e m a t i c ,即版图与电路一致性检查,数字电路设计时 候没有电路级描述而只有 v e r i l o g 描述,因此处理起来要多点步骤首先在 d a t a 目录下, 新建 c d s . l i b 文件,在 c d s . l i b 里新建一个库: D E F I N E l i b n a m e l i b p a t h 如 D E F I N E R I S C 3 2 _ l i b . / R I S C 3 2 _ l i b 同时建库 m k d i r R I S C 3 2 _ l i b , 然后在 d a t a 下运行: v a n - l i b l i b n a m e . v 文件 这个意思是把布线后 A p o l l o 导出的层次化. v 文件 (必须带上电源 P a d(E x t e r n a l , I n t e r n a l 电源)和 c o r e n e r P a d )读入后面 l o g l v s 能识别的格式,v a n 是一个命令,- l i b 是参数, 如这里的: v a n - l i b R I S C 3 2 _ l i b R I S C 3 2 . h v 读入后, 所有模块在 R I S C 3 2 _ l i b 里都有对应的目录, 最后是顶层模块的 R I S C 3 2 。
然后在 d a t a 下运行 l o g l v s ,将这种格式和标准单元,宏单元,P a d 单元的 C D L 描述合并在一起,形成整 个芯片的晶体管级描述,读入 l o g l v s 的数据库,具体操作如下: l o g l v s c d s . l i b m k d i r l i b v a n - l i b l i b R I S C 3 2 . h v L O G L V S ! C A S E H T V F P I N t r a n 5 0 0 0 0 0 c i r s t d c e l l s . c d l c i r N E C 2 5 I O L I B _ L . c d l c i r r f 2 5 6 x 2 1 . n e t c i r s r a m 1 0 2 4 x 3 2 . n e t n v e r l i b R I S C 3 2 c o n R I S C 3 2 x c d . . / l v s p d r a c u l a ! / g . . . / r u l e / l v s . r u l / f j x r u n . c o m v i l v s p r . l v s 。
