搜档网
当前位置:搜档网 › Cadence初学手记

Cadence初学手记

Cadence初学手记
Cadence初学手记

Cadence初学手记(转)

(2013-03-14 22:28:48)

转载▼

分类:IC设计

Cadence初学手记(一)

学用Cadence也有一段时间了,但写这Cadence初学手记的想法是来自boyfriend的一句话,他说,我们遇到困难上网搜资料的时候,经常能从很多人的博客里找到答案,我们也可以把自已会的一些问题写到我们的日志里,这样也许别人也能从我们这里得帮助呢,网络嘛,就是一个人人为我我为人人的地方啊。我想对啊对啊,这话说得多贴心啊。我从连UNIX都不会进开始一路摸索着走来,我深深知道初学者要经历的苦闷和彷徨。虽然现在依然很菜鸟,但总算有了一点小小的心得和体会,如果有一天,你搜索到我的页面,如果我这粗浅的学习手记能对你有一点点的启发,那请你笑一笑,我会奖励自已吃一颗巧克力!

(一)如何进入Cadence

(1)进入UNIX系统后,点击右键,在弹出菜单中点选tools--terminal,在terminal提示符后键入icfb,启动Cadence.如果在icfb后加&则那个terminal 窗口还能干别的,要是不加就什么都不能干了,而且关掉terminal Cadence也会关闭(不知道专业一点该怎么表达,只能这么直白地说了,呵呵)

(2)在主窗口CIW里,点file--new--libarary,新建一个库,然后可以在库里新建cellview.view name有schematic(原理图)layout(版图)symbol(符号)等,根据需要选择

(3)如果要画版图,一定要选compile a new tech file 或attach to an existing tech file,如果选第一项,则在弹出窗口里输入要compile的tf文件的路径,如果选第二项,则选择一个已经存在的库,你新建的库就会attach到那个库,就是说两个库用一个工艺文件

(4)将一个已有的库包含进来用libarary path manager,在tools菜单里,启动后,左边输入库名,右边输入库路径,再点file--save,就可以了,库路径信息保存在cds.lib文件中

今天先写最简单的,明天介绍怎么画电路图!

Cadence初学手记(二)

(一)建好库后,新建cellview时选schematic,进入原理图编辑窗口,然后就可以画电路图了,和其它画电路图的软件如protel大体上都是差不多的,都是加入原件后扯线就行了

(二)发几个常用快捷键,用Cadence时,一定要熟练使用快捷键,可以给你的工作提供很大便利

i——添加元件;(我一般都用sample库的mos管,二极管等,basic库的VDD,GND)

p--加输入输出引脚

[——缩小两倍;

]——扩大两倍;

w——连线(细线);

f——全图显示;

q——查看元件属性。

u--撤消上一次操作

U--重做上一次操作

c--复制

m--移动

(在选复制移动后,点F3键,可出现设置对话框,可以设置复制几行几列,ratote(旋转)sideway(左右镜像翻转)updown(上下镜像翻转))

X--检查并存盘

S--存盘

(三)可以把画好的电路图封装成symbol,以后就可以调用自已的原件了。方法是点design--creat cellview--from cellview,再点OK就好了

Cadence初学手记(三):画版图

1、在一个包含工艺文件的库里新建cell,cellview选layout

2、常用快捷键

r:画矩形(retangel)

k:创建尺子

shift+k:清除所有尺子

m:移动(move)

c:复制(copy)

s:伸拉(strech)

shift+m:两图形融合(merge)

shift+c:切图形(chop)

u:取消上一次操作(undo)

shift+u:重复上一次操作(redo)

q:属性

l:标签(label)

另:键入上述命令后按F3,可以出现高级选项对话框

3、了解了快捷键,我们现在开始画版图啦!首先,在左边的LSW窗口点击你所需要的层次,比如先选oxide(或active),再按r,拖动鼠标,画出一个矩形,再按k,标定好尺寸,再按s,拖动矩形边调整到合适大小,这样有源区就画好了,同样方法再选poly层画栅,metal1画金属线,cont层画接触孔,一个最简单的mos管就画成了

4、关于版图的层次

(1)版图的层次由工艺文件定义,也可以自已添加或删除,在CIW窗口中,点technology file--edit layers,出现对话框,有add,edit,delete等选项,点add新加层次时,要注意display resourse一定要和其它层选的不一样,否则这两个层显示的条纹色彩就一模一样。还有stream data type number,stream layer number等,与将来导出GDS文件有关,具体什么含义我也没弄太清楚。修改结束后会提醒你工艺文件已修改,是否保存

(2)关于各层显示:各个层次的显示由.drf文件定义,可以在LSW窗口中,点file--display resourse进行修改,边框,条纹,颜色等等都可以修改,一切按自已习惯来,也可以在出现的对话框中,可以点file--load来载入已经存在的.drf文件。修改后的显示信息也可以保存,以便下次直接调用

补充:今天新学到一点知识,就是在打label的时候,一定要把label包含到所要标记的线条里,否则后期DRC的时候就系统就认不出来啦,我可是吃过这方面的亏,今天总算知道啦,多谢清华的一位仁兄了。

还有,在绘制版图的时候,如果层次很多,有些层又暂时用不着,可以将其屏蔽,通过LSW上的AV(all visible)NV(none visible) AS(all selectable) NS(none selectable)来实现,这样画面就清爽多啦

Cadence初学手记(四):电路的Hspice仿真

1、将电路导成网表:将画好的电路图check and save后,在CIW窗口里,点file--stream out--CDL,在弹出窗口里点browser,选定要导出的电路图,设置好路径(路径如果不填就在启动Cadencer的目录下)和导出文件名(默认为netlist),点OK

