集成电路版图是基于层次化的概念而构成的,即基于底层单元设计较高一层的单元,然后基于较高层单元设计更高一层的单元,如此依次嵌套下去,直到整个芯片的设计完成为止。采用层次化设计的好处是:如果低层次的单元有任何的改变,都会通过层级关系,自动地将改动传递到调用该单元的更高层次级单元中;其次,由于可以使用轮廓图显示,加快了版图显示刷新的速度。随着集成电路集成度和复杂度的日益增加,层次化设计显得越来越重要。
上一节已经画好了INV单元的版图,用同样的方法参照逻辑图再输入一个NAND2的版图,现在要画一个AND2的单元,就是把NAND2和INV单元放在一起;通过这个简单的例子,来学习层次化设计相关操作。
同样,在库管理器中选择File菜单下的New选项,选择Cell View,在弹出的Create New File界面中填写Cell Name为AND2,View Name为layout,选择Tool为Virtuoso,然后单击OK按钮,弹出版图编辑界面,在该界面中用Create菜单中的Instance选项,调用NAND2、INV两个单元,AND2初始版图如图2-77所示。
图2-77 AND2初始版图
从图2-77可以看出,NAND2和INV两个单元高度不同、阱的大小也不同、电源线、地线宽度不同;为了保证所建的AND2单元版图布局较合理,且面积最小,通常会把以上两个单元高度做成一致,并且电源线、地线宽度一致,阱大小也相同并且连在一起。
方法一:记住以上两个单元的高度、电源线、地线和阱等的数值,然后选择Design菜单中的Hierarchy选项,选择Descend Edit,编辑窗口底部提示Point at the instance to descend into,单击其中某一个单元,就可以进入到该单元中进行修改,修改过程中参照另外一个单元的以上数值,图2-78举的例子是进入NAND2单元,按照INV单元的各个数值修改NAND2单元。
图2-78 修改NAND2版图方法一
图2-78中Virtuoso编辑界面顶部显示的是NAND2 layout。这种方法缺点是需要详细记录INV的高度、电源线和地线的宽度、阱的位置等数字,然后对照这些值修改NAND2版图,非常不方便,可能需要多次修改才能达到修改目的。
方法二:选择Design菜单中的Hierarchy选项,选择Edit In Place,编辑界面底部提示Point at a shape in the cellview to be edited-in-place,单击NAND2,版图编辑界面如图2-79所示。
图2-79 修改NAND2版图方法二
图2-79中Virtuoso编辑界面顶部同样显示的是NAND2 layout,但编辑界面中显示的是两个单元的版图,这样就可以在编辑界面中参照INV的版图来修改NAND2的版图,而无需记住INV的高度等数值,直接在版图上用标尺量就可以,大大方便了修改。图2-80通过对NAND2进行修改,达到与INV高度相同、电源线和地线宽度相同、阱高度相同等效果。
(www.xing528.com)
图2-80 初步修改NAND2的版图
接下去把两个单元连在一起,包括电源线、地线连在一起,阱连在一起,NAND2的输出Y连接到INV的输入IN上,从而完成AND2这个单元的版图输入,如图2-81所示。
图2-81 最终完成的AND2版图
选择Design菜单下的Hierarchy选项,选择Tree,弹出观察版图设计层次化信息的窗口,在该窗口中选择TOP to bottom(观察从顶层到底层的层次化信息),弹出图2-82所示的AND2版图层次化信息界面。
图2-82 AND2版图层次化信息
从图2-82中可以看到,D508LAY版图库中的单元AND2从顶层到底层共有3层(Stop Level为3);AND2单元调用了INV和NAND2单元各1个;而INV单元调用了1个PLCO单元、3个NCO单元和3个PCO单元;NAND2单元调用了两个PLCO单元、4个NCO单元和5个PCO单元。
以上层次化信息还可通过在图2-66所示的Display Options中进行相关设置而详细了解。
选择Options菜单中的Display Options选项,可以看到Display Levels中Start为0,Stop为2;显示效果就是图2-81所示的版图。将Stop改为0,显示效果如图2-83所示。可以清楚看到AND2调用了NAND2和INV单元。将Stop改为1,显示效果如图2-84所示。可以看到NAND2、INV单元内部分别调用了PLCO、NCO和PCO等底层单元。
图2-83 Stop为0时的AND2版图
图2-84 Stop为1时的AND2版图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。