(原)cadence IC系列使用(2)原理图

环境

系统:redhat 6.5
cadence IC版本:IC617
库:FreePDK15
模型:PTM-MG 7nfet 7pfet
版图验证工具:calibre(mentor)
仿真工具:hspiceD(synopsys)


最终的原理图用来前仿的话可能会有点小问题,如果有问题的话,可以删掉 vdc 及与之相连的 vdd 和 gnd,如下图所示


以16分频器为例,16分频起可以由4个D触发器构成,如下图所示

D触发器我采用的是用传输门和反相器构成的,如下图所示

所以关键的步骤就是先画传输门和反相器,反向器的电路图如下所示

传输门的电路图如下

下面以传输门为例介绍一下,如何画原理图,封装成符号图(symbol图),画版图,验证,参数提取及后仿真。

打开 cadence 软件,如果你用的是前面的虚拟机的话,打开 terminal,直接输入 virtuoso & 即可打开 cadence IC617,输入 ifcb & 即可打开51版本,这里的符号 & 表示在后台运行,懂一点 linux的人应该都知道,如果你是自己装的软件,则需要做一些设置,主要就是软件的位置,license 的路径等。输入命令后回车就会出现下面的 CIW 窗口,在中间那条白色的地方可以输入命令。

然后点击 FileNewLibrary

在 Name 中输入库的名字,这里用 test,右边有四个选项,第一个 Complie an ASCII technology file 是编译一个技术库文件(通常以 .tf 结尾,虽然 Linux 下后缀没任何意义),如果你只选择这个的话,后面画版图时所有图层全是一种颜色,并且如果你只有技术库文件的话,是没办法进行版图验证的。第二个Reference existing technology libraries 是参考一个已经存在的库,第三个Attach to an existing technology library 是连接到一个技术库,第四个 Do not need process information 是不需要任何处理。在这里,我选择的是第三个 Attach to an existing technology library

由于我用的是库是 FreePDK15,所以我选择的是 NCSU_TechLib_FreePDK15 ,这个库与其它你在网上见到的库有所不一样,主要是其它库所对应的工艺都是平面型 CMOS 工艺,而这个库所对应的 MOS 管叫做鳍式场效应晶体管,在后面画版图时就不能按照平面CMOS工艺画了。点击 OK 后,工作库就创建好了。

然后就是新建视图了,点击 File– NewCellview

Libraray 中选择我们新建的工作库 test ,如果你的库选择错了,原理图就在其它库中了,当然影响也不大,稍后复制或移动到这个库中就完了。Cell 名字随意,这里我取为 tranType 选择为schematic,选择Type后,View会自动发生变化,open with 选择Schematics L,然后点击OK

就会出现画原理图的窗口,点击 CreateInstance ,快捷键为小写的 i,这一个快捷键跟画版图的窗口中是一样的,但是其它快捷键在画版图的窗口就不一定可以用了。

然后就会出现弹出下面的框,在 Library 中选择 analogLib ,这是一个模拟器件库,里面包含了各种器件,在 Cell 中先选择 vddView 中选择 symbol ,在上面黑色框框中点一下即可放置电源 vdd,在放置的过程中可以按鼠标中键(有时按鼠标中键是重复上一个命令,不知道是不是跟软件配置文件有关)实现旋转,用同样的方法添加 GND,需要注意的是:GND电压默认为0V,vdd却没有默认值,也就是说,如果vdd为5V,你必须在vdd和GND之间加一个5V的电压。如果图像太偏了,可以按住鼠标中键拖动整个图形(好多CAD软件鼠标中键默认都是拖动图形,如Autodesk CAD)和鼠标滚轮放大缩小图形,或者单击菜单栏下的 ViewZoom To Fit,快捷键是大写的 F(shift + f)缩放到适合编辑的大小和位置。

用同样的方法添加 gnd, vdc ,在添加 vdc 时可以将电压改为 5 0.7 v注意:在DC voltage中只需要填写 5 0.7 即可,软件会自动添加单位“V” (因为这个管子的工作电压只需要 0.7v 就够了)。