2、找到你刚刚生成的网表,对其进行编辑,我一般是先把GLOBAL VDD GND

那一行前面的星号去掉,因为星号是代表注释掉某一行语句,而我们需要VDD GND 做为全局变量。然后再把最下面main circuit那一块里的subckt前加上星号,subckt意思是定义子电路,在main circuit里无需定义子电路。

3、去掉最后的end cellname,加激励:下面是我经常用的激励(有点白,但很好用噢)

v0 VDD GND 6 *定义电源和地之间的电压6V*

v1 IN1 0 pulse(0 5 5u 1n 1n 5u 10u) *输入信号1 脉冲低电平0V 高电平5V 延迟5u 上升时间1n 下降时间1n 正半周时间5u 周期10u*

.op *分析静态工作点 *

.option list post nomode *这句不太懂,汗*

.print *输出说明,还可写成print v(节点名称) i(r1) p(r1) 分别代表输出电压电流和功率*

.inc '/home/user1/n95.inc'*要用到的工艺制程*

.tran 1u 300u *每1u分析一点,总共分析300u*

.end

4、在保存网表的路径下,打开终端,键入hspice netlist(或你的网表名),程序开始运行,等运行结后,键入awaves netlist.tr0,就可以看波形啦,想看哪个波形,在result browser里一双击就可以了

Cadence学习手记(五):版图的DRACULA验证

1.将版图导成GDS文件:在CIW窗口中点file--stream out,在弹出的对话框中点browser选定你要导的版图,设置好输出文件名,路径等等点OK

2.对DRC文件进行修改:在INDISK后,写入你的GDS文件路径及文件名,OUTDISK 后设置你的输出文件名,PRIMARY后写你的cellname,workdir后写你的DRACUAL 程序路径,改好后保存

3.将改好的DRC文件和GDS文件放在同一目录下,并在此终端下键入PDRACULA,在提示符后输入":/g cellname.db",程序开始运行,生成https://www.sodocs.net/doc/d912286606.html,等可执行文件,程序运行完后输入“:/f”推出程序

4. 输入https://www.sodocs.net/doc/d912286606.html,,系统开始进行DRC验证,生成一堆文件,这些文件怎么看我还不太明白,等我慢慢研究,以后汇报啦

Cadence初学手记(六):关于command file

今天粘点别人的东西,我也不是很精通,只好照抄啦。

我们常把dracula的脚本语言叫做command file,command file结构大致分为三大块即:

主体说明部分(description block),用来设定输入/出database信息,运行的模式等相关信息;

图层说明部分(input layer block),用来说明所要操作的图层,文字等信息;

主体操作部分(operation block),这是command file的操作运算部分

一、主体说明部分

给个例子

*description

primary = top1017 ;primary cell name

indisk = ../db/top.db ;input file name

outdisk = out.dat ;output file name

printfile = prt ;output log file

resolution = 0.005 mic ;minium layout increment

scale = 0.001 mic ;tap equivalent

listerror = yes ;enable output log file

program-dir = /home/dracula ;directiory include dracula program mode = exec now ;execution mode

keepdata = inquery;smart;yes

delcel = tmp ;cell delete

text-level = 1 ;consider text in nth level

system = gds2 ;database format

*end

黄色的字是一般是要自已改的

二、图层说明部分,就是定义版图中所用的层,如:

*input-layer

pwell = 1

pplus = 2

cont = 5

... ...

mt1 = 6 text 6 attach mt1 texttype 2

substrate = bulk 99

connect-layer = poly mt1 mt2

temporary-layer = ngate pgate aplug

*end

三、主体操作部分

这部分就好像编程似的,比如,要检查两根metal1的间距不能小于0.6u 语句如下:

ext[h] mt1 lt 0.6 out drc01 40

整个operation部分的内容就是

*oper

ext[h] mt1 lt 0.6 out drc01 40

*end

本句的具体意思就是

mt1 extend to mt1 less than 0.6 ,and check notch,

output error named drc01 by layer number is 40 at last

ext 表 extend

[h] 为该命令的选项,为check notch

lt 为little

out 为output

写dracula command file就像写八股文,照着往上套就是。

就写drc command file来讲,主要针对designer rule来写,

首先看懂rule后,再去规则一下,主要思路如下:

1,定义好所要用到的层

2,将要层进行细化,来表达准确的含意

3,定义好组件

4,给定check rule

比如说,要检测出gate与cont的rule

1,定义好层

...

pplus = 2

cont = 5

poly1 = 12

thin = 8

...

2,细化

...

and pplus thin pthin;;pplus与thin重合的部分定义为pthin,即p型的thinoxide

and nwell pthin pdiff;;pthin与nwell重合的部分就是要来形成pmos的部分

...

3,定义组件

...

and poly1 thin gate ;poly1与thin交结的地方,即是gate

and pdiff gate pgate;;gate在pdiff,就认定为pgate

not gate pgate ngate;;gate除去pgate,就认定是ngate

...

4,给定rule

...

ext[to] cont gate lt 0.4 out drc04 40;;gate距cont,至少0.4u

...

此例中,先定好要用到的层,细化时即是定义由基本层派生出的层

将层与层进行组合,就形成你所想要定义的组件,对应到平时所讲的

如,gate,pmos,nmos等,这些并不是单纯的层,而是由层与层交织出的组件。

值得注意的是,这些定义要能真正体现mask的本意,否则command file就是无意义的。

以小见大,就可以完成command file的编写

Cadence初学手记(七):版图与电路对比lvs

1、将版图转换成GDS文件:和前面讲DRC时一样,就是在CIW里点

file--export--stream out,设置好文件名和路径,点OK

