本文以INV为例介绍virtuoso Layout Editing 的基本操作方法
一、 建立目录结构
首先选择项目的名称为top的目录名称,这里假设为MyLib(为了文章的语言简洁,以下将不会过多描述)。具体命令如下:
%mkdir MyLib
%cd MyLib
%mkdir opus db dracula
%cd dracula
%mkdir loglvs lvs drc
相关目录名称意义:
MyLib 主目录
opus 运行Virtuoso环境
db 存放database,即将你所画的图export出来
dracula 进行检测,这里使用dracula这个工具对所画的版图进行验证
loglvs 进行LVS(版图对电路)检测时用到的netlist(电路描述)
lvs 进行LVS
drc 进行drc(设计规则检查)
二、建立数据库
现在进到opus目录中,准备technology file(建立数据库时必须的文件)和display file(图层描述)
%icfb&
接着跳出cadance的控制界面图示如下:
点击File-->New-->Library
在跳出的对话框中Name填入MyLib,选中Compile a new techfile,点击ok
screen.width-430)this.width=screen.width-430" border=0>
在ASCII Technology file 里填入准备好的tech file,点击ok,库便建好了。
三、建立新的版图inv
点击File-->New-->Cellview
在跳出的对话框中Library Name选择MyLib,Cell Name填入inv,View Name选择layout,点击ok
screen.width-430)this.width=screen.width-430" border=0>
接着就是版图inv的工作区了
screen.width-430)this.width=screen.width-430" border=0>
图为layout工作区,所进行的layout都在些工作区内完成。
工具框中介绍几个常用的工具,screen.width-430)this.width=screen.width-430" border=0>为保存,点击保存当前工作区的内容。。screen.width-430)this.width=screen.width-430" border=0>这三个图标依次为fit
全部显示,zoom in放大视图,zoom out缩小视图。screen.width-430)this.width=screen.width-430" border=0>这是一组操作类工具,依次为stretch
拉伸,copy复制,move移动和delete删除。screen.width-430)this.width=screen.width-430" border=0>这组为创造类工具,依次为path画出一个叫做path
的图形,polygon画多边形,rectangle画矩形,text写标识。screen.width-430)this.width=screen.width-430" border=0>这是标尺,用来保证所画图形按Design Rule(设计
规则,由技术部门测试设定,交由designer进行设计)进行layout。一个图标也是常用到的,screen.width-430)this.width=screen.width-430" border=0>用来查看或修改
所选object的属性。
图形默认标尺单位(micro),画图之前先设定一下图形的resolution以保证图形的通用性,以及以后做检测时的正确性。
点击菜单中OptioNS-->Display
screen.width-430)this.width=screen.width-430" border=0>
X/Y snap Spacing尽量大一点,不要小于0.001。
接着要介绍的是,关于层的显示控制工具框:
screen.width-430)this.width=screen.width-430" border=0>
从上到下依次解释,dum77 dg为当前选中层;AV表示(all visible)全部可见;NV表示(non visible)全部不可见;
AS表示(all selectable)全部都可选;NS表示(non selectable)全部都不可选。
inst点中,表示instance可选;pin点中,表示pin可选;
接下来的图层就你在设计文件中设定的,点中某一个图层,即为当前层。
一切准备就绪,就可以开始画图了。
在LSW中选择中cont这一层,为当前层(caps lock)会锁定层的选择。
Create-->Rectangle (或者按 r 快捷键)
按view下边提示,点击点,再点击第二点,画出一个rectangle
并用rule (工具栏中的尺子)进行标量,通过Edit-->Stretch 辅助 放大和缩小工具进行
尺寸调整。(层次的颜色和pattern,尺寸因公司而异)
接着使用
Edit-->Copy (拷贝在同一处,重合)
Edit-->Properties..编辑刚copy的图形,并修改图层
Edit-->Other-->Size..按design rule 进行放大操作
画出如图所示图形:
screen.width-430)this.width=screen.width-430" border=0>
然后全部选中(ctrl-a),选择Edit-->Hierarchy-->Make Cell...
在跳出的对话框中的cell处输入tcont,点击ok,即生成为install cell,
以后调用时,选择Create-->Instance .. (快捷键 i),输入cell名字tcont即可。
接下来,在LSW中选中poly层,为当前层
点击Create-->Path (快捷键 p),输入width(gate的length)即可。(按F3呼出对话框)
将提示画出一个path,在cell tcont右边,双击完成。
用ruler进行path到cont的距离调整。
screen.width-430)this.width=screen.width-430" border=0>
选中instance tcont,点击Edit-->copy..
zoom in进去,点击path的中轴位置,F3呼出copy对话框
点击sideways,再点击刚才的位置,即可。
选择LSW中thinoxide一层,Edit-->Rectangle将图形画好。
如图,一个简单的mos就画好了。
screen.width-430)this.width=screen.width-430" border=0>
画好后,保存cell view
在CIW中,File-->Export-->Stream..
screen.width-430)this.width=screen.width-430" border=0>
点击OK,即可产生GDSII格式的Database.
>>文档终<<
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。