然后是添加NMOS和PMOS,这里需要选择的库是 FreePDK15Cell 选择 pmos,需要改变下面的 Witdhlength (其实对于鳍式场效应晶体管来说,宽长已经不是那么重要了,不像0.6um工艺或者45nm工艺,鳍式场效应晶体管宽长本来就很小了,因为都是标准工艺,就算你改大或者小一点,也不一定可以加工出来,更重要的其实是鳍的数量),这里我们设置为 20 nm48 nm,这是当前工艺库的极限。同样,这里只需要输入 20n48n 即可,默认单位为 m这里沟道的宽和长需要跟后面画的版图中的沟道宽长一致,不然 lvs 不会通过。利用同样的方法添加 NMOS,有些库里面 PMOS 和 NMOS 是三个脚的,这是因为它们的衬底默认是接了地(NMOS)或者电源(PMOS)的。比如在 analogLib 库中,nmos4对应的才是四脚。

然后添加端口,点击 Create–Pin,或者点击菜单栏下方引脚的标识(图中已圈出),快捷键为小写 p

Names 可以随便写,区分大小写,但是别写成 vdd!,gnd!,它们是全局电源和地,后面版图添加端口时也需要跟这个一致。Direction 选择 input,如果端口方向不是很好看,可以按小写 r, 然后点击需要旋转的对象,即可旋转。利用同样的方法,添加三个端口,分别为 clkq — input , A — inputOutput ,B — inputOutput 。快捷键小写 c 是复制,小写 m 是移动,小写 u 是撤销(保存了就不能撤销)。

接下来需要做的就是连线了,点击 Create–Wire(narrow) 或者在菜单栏下方细线的标识(图中已经圈出来了) 或者按快捷键为小写 w

按照图示连线,小写 s 是保存(保存后就不能撤销了)

保存图标旁边那个保存中有一个绿色的勾的是保存并检查,包括检查是否有悬置的端口,没有连接号的线等,比如,故意去掉一跟线,如下图所示。点击保存并检查时就会出现一个警告,并在原理图中以高亮显示出来。

下面将原理图封装成 symbol 图,这样下次在原理图中就可以直接调用这个了,而不用重新在画一遍。选择 createCellviewfrom cellview

直接点击 OK 即可

出现下面的界面

为了使得符号图更好看,我们可能需要更改一下端口的位置(虽然在后面也可以改),如下图所示,右边的 List 可以修改端口的方向,然后点击 OK 确认。

这样,一个symbol图就创建好了

为了与电路中的符号图相对应,我们可以稍作修改,先删掉所有的线和字母,如果你是先选中线,再按 delete 键的话,就只能一次一次的重复,如果先按 delete 键,则可以一直重复这个动作,直到按 Esc 键取消这个命令。在标题栏中间,我们注意到有一个 * 号,这表示当前状态没有保存,在其它好多软件也是这样,如notepad。

选择字母(A,B,clk,clkq),按住鼠标左键可以只拖动字母,选择红色小框框,按住鼠标左键,则红框框跟字母会一起移动。下图中红色部分框起来的是绘图命令,先用直线画出下面的形状,画直线结束是双击,不是单击,单击是画折线。

然后画一个圆,很明显,这个圆有点大,这是跟软件配置文件有关的,可以设置最短的捕捉距离来改变,或者点击,选中圆,按小写的 q 键,可以更改圆的属性。

修改圆心和半径,如下图所示。

然后,连接圆与端口即可,如捕捉不到圆上,也可以修改线的属性。最后点击 保存和检查

这样,原理图及symbol图就画完了。我们现在就可以库中查看了,在 CIW 窗口(就是输入完命令后显示的那个窗口),点击 Tools — Library Manager,就可以进入到库管理界面。

选择我们建立的 Library(库) test,cell(元件) tran,可以发现,已经有两个View(视图)了,分别是 Schematic(原理图)和 Symbol(符号图),原理中左边有个锁🔒的标志,这表示我们的原理图还在编辑,没有关闭。

当我们把原理图关闭后,锁🔒的标志就消失了。

如果你打开文件查看,会发现所有的库,元件,视图其实都对应一个文件夹,在视图(如schematic)文件下才是具体的数据。 如果我们直接将原理图截屏放到 ppt 上展示的话,效果不是太好,这时我们可以导出背景为白色的原理图,如本文的特色图片那样。选择 File — Export image

点击 Swap ,将 Background 改为白色, 当然也可以点击 Background 后面的白色那块,将背景改为其它颜色,Foreground 是前景色。

如果在这个过程中遇到了其它问题,欢迎在评论区留言,或者Google一下,也欢迎把具体的解决方法留在评论区,以供后来者参考

欢迎转载,不需注明出处,就说是你写的

发表评论

电子邮件地址不会被公开。

*

code