2、将电路图转换成网表:CIW里,file--export--CDL,设置文件名和路径,点OK

3、将GDS文件,网表和LVS文件都拷在同一个目录下

4、修改LVS文件:INDISK后写你的GDS文件路径

OUTDISK后写输出文件名

PRIMARY后写你的top cellname

program dir后写DRACULA程序的路径

5、将netlist转换成LVSLOGIC.DAT:在验证目录路径下,键入大写LOGLVS,然后在冒号后输入“cir 网表名”编译网表,“con 要转换的电路原理图的top cell名”将top cell转换成XTR文件,“:SUMMARY”看电路图情况,包括各种器件个数,’:x’退出

6、在同一路径下,键入PDRACULA,在提示符后输入“/g lvs文件名”,“/f”退出,生成https://www.sodocs.net/doc/d912286606.html,

7、输入https://www.sodocs.net/doc/d912286606.html,则开始执行LVS检验,若输入https://www.sodocs.net/doc/d912286606.html,>cellname.log,则检验在后台执行并将结果输出到cellname.log文件里

8、程序结束后,生成很多文件,可通过lvs.lvs来查看错误

Cadence初学手记(八):关于LSW

我一直记得以前见过关于用鼠标及shift使某一层不可见或不可选,就是记不得了,前两天琢磨了下,琢磨出来了,汇报下:

middle:使某一层不可见,要注意这层不能是选定用来绘图的那一层

shift+middle:只有点的那一层可见,其余不可见,相当于NV

right:使某层不可选,某层处于不可选状态时,颜色会变淡些,在版图上你就无法选定由这层画出的图形

shift+right:只有点的那一层可选,其余不可选,相当于NS

要解除不可见或不可选的状态,再点一下middle或right就可以了

Cadence初学手记(九):hspice小窍门 LVS的小经验

完LVS又把仿真好好搞了搞,所有参数都仿完了,并且很理想,又掌握了点新知识,小有成就感,呵呵

1、改变横坐标:在result browser窗口里,选中你想要作为横坐标的变量,再点Apply就可以了

2、如果电路是层次化的,想看某一模块里某一cell的电压或电流,在网表里写blockname.cellname就可以,比如看一个管的漏电流:print dc i(XI.mp24)。再在results browser窗口hierarchy栏双击top,点选某一模块,就可以在types 和curves里点击相应的项目查看波形

3、有时会提示“input file has no data”怎么办?明明网表在,激励在,怎么no data呢?愁煞人也

哈哈,这可是和我一个教研室的stronger大哥经历了血的教训后发现的独门秘籍,一般人我不告诉他!

其实也很简单,就是修改网表的时候,删最后那一行的“ends cellname”时,千万不要把那一行全部选删掉,就选那几个字删就好,否则就会no data,神奇吧。发现这么点细微的差别实在不易啊,在此向stronger大哥敬礼了先~~

LVS的小经验:

前几天非人的LVS经历给了我惨痛的教训,面对着几百个的UNMATCH,那个痛苦啊!有时有错误却死活查不出来,郁闷得我简直想拿头撞墙。不过现在好了,我挖地三尺地查啊查,总算守得云开见月明了,有点小经验,汇报汇报:

1、确保所有的LABEL均被识别出来,尤其是VDD和GND的。LABEL用哪一层金属都可以,只要将其原点包含到你要标识的那个金属条里就行

2、特别要注意PAD之间不能短接。我这次做LVS最开始只认出了四个输入,四个输出及电源和地都没有被认出来,我百思不得其解,后来上网请教,得知要查查PAD是否有相同的器件连接。我一查,果然,由于我粗心马哈,metal3有部分重叠,几个PAD连成一片,能认出来才怪。断开重叠的metal3,又发现多打了几个via,把电源和地打通了,除掉那几个害人的via,又发现两个输出的功率管的漏极接到一起了,就相当于一个管子接了两个PAD,肯定会出错啦

3、报告结果的.lvs文件中,差异报告部分左边是原理图的器件,右边是版图的器件,我一般都是从不匹配的节点开始找。在LVS--setup后,将不匹配的netname写入LVS view窗口的第二栏里,再点fit ,不匹配的net就会高亮显示,再在原理图窗口用edit--search,找到相应的net,就可以比较两者,看哪儿出错了

4、关于LVSCHK选项的简介,从网上找的,发一下

LVSCHK[option]

Option解释如下:

A 将串连电容认做一个

B 仅仅保持并联三极管的单个性,有多少是多少。其他如并联的mos,dio,ldd,res,cap等全部认成一个!

C 如果没有定义X选项,则把各种Pmos Nmos组合起来认成device,如nor nand aoi oai等。这里的pmos 和nmos必须是在lvs cmdfile中被定义为MOS[P] MOS[N].

E和E` 怎样认一些并联的器件,并联的器件其实就是类似或相同的器件。(晕了),lvschk有两种认的方式,一种是E

,以device为单位来认,另外一种就是E`,以node为单位来认。都指的是线路和layout的互相识别。lvschk后面有一些例如wpercent=0 什么的,如果没

有,那么dracula自动打开lvschk的E选项.E和E`不能同时在lvschk里面出现。书上建议说最好run两遍,一遍带E,一遍带E`,只有真正的错误才是在两次的错误报告中同时出现。

F 过滤掉没有用到的mos,比如在gate array的案子中。线路和layout可以单独过滤

G 过滤掉没有用到的mos,比如在gate array的案子中。线路和layout同时过滤。

K 有K就自动将B变成无效了。但是如果有S选项也有K选项,那么K无效了。K表示不把所有的并联device smash。

L 有L有C,C被盖掉。L跟C差不多,仅仅不包含aoi 和 oai。

