Cadence教程2——反相器原理图仿真以及版图绘制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cadence教程2——反相器原理图仿真以及版图绘制相关的知识,希望对你有一定的参考价值。
参考技术A这一篇主要讲如何用cadence仿真一个简单的反相器,并画出版图的全部流程。工艺使用ncsu-free-cdk。
英文原文 在此。
首先建立library
新建原理图
放置元件,(快捷键为 i )
再放置好pin,(快捷键为 p )
连线(快捷键 w )
检查并保存后建立symbol,菜单目录在 create-->cellview-->from cellview
然后得到这个,把那些方框删掉
然后自己画出反相器的形状,菜单目录在 create-->shape-->circle/line
这时候可以看到library manager中有了symbol这个view
首先新建一个cell
把刚刚画的inverter的symbol放置进去
按照下图的方式连好线
注意你总是要在testbench的cellview中放置这样一个voltage supply
其中供电电压5V,in端的电压0V。
out端口接的那个未连接端口在库 basic-->Misc-->noCoon
check and save之后,打开ADE(launch-->ADE)
首先添加模型(setup-->model library)
选择仿真方式
选择输出变量
最后是这个样子
session-->save state
netlist and run,结果如下
首先新建一个layout的cell
放置MOS管
放置ntap和ptap,(注意pmos周围是nwell,所以与之对应的是ntap)
还有输入端口m1_poly
放置出来结果如下
然后用metal1,和poly层连线,在LSW中选metal1/poly,然后快捷键 r ,画矩形
按快捷键 e ,把显示层改成0层
发现刚才连的线如下
加pin
效果如下
注意:若要修改pin的名字,直接选中那个text,然后q修改,是不行的。而是需要选中这个pin对应的那个层,比如如下例子
我想修改A这个pin的名字
要选中这个pin所在的meta1层,然后取消其他层,选中这个metal1,然后q
verify --> DRC
verify --> Extract
verify -->LVS
run,然后完成之后点output
到此,整个流程走完!
十六进制彩色反相器
By Matt Lagrandeur
function invertHex(hexnum){ if(hexnum.length != 6) { alert("Hex color must be six hex numbers in length."); return false; } hexnum = hexnum.toUpperCase(); var splitnum = hexnum.split(""); var resultnum = ""; var simplenum = "FEDCBA9876".split(""); var complexnum = new Array(); complexnum.A = "5"; complexnum.B = "4"; complexnum.C = "3"; complexnum.D = "2"; complexnum.E = "1"; complexnum.F = "0"; for(i=0; i<6; i++){ if(!isNaN(splitnum[i])) { resultnum += simplenum[splitnum[i]]; } else if(complexnum[splitnum[i]]){ resultnum += complexnum[splitnum[i]]; } else { alert("Hex colors must only include hex numbers 0-9, and A-F"); return false; } } return resultnum; }
以上是关于Cadence教程2——反相器原理图仿真以及版图绘制的主要内容,如果未能解决你的问题,请参考以下文章