M dracula可以认出这种inverter(这个inverter用来short nand或nor的gate)

N 在gate级别认substrate,否则是在transistor level上认。如果有虚gate 的情况,同时需要N 很T选项。

O 首先,用了O就不能用X。在没有连接vdd或者gnd的情况下,依然可以认出并联或者串连的mos来!挺有用!

P 检查电容的极性!

R smash 串联的电阻。也就是说,串多少个都认成一根!除非分叉!

S 接了power或者gnd的mos,将几个并联的认做一个。(没见过哪个cmdfile 没用这个选项)

T 前面略有介绍。

U 去掉不相关错误,好用啊

X 有X就不能swap。

Z 过滤掉那些没有接到power或gnd上的device。

cadence 学习笔记

1. Allegro中我设置了highlight的颜色为白色,但选中后颜色是白蓝相间的,很不方便查看。是什么地方需要设置,哪位大虾告诉哈我? 答:setup/user preferences/display/display_nohilitefont 这个选项打勾就行了。 2. 不小心按了Highlight Sov后部分线高亮成白色,怎样取消? 答:这个是用来检查跨分割的,取消的办法是:如果是4层板的话,在电源层跟地层都铺上地网络,然后再按Highlight Sov刷新即可。 3. 如何更改Highlight高亮默认颜色? 答:可以在Display->Color/Visibility->Display->Temporary Highlight里修改即可,临时修改颜色可以点Display->Assign Color来实现。 4. 如实现Highlight高亮部分网络,而背景变暗,就像Altium Designer那样? 答:可以在Display->Color/Visibility->Display->Shadow Mode打开该模式,并且选中Dim active layer 即可。 5. 快速切换层快捷键 答:可以按数字区里的“-”或“+”来换层。 6. OrCAD跟Allegro交互时,出现WARNING [CAP0072] Could not find component to highlight 错误等? 答:OrCAD输出网表,Allegro导入网表,确保两者对的上号,然后在Orcad选中元件,再右键Editor Select,即可在Allegro中选中该元件;反过来,在Allegro中要先Highlight某元件,在Orcad中变会选中该元件。 1.ORcad :首先打开orcad和allegro分别占1/2的窗口界面。然后orcad中Tools/creatnetlist/PCB Editor中Create PCB Editor Netlist下的Options中设置导出网表的路径。然后确定导出网表。 2.Allegro:Files/Import/Logic/ 最底下的Import directory中设置刚才导出网表的路径。然后导入即可,只要不出现error即可。 3.操作互动:首先在allegro中选中高亮display/Highlight,然后到orcad中选中一个元件或者引脚哪么对应的allegro中旧高亮显示了。当然了选中Dehighlight就可以不高亮显示了。 7. 关于盲孔及埋孔B/B Via的制作方法? 答:可先制作通孔Thru via,然后Setup->B/B via definitions->Define B/B via,如下图,完成后,再在Constraint Manager->Physical->all layers->vias里添加B/B Via即可。

cadence入门教程_修改版

Introduction to Cadence Customer IC Design Environment 熊三星徐太龙编写 安徽大学电子信息工程学院微电子学系

目录 1. Linux 常用命令 (3) 2. 软件的启动 (5) 3. 建立工程 (7) 4. 画原理图 (9) 5. 原理图仿真 (17) 6. 生成symbol (25) 7. 版图 (30) 8. DRC检查 (50) 9. LVS检查 (54) 10. PEX参数提取 (58) 11. 后仿真 (61)

1.Linux 常用命令 目前,电子设计自动化(Electronic Design Automation, EDA)工具多数都基于Linux操作系统,因此在学习使用EDA之前,有必要掌握一些Linux操作系统的基本命令。 1.mkdir mkdir命令让用户在有写权限的文件夹(目录)下建立一个或多个文件夹(目录)。其基本格式如下: mkdir dirname1 dirname2 ... (dirname 为文件夹或者目录的名字) 2.cd cd命令让用户进入一个有权限的文件夹(目录)。其基本格式如下: cd Filename (Filename为文件夹或者目录的名字) cd .. (.. 表示上一层文件夹或者目录) 3.ls ls命令用以显示一个文件夹(目录)中包含的文件夹(目录)或者文件。其基本格式如下: ls Filename (Filename为文件夹或者目录的名字) 如果ls命令后没有跟文件夹(目录)名字,显示当前文件夹(目录)的内容。 ls 命令可以带一些参数,给予用户更多相关的信息: -a : 在UNIX/Linux中若一个文件夹(目录)或文件名字的第一个字元为"." ,该文件为隐藏文件,使用ls 将不会显示出这个文件夹(目录)或文件的名字。如cshell 的初始化文件.cshrc,如果我们要察看这类文件,则必须加上参数-a。格式如下:ls –a Filename -l : 这个参数代表使用ls 的长(long)格式,可以显示更多的信息,如文件存取权,文件拥有者(owner),文件大小,文件更新日期,或者文件链接到的文件、文件夹。 4.cp cp命令用于文件夹(目录)或文件的复制。其基本格式如下: cp source target 将名为source的文件复制一份为名为target的文件。如果target 文件不存在,则产生文件名为target 的文件,如果target 文件存在,缺省时自动覆盖该文件。 cp file1 file2…dir 将文件file1 file2 ... 都以相同的文件名复制一份放到目录dir 里面。

Allegro中文教程

Allegro培训教材 目录 第一章 焊盘制作-------------------------------------------------------2 1.1 用Pad Designer 制作焊盘---------------------------------------2 1.2 制作圆形热风焊盘----------------------------------------------7 第二章 建立封装------------------------------------------------------10 2.1 新建封装文件-------------------------------------------------10 2.2 设置库路径---------------------------------------------------11 2.3 画元件封装---------------------------------------------------12 第三章 元器件布局----------------------------------------------------22 3.1 建立电路板(PCB)----------------------------------------------22 3.2 导入网络表---------------------------------------------------23 3.3 摆放元器件---------------------------------------------------26 第四章 PCB布线------------------------------------------------------31 4.1 PCB 层叠结构-------------------------------------------------31 4.2 布线规则设置-------------------------------------------------34 4.2.1 对象(object)--------------------------------------------35 4.2.2 建立差分对----------------------------------------------37 4.2.3 差分对规则设置------------------------------------------38 4.2.4 CPU与DDR内存芯片走线约束规则--------------------------40 4.2.5 设置物理线宽和过孔--------------------------------------46 4.2.6 设置间距约束规则----------------------------------------52 4.2.7 设置相同网络间距规则------------------------------------56 4.3 Allegro PCB布线----------------------------------------------56 4.3.1 手工拉线------------------------------------------------56 4.3.2 应用区域规则--------------------------------------------60 4.3.3 扇出布线------------------------------------------------61 4.3.4 差分布线------------------------------------------------63 4.3.5 等长绕线------------------------------------------------65 4.3.6 分割平面------------------------------------------------66 第五章 光绘文件输出--------------------------------------------------69 5.1 Artwork 参数设置---------------------------------------------69 5.2 生成钻孔文件-------------------------------------------------75 5.3 输出底片文件-------------------------------------------------79

Cadence学习笔记4PCB板设计

Cadence学习笔记4__PCB板设计 打开PCB Editor,新建一个文件File→New,模板选择Board,文件名为myBoard,点击Browse…选择文件路径,然后点击ok,如下图: 可能因为是破解软件,有的时候一些命令会没反应,保存好文件后,重新打开程序。 这个文档只介绍双层板设计。 设置板子大小: 点击工具栏setup→Design Parameter弹出窗口如下,在Design选项卡下面,单位选择mils,表示这个板子的所有的默认单位都是mil,精度Accuracy选择2,因为后面要出光绘,太大了也没用,大小设置4000*4000,相应的左下角坐标设为-2000和-2000,其余默认即可,第一行两个-2000是第二行两个4000的一半,表示原点在板子中心。一般情况下这里设置的板子应比比实际大小更大一些,特别是宽度,这样有利于摆放元器件。

接着设置栅格点大小,点击工具栏setup Grids,勾选“Grids On”显示栅格点,在非电气属性区域Non-Etch设置为25mil,表示布局<摆放元件)时的最小栅格点为25mil,在电气属性区域All Etch及下面的TOP和BOTTOM设为5mil,表示布线时的最小栅格点为5mil,在All Etch这里的Spaceing x和y可以设置所有层的电气属性栅格点,在下面的TOP和BOTTOM可以单独设置各个层,这里默认的是两层,如果还有更多的层,都会在这里显示。

设置板框: 板框大小就是做出来的板子的实际大小,根据实际情况确定。点击Add→line或左侧工具栏的划线图标,在右侧工具栏选择Options,然后选择类Board Geometry和子类 Outline,其余默认,如下图。其右上角有三个很小的图标,可以点击右上角的图标将其展开,否则鼠标移开后会自动收缩,展开后也可以点击将其收缩。如果不小心点击关掉了这个小窗口,可以在上方工具栏View→Windows勾选Options,同样的Visibility 和Find都可以这么操作。如果Options、Visibility和Find窗口都是点击了展开,那么可以点击将其中一个置于最前。

FPGA学习心得

回想起自己学FPGA,已经有一段时间了,从开始的茫然,到后来的疯狂看书,设计开发板,调电路,练习各种FPGA实例,到最后能独立完成项目,一路走来,感受颇多,拿出来和大家分享,顺便介绍下自己的一点经验所得,希望对初学者有所帮助。 废话不说了,下面进入正题,学习FPGA我主要经历了这么几个阶段: ①、Verilog语言的学习,熟悉Verilog语言的各种语法。 ②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA 板子。 ③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosII IDE),了解NiosII 的基本结构,设计NiosII开发板,编写NiosII C语言程序,调试板子各模块功能。先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog两种,在本科时老师一般教VHDL,不过现在 Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。像systemC,systemVerilog之类的应该还在萌芽阶段,以后可能会有较大发展。鉴于以上原因我选择了Verilog作为我学习的硬件描述语言。 其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。这里推荐几本评价比较好的学习Verilog的书籍: ①、《verilog 数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。但本书对于资源优化方面的编程没有多少涉及到。 ②、《设计与验证Verilog HDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。 学习Verilog其实不用看很多书,基本的语法部分大家都一样,关键是要自己会灵活应用,多做练习。 Verilog语言学了一段时间,感觉自己可以编点东西,希望自己编的程序在板子上运行看看结果,下面就介绍我学习的第二个阶段。 刚开始我拿了实验室一块CPLD的开发板做练习,熟悉QuartusII的各种功能,比如IP的调用,各种约束设置,时序分析,Logiclock设计方法等,不过做到后面发现CPLD 的资源不太够(没有内嵌的RAM、不能用SignalTapII,LE太少等),而实验室没有FPGA开发板,所以就萌生了自己做FPGA开发板的意图,刚好Cadence我也学的差不多了,就花了几天时间主要研究了FPGA配置电路的设计,在板子上做了Jtag和AS下载口,在做了几个用户按键和LED,其他的口全部引出作为IO口,电路比较简单,板子焊好后一调就通了(心里那个爽啊...)。我选的FPGA是cycloneII系列的EP2C5,资源比以前的FPGA多了好几倍,还有PLL,内嵌的RAM,可以试试SignalTapII,用内嵌的逻辑分析仪测试引脚波形,对于FPGA的调试,逻辑分析仪是至关重要的。利用这块板子我完成了项目中的几个主要功能:RS232通信,指令译码,配置DDS,AD数据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。这个时候我主要看的数据有这几本感觉比较好: ①、《Altera FPGA/CPLD 设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法(IP,RTL,SignalProbe,SignalTapII,Timing Closure Floorplan,chip Editor等),对于入门非常好。 ②、《Altera FPGA/CPLD 设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。

Cadence_SPB16.3入门教程——元器件布局 .doc

Cadence_SPB16.3入门教程——元器件布局 2012-03-07 13:50:28| 分类:cadence | 标签: |字号大中小订阅 在摆放元件的时候可以与OrCAD Capture交互来完成。在OrCAD Capture中打开原理图,选择菜单 Options->Perferences,如图3.11所示。 图3.11 OrCAD Capture交互 弹出Preferences对话框,如图3.12所示。 图3.12 Preferences 对话框 点击Miscellaneous标签,将Enable Intertool Communication复选框选中。点击确定关闭对话框。 之后在allegro中打开Placement 对话框的状态下,首先在原理图中点击需要放置的元件使之处于选中状态下,然后切换到allegro中,把鼠标移到作图区域内,就会发现该元件跟随着鼠标一起移动了,在想要放置的位置单击鼠标左键即可将该元件放置在PCB中,cadence的这个交互功能非常的好用,不仅在布局的时候可以这样,在布线仿真的时候都能使用该功能来提高效率。 PCB布局是一个很重要很细心的工作,直接影响到电路信号的质量。布局也是一个反复调整的过 程。一般高速PCB布局可以考虑以下几点: ·CPU或者关键的IC应尽量放在PCB的中间,以便有足够的空间从CPU引线出来。

·CPU与内存之间的走线一般都要做等长匹配,所以内存芯片的放置要考虑走线长度也要考虑间隔是 否够绕线。 ·CPU的时钟芯片应尽量靠近CPU,并且要远离其它敏感的信号。 ·CPU的复位电路应尽量远离时钟信号以及其它的高速信号。 ·去耦电容应尽量靠近CPU电源的引脚,并且放置在CPU芯片的反面。 ·电源部分应放在板子的四周,并且要远离一些高速敏感的信号。 ·接插件应放置在板子的边上,发热大的元器件应放在置在通风条件好的位置,如机箱风扇的方向。 ·一些测试点以及用来选择的元件应放在顶层,方便调试。 ·同一功能模块的元件应尽量放在同一区域内。 在布局的过程中,如果某一元件的位置暂时固定了,可以将其锁住,防止不小心移动以提高效率。Allegro提供了这个功能。点击工具栏的图标按钮,然后点击一下元件,右键选择Done,然后该元件就 再也无法选中了,如果要对已经锁定的元件解锁,可以点击工具栏的图标按钮,然后点击右键Done。 也可以点击该按钮后在PCB画图区域点击右键,选择Unfix All选项来解锁所有的元件。 摆放元件的时候,如果需要将元件放置在对面那一层,可以选中元件后单击右键选择菜单Mirror这时 候该元件就被放置到相反的那一层。 在完成元件的布局后,还要重新画板框以及禁止布线层与禁止摆放层。可以参考上面的画板框方法来 完成这些工作,这里就不重复了。

cadence入门教程

本文介绍cadence软件的入门学习,原理图的创建、仿真,画版图和后仿真等一全套过程,本教程适合与初学着,讲到尽量的详细和简单,按照给出的步骤可以完全的从头到尾走一遍,本教程一最简单的反相器为例。 打开终端,进入文件夹目录,输入icfb&启动软件,主要中间有个空格。 启动后出现下图: 点击Tools的Library Manager,出现如下: 上面显示的是文件管理窗口,可以看到文件存放的结构,其中Library就是文件夹,Cell就是一个单元,View就是Cell的不同表现形式,比如一个mos管是一个Cell,但是mos管有原理图模型,有版图模型,有hspice参数模型,有spectre参数模型等,这就列举了Cell的4个View。他们之间是树状的关系,即,Library里面有多个Cell,一个Cell里面有多个View。应该保持一个好习惯就是每个工程都应该建立一个Library,Cell和View之间的管理将在后面介绍。

现在建立工程,新建一个Library,如下左图,出现的对话框如下有图: 在上右图中选择合适的目录,并敲入名字,这里取的是inv,这就是新建的文件夹的名字,以后的各种文件都在这个文件夹下。OK后出现下面对话框 这个对话框是选择是否链接techfile,如果只是原理图仿真而不用画版图,就选择Dont need a techfile,这里我们要画版图,而且有工艺库,选择Attach to an existing techfile,OK 后出现下面对话框:

在technology Library选择tsmc18rf,我们使用的是这个工艺库。Inv的文件夹就建好了,在Library Manager就有它了,如下图: 文件夹建好了后,我们要建立原理图,在inv的Library里面新建Cell如下:

Cadence学习笔记(十三)

1. 有些特殊的焊盘上要打很多孔,需要在Multiple Drill里设置。 2. .psm是元件封装的数据文件,不能直接编辑,.dra是绘图文件,我们可以用软件打开它对封装进行编辑。 3. 按room摆放: 使用PCB Editor, 1)在PCB Editor里设置room属性,导入网表后,Edit - Properties,在Find by name中选择Comp (or Pin),点击More,选择需要赋予room属性的元件,弹出Edit Property对话框 ,在左边的Available Properties中选择Room,value=power3v3,然后点击Apply,在Show Properties 窗口可以看到所选的元件都有ROOM=power3v3,这样元件有了room属性; 2)接下来在PCB Editor里添加room区域,Setup - Outlines - Room Outline,在Create/Edit Option 选择Draw Rectangle,在板框内部拉出一个矩形框; 3)按照room属性来摆放,Place - Quick Place,在Placement Filter里选择Place by room,在下拉列表中选择power3v3,点击Place。 使用Capture CIS, 1)选中元件,右键Edit Properties,Filter by选择Cadence-Allegro,找到ROOM编辑,填写power1v6,再切换到,可以看到room属性已经带过来了; 2)属性设置好以后,要把属性做到网表里,需要重新生成网表,点击.dsn,Tools - Create Netlist;3)回到PCB Editor,重新导入网表,File - Import - Logic; 4)创建room,Setup - Outlines - Room Outline,在Create/Edit Option选择Draw Rectangle,画出power1v6的room; 5)按照room属性来摆放,Place - Quick Place,在Placement Filter里选择Place by room,在下拉列表中选择power1v6,点击Place。

Allegro学习笔记之2——覆铜

Allegro学习笔记之2——覆铜 所谓覆铜,就是将PCB上闲置的空间作为基准面,然后用固体铜填充,这些铜区又称为灌铜。 敷铜的意义: 1)减小地线阻抗,提高抗干扰能力; 2)降低压降,提高电源效率; 3)与地线相连,还可以减小环路面积。 4)也出于让PCB 焊接时尽可能不变形的目的,大部分PCB 生产厂家也会要求PCB 设计者在PCB 的空旷区域填充铜皮或者网格状的地线。 不过敷铜如果处理的不当,那将得不赏失 这是一个实测的案例,测量结果是利用EMSCAN 电磁干扰扫描系统(https://www.sodocs.net/doc/d912286606.html, )获得的,EMSCAN 能使我们实时看清电磁场的分布。 在一块多层PCB 上,工程师把PCB 的周围敷上了一圈铜,如图1 所示。在这个敷铜的处理上,工程师仅在铜皮的开始部分放置了几个过孔,把这个铜皮连接到了地层上,其他地方没有打过孔。

在高频情况下,印刷电路板上的布线的分布电容会起作用,当长度大于噪声频率相应波长的1/20 时,就会产生天线效应,噪声就会通过布线向外发射。 从上面这个实际测量的结果来看,PCB 上存在一个22.894MHz 的干扰源,而敷设的铜皮对这个信号很敏感,作为“接收天线”接收到了这个信号,同时,该铜皮又作为“发射天线”向外部发射很强的电磁干扰信号。我们知道,频率与波长的关系为f=C/λ。 式中f 为频率,单位为Hz,λ为波长,单位为m,C 为光速,等于3×108 米/秒 对于22.894MHz 的信号,其波长λ为:3×108/22.894M=13 米。λ/20为65cm。 本PCB 的敷铜太长,超过了65cm,从而导致产生天线效应。 目前,我们的PCB 中,普遍采用了上升沿小于1ns 的芯片。假设芯片的上升沿为1ns,其产生的电磁干扰的频率会高达fknee = 0.5/Tr =500MHz。 对于500MHz 的信号,其波长为60cm,λ/20=3cm。 也就是说,PCB上3cm 长的布线,就可能形成“天线”。所以,在高频电路中,千万不要认为,把地线的某个地方接了地,这就是“地线”。一定要以小于λ/20 的间距,在布线上打过孔,与多层板的地平面“良好接地”。 注意问题: 那么我们在敷铜中,为了让敷铜达到我们预期的效果,那么敷铜方面需要注意那些问题: ?如果PCB的地较多,有SGND、AGND、GND,等等,就要根据PCB板面位置的不同,分别以最主要的“地”作为基准参考来独立覆铜,数字地和模拟地分开来敷铜自不多言,同时在覆铜之前,首先加粗相应的电源连线:5. 0V、3.3V等等,这样一来,就形成了多个不同形状的多变形结构。 ?对不同地的单点连接,做法是通过0欧电阻或者磁珠或者电感连接; ?晶振附近的覆铜,电路中的晶振为一高频发射源,做法是在环绕晶振敷铜,然后将晶振的外壳另行接地。 ?孤岛(死区)问题,如果觉得很大,那就定义个地过孔添加进去也费不了多大的事。 ?在开始布线时,应对地线一视同仁,走线的时候就应该把地线走好,不能依*于覆铜后通过添加过孔来消除为连接的地引脚,这样的效果很不好。 ?在板子上最好不要有尖的角出现(<=180度),因为从电磁学的角度来讲,这就构成的一个发射天线!对于其他总会有一影响的只不过是大还是小而已,我建议使用圆弧的边沿线。

Cadence 16.2 学习笔记(一)

D:\Cadence\SPB_16.3\share\pcb\pcb_lib\symbols 原理图操作 Friday, September 07, 2012 12:47 PM

为什么我的cadence16。3绘制原理图DRC 检测没问题之后,生成网表出现错误呢error initializing COM property pages: 无效指针 ? ? I'm using 16.2 demo version on the 64bit version of Windows 7. When I try to create a netlist, it generates generates an error message saying: "Error initializing COM property pages: Invalid pointer" The netlist creation window has a blank PCB Editor tab, in which I can't generate a netlist for PCB Editor.Anyone knows the solution? Thanks. I found the (partial) solution as following: Error while creating a netlist in Capture My operating system is Vista. I get the error -“Error initializing COM property pages: Invalid pointer ”while trying to generate the Allegro net list. PROBLEM: While creating a netlist in OrCAD Capture 9.2.3, the following error message appears “Error initializing COM property pages: Invalid pointer ”. Why? SOLUTION: This error message appears because of an improper entry in the registry of the pxllite.OCX file. You can solve this problem in the following tree ways: Solution 1: Manually register the Dynamic Link Libraries (.DLL). To manually register the pxllite.ocx file: 1. Choose Start > Run to open the Run window. 2. Type cmd to open the command line window (CTRL+right click, run as admin) 3. Go to \tools\capture, where is the path for the OrCAD Capture installation directory. 4. Type the following two commands, one at a time in the command line window: regsvr32 pxllite.ocx regsvr32 truereuse.ocx Netlist 创建 Friday, September 07, 2012 10:57 PM

CADENCE快捷键归纳

cadence 快捷键总结 Cadence版图布局软件Virtuso Layout Editor快捷键归纳(也就是Virtuso中说的Bind key) 写在前面:以下我所归纳的快捷键是我在版图培训时通过阅读Cadence帮助文件和菜单命令一个个试出来的,有些我只知道作用而暂时想不到相应的中文翻译。还有一些快捷键帮助文件中有,但我试了没用,可能是要在Unix下吧^_^。希望对学版图设计的有所帮助吧。有不妥的地方还请多多指教啊。 首先介绍下鼠标、键盘操作吧: 1)单击左键选中一个图形(如果是两个图形交叠的话,单击左键选中其中一个图形,在单击选中另一个图形) 2)用左键框选,选中一片图形,某个图形要被完全包围才会被选中。 3)中键单击调出常用菜单命令(很少用,要点两下,麻烦。我们有快捷键的嘛) 4)右键点击拖放用来放大。放大后经常配合F键使用,恢复到全部显示。配合Tab键使用,平移视图。右键还有“Strokes”,就是点住右键画些图线,就能实现调用某些命令。 5)Shift+左键加选图形,Ctrl+左键减选图形。(Cadence菜单中大写表示+按shift,Ctrl 写成^) 6)F1 显示帮助窗口。 7)F2 保存。 7)F3 这个快捷键很有用,是控制在选取相应工具后是否显示相应属性对话框的。比如在选取Path工具后,想控制Path的走向,可以按F3调出对话框进行设置。 8)F4 英文是Toggle Partial Select,就是用来控制是否可以部分选择一个图形。 9)F5 打开。 F6,F7帮助上有,但我试过,没反应-_-!!! 10)F8 Guided Path Create 切换至L90XYFirst。 11)F9 是Filter Size 我不知道怎么用。 12)Ctrl+A 全选。这个和windows下是一样的。 13)Shift+B Return。这个牵扯到“Hierarchy”。我翻译成“层次”。这个命令就是层次升一级,升到上一级视图。

60分钟学会OrCAD中文教程(SIG007版)

于博士信号完整性研究网 https://www.sodocs.net/doc/d912286606.html, 60分钟学会OrCAD Capture CIS 作者:于争 博士 2009年4月28日

目录 1 建立工程及设置......................................................................................................................- 1 - 2 工程管理器..............................................................................................................................- 4 - 3 原理图页相关操作..................................................................................................................- 5 - 4 创建元件库..............................................................................................................................- 6 - 5 元件库编辑一些知识技巧......................................................................................................- 9 - 6 如何创建不规则图形元件....................................................................................................- 10 - 7 分裂元件................................................................................................................................- 15 - 8 把一个元件分多个部分画出来............................................................................................- 16 - 8.1 Homogeneous类型元件画法......................................................................................- 16 - 8.2 Heterogeneous类型元件画法..................................................................................- 17 - 8.3 分裂元件使用方法.....................................................................................................- 19 - 9 加入元件库放置元件............................................................................................................- 21 - 9.1普通元件放置方法......................................................................................................- 21 - 9.2 电源和地的放置方法.................................................................................................- 23 - 10 同一个页面内建立互连......................................................................................................- 24 - 11 不同页面间建立互联的方法..............................................................................................- 26 - 12 使用总线..............................................................................................................................- 27 - 12.1 如何创建总线...........................................................................................................- 27 - 12.2 放置非90度转角总线.............................................................................................- 28 - 12.3 总线命名...................................................................................................................- 28 - 12.4 总线与信号线连接...................................................................................................- 28 - 13 浏览工程及使用技巧..........................................................................................................- 29 - 13.1 浏览parts................................................................................................................- 30 - 13.2 浏览nets..................................................................................................................- 31 - 14 原理图中搜索......................................................................................................................- 32 - 14.1 搜索元件...................................................................................................................- 33 - 14.2 查找网络 flat nets...............................................................................................- 34 - 15 元件替换与更新..................................................................................................................- 35 - 15.1 批量替换 replace cache.......................................................................................- 35 - 15.2 批量更新 update cache.........................................................................................- 36 - 15.3 两个命令的区别.......................................................................................................- 36 - 16 一些基本操作......................................................................................................................- 36 - 16.1选择元件....................................................................................................................- 36 - 16.2 移动元件...................................................................................................................- 37 - 16.3 元件的旋转...............................................................................................................- 37 - 16.4 元件的镜像翻转.......................................................................................................- 37 - 16.5 修改元件属性放置文本...........................................................................................- 37 - 17 添加footprint属性..............................................................................................................- 38 - 17.1 单个元件添加Footprint属性...............................................................................- 38 - 17.2 批量添加Footprint属性.......................................................................................- 41 - 18 生成Netlist..........................................................................................................................- 44 - 19 生成元件清单......................................................................................................................- 47 - 20 打印原理图..........................................................................................................................- 51 -

相关主题