搜档网
当前位置:搜档网 › Cadence中Verilog 的一些使用方法

Cadence中Verilog 的一些使用方法

Cadence中Verilog 的一些使用方法
Cadence中Verilog 的一些使用方法

Cadence中Verilog的一些使用方法

一学习Verilog 的必要性

随着电路规模的增大和复杂传统的图形输入模式已不可行语言描述电路成为潮流它的方便性和好的更改性维护性在实践中得到很好的体现尤其现在强大的综合工具和系统集成对核的需求性使Verilog更有用武之地每个硬件工程师应

该学习掌握它

二Verilog 的文本编辑器

在进入Cadence后在命令行中键入

textedit *.v↙

(此处*为文件名在textedit 命令后应带上文件名)

键入上述命令后进入文本编辑框和Windows 中常用的文本编辑框很象

图1textedit文本编辑框界面

图中的主菜单File View Edit Find及各自底下的子菜单和Windws中的

文本编辑器差不多使用方法相似这里就不多说了编好程序保存可以进

行后续工作了

三Verilog 的模拟仿真

1命令的选择

在命令行中键入

verilog↙

会出现关于此命令的一些介绍如下

-f read host command arguments from file.

-v specify library file

-y specify library directory

-c compile only

-s enter interactive mode immediately

-k set key file name

-u convert identifiers to upper case

-t set full trace

-q quiet

-d decompile data structure

Special behavioral performance options (if licensed):

+turbo speed up behavioral simulation.

+turbo+2 +turbo with second level optimizations.

+turbo+3 +turbo+2 with third level optimizations.

+listcounts generate code for maintaining information for $listcounts +no_turbo don't use a VXL-TURBO license.

+noxl disable XL acceleration of gates in all modules

Special environment invocation options (if licensed):

+gui invoke the verilog graphical environment

在上面的参数选择中简单介绍几个常用的:

(1)-c

首先应该保证所编程序的语法正确性先进行语法的检查选择参数- c键入

如下命令

verilog –c *.v↙

根据Cadence的报告查找错误信息的性质和位置然后进入文本编辑器进 行修改再编译这是个反复的过程直到没有语法错误为止

(2)-s

进入交互式的环境人机交互运行和下面的参数联合使用

(3)+gui &

verilog 仿真有命令和图形界面两种方式图形界面友好和windows使用很象很好掌握一般都使用图形方式&”符号是后台操作的意思不影响

前台工作如此时你可以在命令行输入其它的命令

其它的命令参数选择比较复杂这里就不介绍了故我们这里常用的命令是verilog –s *.v +gui &↙ (*代表文件名)

进入图形交互界面

$附命令行输入

!!↙

是执行上一条命令

命令行输入

!* ↙ (*代表字母)

是执行最近的以*开头的命令

上述附注对命令输入速度提高有所帮助

2SimVision 图形环境

SimVision是Verilog-XL的图形环境 主要有SimControl Navigator

Signal Flow Browswer Wactch Objects Window SimWave 等窗口

(1)SimControl 窗口

此窗口是主要的仿真控制窗口让用户和机器进行交互式操作执行各种Verilog-XL 命令(菜单)进行仿真分析调试你的设计该窗口可以显示设计的模块和模块显示和设置断点强制信号等创建用户自己的按钮和执行经常使用的操作

Source Browser

2SimControl 窗口界面图

I/O Region

Message Region

各部分简介

Menu Bar

有许多的子菜单让你执行各种模拟仿真命令这里就不一一介绍到使用时在指明其功能和所在位置

Tool Bar

各种按钮代表最常用的操作和功能能快速对选中的物体执行各种命令你可以在工具条中加入自己定义的按钮来代表常用的操作命令使用Option-User

Buttons-Create 菜单项用Options-User Buttons-Edit 菜单项修改修改按钮工具条还显示当前模拟时间当处于交互式的模拟状态时会随模拟更新时间因为工具条按钮的操作为常用操作下面各功能详细介绍一下

运行模拟按钮 设置模块按钮 对对象执行操作按钮 调用其它显示窗口按钮

放用户自定义按钮 是否显示程序代码 图3SimControl窗口中的工具条

a Run Simulation按钮

运行模拟若无断点直至完成图标变为停止模拟图标若有断点则运行到断点对

应信号再改变的位置

b Single Step按钮

再任何模块每按一下执行到下一个可执行行即使在子程序中也是单步运行

c Step Over 按钮

在当前的模块中执行到下一个可执行行在子程序中步单步执行而是一步执行完 子程序

d Set Scop

e 按钮

由当前的调试模块转到被选中的模块

e Scope Up 按钮

由当前模块转到它的上一级模块但若有对象被选中不执行

f Show Execution 按钮

模拟时更新当前模块显示正在模拟的模块在当前刚执行完的代码行左边有一个

箭头

g Set Breakpoint 按钮

设置断点当模拟过程中被选信号变化时发生代码左边的行号为高亮的可设为断 点灰色则不可以

h Set Force 按钮

弹出一个窗口里面有当前选中信号的名字和数值用户可以强制信号为一个希望 值

i Show Value 按钮

n程序代码是否显示的切换按钮

显示当前被选信号的数值

以下j k l m调用其它调试窗口具体介绍放到后面

j打开Navigator窗口

k打开Watch Objects 窗口显示被选中的对象

l打开Singal Flow Browser窗口把被选中的对象放到浏览器中

m打开SimWave窗口显示被选中对象的模拟波形

Source Browser

显示被调试的程序代码每行左边有行号你可以在其间选择信号和模块这种选择

会影响其它工具的操作对象反过来其他工具操作对象的选择也会作用于Source

Browser信号和对象的选择可在其间设置断点如前所说的在行号为高亮的行可设

为断点灰色则不可以可在Source Browser中点鼠标的右键选择菜单进行操作

另一个对选择对象的操作是双击该对象如双击信号得到它的数值双击模块则调 到 该模块描述处如图3中的n字母代表的按钮Source Browser可被关掉不显示

Scope Region

包含scope field 和subscopes field从下拉按钮选择不同的项跳不同的模

块对应的Source Browser显示该模块的代码

I/O Region

显示执行的命令和模拟输出的结果你也可以直接在此键入命令执行操作I/O

Region 也可以被关掉不显示当点击Message Region右边的三角按钮可切换显示

与否

Message Region

显示模拟状态

3Navigator 窗口

按下图3中j字母所代表的按钮(2)SimControl 窗口Tools-Navigator菜单项(3图

8中按下和图3中j字母所代表的按钮一样的按钮打开Navigator窗口

此窗口用图形在Scope Tree 中采用树的形式显示设计中各模块的层次关系在

Objects List中显出Scope Tree中被选模块的当前模拟数值和描述

图4Navigator窗口

Menu Bar

提供各种命令和操作有下拉菜单(如下面的图5)和右键弹出菜单两种选中对象

点击右键可选择对对象操作所需的命令如下面的图6

图5 Navigator窗口的菜单

图6Navigator中的PoP-Up菜单

Tool Bar

a设置模块 b对选择对象操作 c调用其他显示窗口

图7Navigator中的工具条

a b c同SimControl窗口中的工具条对应按钮的功能一样都是对选择对象进

行相应的操作只是对象可以在SimControl窗口选择也可以在Navigator窗口中 选择互相影响

Hierarchy Path

显示当前模块的直接路径其他路径不显示可选择其间的模块点击右键弹出菜单

进行操作

Scope Tree

对被选中的模块用树的形式表示出来在图5中Options-Scope Tree…菜单项中有 关于对象显示的的性质有Filters Formatting Layout三栏各有一些选项供 选择影响当前Scope Tree显示的内容

Objects List

显示当前调试模块里的信号和当前数值在在图5中Options-Objects List…菜单 选项有Filters Formatting两栏会影响Objects List中的显示内容在Selcet 子菜单中的选项(如图5)能选取某一类别的信号如都是Wires型或是Registers 型

4Singal Flow Browser窗口

该窗口跟踪可疑信号的值进入有三个方法(1) 按下图3中j字母所代表的按钮

(2)SimControl 窗口Tools- Singal Flow Browser菜单项 (3) 图7Navigato中 的工具条中字母c的第二个按钮打开窗口(4) Wactch Objects Window中按下图 3中j字母所代表的按钮的一样的按钮界面如下图(没选信号时)

8Singal Flow Browser窗口界面

Tool Bar Trace field

Menu

对对象的操作命令可查看信号或输入的细节显示信号的驱动可用四种进制显示信号的数值见下图后面会阐述菜单项的功能

图8Singal Flow Browser窗口菜单

Tool Bar 中的按钮和前面出现的相同的按钮的功能一样这里就不重复了

Trace field

显示图2 SimControl 窗口Source Browser或者图4Navigator窗口中Objects List所选的信号也可在Trace field输入信号名

Driver Frame

显示被选的信号和数值以及所有影响该信号的信号及它们的数值

假设某个时候的Driver和Value 如下图

图9Driver 信号举例

如果在上图中选中Driver信号选图8中 View-Driver info…的菜单项将弹出 Driver Details窗口显示信号的详细信息如下图

图10Driver 信号Driver Details窗口

当选中图9中的Driver 信号选图8中Trace-show inputs菜单项或者双击信 号将得到影响Driver 信号的有关信号的信息如下图

图11Driver 信号的inputs信息图

再次双击Driver 信号会隐去这些信息

5Watch Objects 窗口

显示所选信号及其数值当模拟中断时更新数值进入有三个方法(1) 按下图3

中k字母所代表的按钮(2)SimControl 窗口Tools- Watch Objects菜单项 (3) 图7

Navigator中的工具条中字母c的第一个按钮打开窗口(4) Singal Flow Browser 窗口中按下和图3中k字母所代表的按钮的一样的按钮界面如下图(没选信号时)

图12Watch Objects 窗口

你可以在打开Watch Objects窗口前选择观察信号如在Source Browser 中点选

择信号或在SimControl窗口中(图2)的Select菜单下的菜单项选择或在图4

中Navigator窗口的Objects List中选择也可以在打开Watch Objects窗口后 再选择信号如前选择好信号然后点击图12中工具条上的加号图标把选好信

号加到窗口中

窗口的菜单如下图菜单项的含义都比较明了就不多说了提一下Options-

Heighlight Activity项使最新变化的信号项用高亮条表示Options-Continous

Update 项使信号随时变化即使按图3中的a Run Simulation按钮也会显示最

后的结果否则不显示最后结果

图13Watch Objects 窗口的菜单

SimWave 窗口

显示选择信号的波形和数值

图14SimWave 窗口界面

四一个示例

这里举一个实际工作中编的例子演示前面所讲的内容但不一定面面俱到

程序的清单见附录(alu.v)

在命令行中敲textedit alu.v↙ 用textedit 编好程序的文本

在命令行中敲verilog –c alu.v↙ 编译通过程序.

在命令行中敲verilog –s alu.v +gui&↙ 进入交互式图形界面SimControl

窗口(见图2)在Scope中选择test.talu

在SimControl 窗口中的选中Select-Ports项选择端口

按下图3SimControl窗口中的工具条中的k键打开Watch Objects 窗口

并如图13选中Options-Continuous ,Highlight Activity两项

按下图3SimControl窗口中的工具条中的m键,打开 SimWave 窗口

按下图3SimControl窗口中的工具条中的a键,

图15Watch Objects 窗口

图16SimWave 窗口波形

附alu.v源程序

module alu(sum,c_out,a,b,c_in,m);

output [3:0]sum;

output c_out;

input [3:0]a,b;

input c_in,m;

wire c4,cn,cout1;

wire [3:0]sum1,a2;

assign a2[0]=(b[0]&~m)|(~b[0]&m);

assign a2[1]=b[1];

assign a2[2]=(b[2]&~m)|(((~b[2]&b[1])|(b[2]&~b[1]))&m);

assign a2[3]=(b[3]&~m)|(~b[3]&~b[2]&~b[1]&m);

assign {c4,sum1}=a+a2+c_in;

assign cn=c4|(sum1[3]&sum1[2])|(sum1[3]&sum1[1]);

assign {cout1,sum}=sum1+{1'b0,cn,cn,1'b0}+1'b0;

assign c_out=cn;

endmodule

module test;

reg [3:0]ta,tb;

reg tc,tm;

wire [3:0]tsum;

wire tcout;

alu talu(tsum,tcout,ta,tb,tc,tm);

initial

$monitor($time,"c_out=%d,sum %d=%d+%d+%d,m=%d",tcout,tsum,ta,tb,tc,tm); initial

begin

ta=4'b1001;

tb=4'b1000;

tc=1'b0;

tm=1'b0;

#10 ta=4'b1001;

tb=4'b1001;

tc=1'b1;

#10 ta=4'b0111;

tb=4'b0010;

tc=1'b0;

#10 tm=1'b1;

ta=4'b0111;

tb=4'b0010;

tc=1'b1;

#10 ta=4'b0111;

tb=4'b0100;

tc=1'b1;

#10 ta=4'b0101;

tb=4'b0010;

tc=1'b1;

#10 $finish;

end

endmodule

下图1718是程序对应的电路图

图17 BCD码加法器

图18 ALU原理图

几个打开相关帮助的命令,在命令行中敲入

openbook vlogtut&↙ (Verilog-XL Tutorial)

openbook vlogref&↙ (Verilog-XL Reference)

openbook vloguser&↙ (simwave user guide)

openbook simwaveuser&↙ (open the Verilog-XL guide)

校内网站ftp10.12.41.35有PC机版Verilog仿真工具如Modelshim,Active HDL4.2版Xilinx的FPGA等等还有Cadence 的一些资料如Verilog-XL Reference

user_guide等等

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 里面。

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这时 候该元件就被放置到相反的那一层。 在完成元件的布局后,还要重新画板框以及禁止布线层与禁止摆放层。可以参考上面的画板框方法来 完成这些工作,这里就不重复了。

orCAD使用心得

* * copyright (c) 2005 华北电力大学(北京)自动化系现场总线实验室 * All rights reserved * *文件名: ORCAD使用心得.DOC *文件标识: *摘要:本文写了写我自己的ORCAD使用心得。文中每一条每*一段都记录了这一段时间以来焚膏继晷、暑寒相接、痛苦并快乐的探索历程。今天用了一整天时间把此草稿写完,也算是对自*己有个交待,且对后来人有所启示。不幸的是,这些天茶余饭*后总为发表有ISBN标记的论文而发愁,没有太多心思弄别的.*就写这么多吧。学术腐败,郁闷!! 中国人的悲哀,诺贝尔的遗憾。 *当前版本:1.0.0 *作者:秦宇飞 *完成日期:2005年10月28日 * */ ORCAD使用心得 我自2005年8月25号起,到2005年10月22日止,用CAPTURE和ALLEGR画板,增删数次,校审N回,终成两块电路板。郁闷与欢喜之余,深感ORCAD功能强大,熟练使用真是享受呀。现将我的使用心得写出来,供大家参考。因网上已有许多介绍CAPTURE和ALLEGR操作的文章,这里就不详述具体的操作步骤。 零、ORCAD的安装注意事项 ORCAD的安装涉及CADENCE LICENSE MANAGER安装的问题。选择ALLEGRO程序里的CADENCE LICENSE MANAGER,如果选择CAPTURE里的CADENCE LICENSE MANAGER,会提示IKERNEL错误,这样CADENCE LICENSE MANAGER总也装不上去,程序也无法使用。我也弄不明白为什么CAPTURE 和ALLEGRO里同样的CADENCE LICENSE MANAGER安装程序会有不同的结果。至于其它步骤请看程序中的破解文档吧。 一、 CAPTURE 1、 CAPTURE版本选择 CAPTURE建议使用10.0以上版本。因为9.0的撤消只有一次,用得很郁闷。此外CAPTURE10.0以上版本对ALLEGRO的支持更好。 CAPTURE10.0以上版本增加了从网上原理图库中找元件封装的功能。虽然元件不是很多,但是比自己画方便了很多。我是在画完原理图之后才发现这个功能的,“超级郁闷”(童同学语)。 操作:在原理图编辑窗口点右键,PLACE DATABASE PART再点ICA,然后搜索零件就行了。可以直接放到原理图。 2、命名 (1)、元件编号一定不要重名,虽然文档里不同文件夹内的元件编号可以相同,但是这样会在DRC检测时出问题,所以最好不要这么做。 (2)、CAPTURE的元件库中有两个“地”易弄混。虽然它们的符号不一样。一个叫GND_SIGNAL,另一个叫GND,这个要在使用中要注意。

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的使用

Cadence软件visor功能的使用说明,远程连接软件为Exceed 设置连接的IP地址就可连接 使用方法如下 1.在桌面找到exceed图标,双击打开-这时弹出登陆界面-输入用户名.密码.就可 登陆系统 2.在登陆到的系统桌面上右击鼠标,可以看到弹出一各菜单,这时可依次选择 TOOLS在弹出的下级菜单中选则terminal , 这时弹出一个像DOS对话框的 窗口出来如图 3.我们要进入project文件夹,因为我们所有的文件都存放于此,进入文件夹的 方法如下: 在当前命令行中继续输入命令:cd project按回车确定执行命令,可以看到目录的路径变成了user/user1/project/这时侯输入命令ls再按回车确定执行命令,就可以看到显示出该目录下的所有文件和子目录 4.例如我们要进入one这个目录就可输入命令(在当前的命令行上输入)cd one 按回车确定执行命令,可以看到目录的路径变成了user/user1/project/one/查看目录下的文件就可输入命令ls 5.在one目录下会有两个子目录,gds和lay说明一下gds 文件夹是用来存 放.gds文件的目录,一般都存放于此。Lay文件夹是用来存放Cadence 导入后的应用文件的目录, 6.下面我们要进入Cadence 导入后的应用文件的目录也就是lay 目录,方法是 继续在当前目录上输入命令cd lay按回车确定执行命令,可以看到目录的路径变成了user/user1/project/lay/ 在该目录下运行Cadence软件:注linux与windows不同,在这个目录下运行该软件该软件就只能查看和修改该目录下的文件。 7.在当前命令行目录下继续输入Cadence软件的执行命令icfb &再按回车确定 执行命令,就可以看到软件正在打开,等到软件完全打开了,我们可以看到在

教学EN_cadence+spectre+使用手册

CS/EE 5720/6720 – Analog IC Design Tutorial for Schematic Design and Analysis using Spectre Introduction to Cadence EDA: The Cadence toolset is a complete microchip EDA (Electronic Design Automation) system, which is intended to develop professional, full-scale, mixed-signal microchips. The modules included in the toolset are for schematic entry, design simulation, data analysis, physical layout, and final verification. The Cadence tools at our university are the same as those at most every professional mixed-signal microelectronics company in the United States. The strength of the Cadence tools is in its analog design/simulation/layout and mixed-signal verification and is often used in tandem with other tools for digital design/simulation/layout, where complete top-level verification is done in the Cadence tools. An important concept is that the Cadence tools only provide a framework for doing design. Without a foundry-provided design kit, no design can be done. The design rules used by Cadence set up in this class is based for AMI’s C5N process (0.5 micron 3 metal 2 poly process). So, how is Cadence set up? Broadly, there are three sets of files that need to be in place in order to use Cadence. 1)The Cadence tools These are the design tools provided by the Cadence company. These tools are located in the /home/cadence directory. They are capable of VLSI integration, project management, circuit simulation, design rule verification, and many other things (most of which we won't use). 2)The foundry-based design kit As mentioned before, the Cadence tools have to be supported by a foundry-based design kit. In this class, we use Cadence design kit developed by the North Carolina State University (NCSU CDK). NCSU CDK provides an environment that has been customized with several technology files and a fair amount of custom SKILL code. These files contain information useful for analog/full- custom digital CMOS IC design via the MOSIS IC fabrication service (https://www.sodocs.net/doc/3516749942.html,). This information includes layer definitions (e.g. colors, patterns, etc.), parasitic capacitances, layout cells, SPICE simulation parameters, Diva rules for Design Rule Check (DRC), extraction, and Layout Versus Schematic (LVS) verification, with various GUI enhancements. For more information on the capability of the NCSU CDK, go to https://www.sodocs.net/doc/3516749942.html,/CDKoverview.html

第二章 cadence ic5141教程版图部分

第二章.Virtuoso Editing的使用简介 全文将用一个贯穿始终的例子来说明如何绘制版图。这个例子绘制的是一个最简单的非门的版图。 § 2-1 建立版图文件 使用library manager。首先,建立一个新的库myLib,关于建立库的步骤,在前文介绍cdsSpice时已经说得很清楚了,就不再赘述。与前面有些不同的地方是:由于我们要建立的是一个版图文件,因此我们在technology file选项中必须选择compile a new tech file,或是attach to an exsiting tech file。这里由于我们要新建一个tech file,因此选择前者。这时会弹出load tech file的对话框,如图2-1-1所示。 图2-1-1 在ASCII Technology File中填入csmc1o0.tf即可。接着就可以建立名为inv的cell了。为了完备起见,读者可以先建立inv的schematic view和symbol view(具体步骤前面已经介绍,其中pmos长6u,宽为0.6u。nmos长为3u,宽为0.6u。model 仍然选择hj3p和hj3n)。然后建立其layout view,其步骤为:在tool中选择virtuoso-layout,然后点击ok。 § 2-2绘制inverter掩膜版图的一些准备工作 首先,在library manager中打开inv这个cell的layout view。即打开了virtuoso editing窗

图2-2-1 virtuoso editing窗口 口,如图2-2-1所示。 版图视窗打开后,掩模版图窗口显现。视窗由三部分组成:Icon menu , menu banner ,status banner. Icon menu(图标菜单)缺省时位于版图图框的左边,列出了一些最常用的命令的图标,要查看图标所代表的指令,只需要将鼠标滑动到想要查看的图标上,图标下方即会显示出相应的指令。 menu banner(菜单栏),包含了编辑版图所需要的各项指令,并按相应的类别分组。几个常用的指令及相应的快捷键列举如下: Zoom In -------放大 (z)Zoom out by 2------- 缩小2倍(Z) Save ------- 保存编辑(f2) Delete ------- 删除编辑(Del) Undo ------- 取消编辑(u)Redo -------恢复编辑 (U) Move ------- 移动(m)Stretch ------- 伸缩(s) Rectangle -------编辑矩形图形(r)Polygon ------- 编辑多边形图形(P) Path ------- 编辑布线路径(p) Copy -------复制编辑 (c) status banner(状态显示栏),位于menu banner的上方,显示的是坐标、当前编辑指令等状态信息。 在版图视窗外的左侧还有一个层选择窗口(Layer and Selection Window LSW)。

CADENCE工具VIRTUSO-DRACULA入门介绍

CADENCE工具VIRTUSO/DRACULA入门介绍 (2) 1.使用V IRTUSO/D IV A/D RACULA之前的准备 (2) 1.1.找一台装有IC工具的服务器 (2) 1.2.连接到这台计算机上 (2) 2.IC工具的软件环境配置 (3) 2.1.创建IC工具的启动目录,即工作目录。 (3) 2.2.将配置文件拷贝到IC工具的启动目录 (3) 2.3.将工艺文件和显示文件拷贝至工作目录 (3) 2.4.启动IC工具,命令为icfb& (3) 3.IC工具的使用 (4) 3.1.新建一个设计库 (4) 3.2.Compile一个工艺文件 (5) 3.3.创建新设计 (5) 3.4.编辑电路图 (5) 3.5.编辑版图 (6) 3.6.根据习惯改变版图层次的显示特性 (7) 3.7.完成版图编辑之后保存,退出 (8) 4.版图的DRC检查 (8) 4.1.基于Diva的方式(不推荐) (8) 4.2.基于Dracula的方式(推荐) (8) 5.LVS (10) 5.1.准备版图的GDS文件 (10) 5.2.准备电路网表 (10) 5.3.用LOGLVS转换电路网表成LVS要求格式 (11) 5.4.修改lvs的命令文件 (12) 5.5.运行PDRACULA来生成lvs任务的可执行文件 (12) 5.6.在控制台下,运行https://www.sodocs.net/doc/3516749942.html,文件 (12) 5.7.查看错误 (12) 5.8.修正版图或网表错误 (13) 6.一些小经验 (13) 7.附件清单 (14)

Cadence工具Virtuso/Dracula入门介绍 (以上华0.6um DPDM工艺设计库为例) Cadence 是一套功能强大的EDA软件,包含有诸如IC、SE等常用芯片设计工具。其中IC是针对全定制芯片设计应用的,IC本身仍是一套工具集。本手册主要讨论其中的全定制版图设计工具Virtuso和验证工具Diva/Dracula之使用方法。其中Diva是基于Xwindow 的方式,而Dracula是基于命令行的方式;Virtuso中提供这两者的相关接口。 采用Virtuso/ Diva/Dracula进行芯片的设计和验证大致有如下几步:准备schmematic(电路)、画layout(版图)、作版图设计规则检查(DRC)、做电路与版图的一致性检查(LVS)、导出最终版图的gds文件。 缩写术语: ERC: Electrical Rule Check DRC: Design Rule Check LVS: Layout Versus Schematic LPE: Layout Parameter Extraction PRE: Parasitic Resistor Extraction 1.使用Virtuso/Diva/Dracula之前的准备 1.1.找一台装有IC工具的服务器 Virtuso不能单独安装,所以只有在安装了IC工具的计算机上才能使用。 [例]机房的10台服务器(IP:219.223.169.111到219.223.169.120)都能使用Virtuso/Diva/Dracula. 1.2.连接到这台计算机上 除非是在自己的计算机上安装有IC工具,否则您必须保证能够从您的计算机远程登录到装有IC的服务器上。 [例]以登录服务器IC来说明远程登录方法: a.向管理员申请用户(每个人都已经有了一个用户) b.下载远程登录软件Exceed, 在本地计算机上安装; 安装完毕之后进行远程登录配置: 在开始菜单→程序→Hummingbird.Exceed.v7.1.Multilanguage→Exceed→Client Wizard设定xterm,Host:219.223.169.111,Host type: Linux(下拉菜单选择),其余next即可。c.完成登录。 采用其它方式比如vnc、xWin、SSH Secure Shell Client等远程终端方法登录。 『注意』使用不同的远程登陆软件连接服务器;不同的服务器所需的软件设置均有所不同,配置细节请咨询曾经使用过该登陆软件的师兄师姐或同学。

cadence入门教程

Cadence 系列软件从schematic到layout入门 一.客户端软件使用及icfb启动 要使用工作站上的软件,我们必须在PC中使用xwinpro等工具连接到工作站上。从开始菜单中,运行xwinpro的xSettings,按照下图设置: 点击上图的Settings在出现的窗口中按如下设置(connect host选择为192.168.1.137):

设置完后,从开始菜单中运行xwinpro的xsessions,应该就可以进入登陆界面,用户名为user1,密码为root。 二、Schematic Cadence系列软件包含了电路图工具Schematic,晶体管级电路仿真工具Spectre,以及版图工具Virtuoso等。一般来说,我们先用Schematic画好电路原理图然后进行仿真,最后用Virtuoso手动画版图或者直接进行版图综合,最后对版图进行L VS,DRC等验证。 在登陆进工作站后,点击鼠标右键,选择tools——>terminal,在弹出的terminal窗口中敲入命令icfb&就可以启动cadence了。 图1 icfb的主界面 我们以建立一个反相器电路为例子: 在icfb中,任何一个电路,不论是已经存在的可以引用的库,还是用户新建立的一个电路,都是一个library. 一个library一般有若干个Cell(单元电路),每个cell有若干个

schematic(电路原理)和若干个layout(版图)。所以,我们要做的第一步,就是先创建一个自己的“库”,File菜单->new->library 图2 新建一个库的界面 从这个新建一个library的界面,我们必须输入新建立的库的名称,并且选择好这个库应该存放的目录,然后注意看右边的三个选项,关于新建立的库是否需要链接到Technology File 的问题。首先,这个Technology File一般是指工艺库,由Foundry提供。如果最终做的电路是需要画出Layout(版图)的,就必须要有工艺库,如果不需要画Layout,那就可以不需要工艺库。由于我们需要演示这一步,所以就选择Attach to an existing techfile。(也可以在建立之后,再Attach to an existing techfile)。 输入name: testinv, (大家在做的时候自己起一个名字)。 现在,我们就已经建立好了一个新的“库”,为了给这个库增加schematic(电路图)和Layout(版图)我们就必须对这个库进行“管理”,从icfb的主菜单(图1)中的Tools菜单->Library Manager.

cadence 快捷键

Cadence版图布局软件Virtuso Layout Editor快捷键归纳(也就是Virtuso中说的Bindkey) 下鼠标操作: 单击左键选中一个图形(如果是两个图形交叠的话,单击左键选中其中一个图形,在单击选中另一个图形) 用左键框选,选中一片图形,某个图形要被完全包围才会被选中。 中键单击调出常用菜单命令(很少用,要点两下,麻烦。我们有快捷键的嘛) 右键点击拖放用来放大。放大后经常配合F键使用,恢复到全部显示。配合Tab键使用,平移视图。右键还有“Strokes”,就是点住右键画些图线,就能实现调用某些命令。 Shift+左键加选图形,Ctrl+左键减选图形。(Cadence菜单中大写表示+按shift,Ctrl写成^) 1make cell 2flatten cell 3highlight net 4disable highlight Shift+1234567890 显示对应metal n与n+1 layer (F7恢复全部layers) Ctrl+123456789激活LSW中的当前metal n F1显示帮助窗口。 F2保存。 F3这个快捷键很有用,是控制在选取相应工具后是否显示相应属性对话框的。比如在选取Path工具后,想控制Path的走向,可以按F3调出对话框进行设置。 F4英文是Toggle Partial Select,就是用来控制是否可以部分选择一个图形。? F5打开calicre RVE。? F7显示all layer F8Guided Path Create 切换至L90XYFirst。 F9是Filter Size 我不知道怎么用。? Ctrl+A全选。这个和windows下是一样的。 Shift+B Return。这个牵扯到“Hierarchy”。这个命令就是等级升一级,升到上一级视图。 B键去某一级(Go to Level)。 Ctrl+C中断某个命令,不常用。一般多按几次Esc键取消某个命令。 Shift+C裁切(Chop)。首先调用命令,选中要裁切的图形,后画矩形裁切。 C键复制。复制某个图形。 Ctrl +D取消选择。这个也可用鼠标点击空白区域实现。这个快捷键和Photoshop中的取消选区的快捷键是一样的。还有Shift+D,和D也是取消选择,我觉得很不实用。 Shift+E和E是控制用户预设option的一些选项。 Ctrl+F显示上层等级Hierarchy。 Shift+F显示所有等级。 F键满工作区显示。就是显示你所画的所有图形。 Ctrl+G(Zoom To Grid)。 G这个快捷键是开关引力(Gravity)的。Gravity我觉得和AutoCAD里的吸附Snap差不多,就是会吸附到某些节点上去。有时候这个Gravity是很讨厌的,总是乱吸附,这时可以点击G键关闭Gravity,操作完成后再打开。 I键插入模块(Instance)。 Shift+K清除所有标尺。要清除的话总是要清除所有标尺,这个让人很不爽。 K键标尺工具。Ruler L键标签工具。Label。标签要加在特定的text层上,这个有些人总忘记。 Shift+M合并工具。Merge M键移动工具。Move。点选Move工具后,选中要移动的图形,然后在屏幕上任意一处单击一下,这个

【简单易懂-图文并茂】教你如何上手Cadence

Cadence使用初步简介 目录 Cadence使用初步简介 (1) 一、Cadence平台的启动: (1) 二、设计项目的建立 (4) 三、原理图设计 (10) 四、电路模拟仿真 (17) 五、版图初步 (29) 六、软件的退出 (37) 在早期的ASIC 设计中电路图起着更为重要的作用作为流行的CAD软件Cadence 提供了一个优秀的电路图编辑工具Composer。 Composer不但界面友好操作方便而且功能非常强大电路图设计好后其功能是否正确性能是否优越必须通过电路模拟才能进行验证Cadence 同样提供了一个优秀的电路模拟软件Analog Artist由于Analog Artist 通过Cadence 与Hspice 的接口调用Hspice 对电路进行模拟。但是我们的虚拟机中并没有安装Hspice软件,所以我们使用Cadence自带的仿真软件进行仿真。本章将介绍电路图设计工具Composer 和电路模拟软件Analog Artist 的设置启动界面及使用方法简单的示例以及相关的辅助文件以便大家能对这两种工具有一个初步的理解。 一、Cadence平台的启动: ①右击桌面,在弹出菜单中单击open Terminal

②在弹出的终端中输入icfb&然后按回车启动Cadence ③Cadence启动过程

④Cadence启动完成后,关闭提示信息

二、设计项目的建立 ①点击Tools—Library Manager…启动设计库管理软件 ②启动设计库管理软件

③点击File—New--Library新建设计库文件 ④在弹出的菜单项中输入你的设计的库的名称,比如MyDesign,点击OK

Cadence 快速入门教程

Cadence SPB15.7 快速入门视频教程目录 第1讲课程介绍,学习方法,了解CADENCE软件 第2讲创建工程,创建元件库 第3讲分裂元件的制作方法 区别(Ctrl+B、Ctrl+N切换Part) 点击View,点击Package可以显示所有的元件Part 1、homogeneous 和heterogeneous 2、创建homogeneous类型元件 3、创建heterogeneous类型元件 第4讲正确使用heterogeneous类型的元件 增加packeg属性。点击Option,选择Part Properties,选择new,增加属性。用于在原理图中确定同一块的元件。 1、可能出现的错误 2、出现错误的原因 3、正确的处理方法 第5讲加入元件库,放置元件 1、如何在原理图中加入元件库 2、如何删除元件库 3、如何在元件库中搜索元件 4、放置元件 5、放置电源和地 第6讲同一个页面内建立电气互连(设置索引编号,Tools里面,Annotate来设置) 1、放置wire,90度转角,任意转角(画线时按住Shift) 2、wire的连接方式 3、十字交叉wire加入连接点方法,删除连接点方法(快捷键J) 4、放置net alias方法(快捷键n) 5、没有任何电气连接管脚处理方法(工具栏Place no Conection) 6、建立电气连接的注意事项 第7讲总线的使用方法 1、放置总线(快捷键B) 2、放置任意转角的总线(按住Shift键) 3、总线命名规则(LED[0:31],不能数字结尾) 4、把信号连接到总线(工具栏Place Bus entry 或者E) 5、重复放置与总线连接的信号线(按住Ctrl向下拖) 6、总线使用中的注意事项 7、在不同页面之间建立电气连接(工具栏Place off-page connector) 第8讲browse命令的使用技巧(选中dsn文件,选择Edit中的browse) 1、浏览所有parts,使用技巧(浏览元件<编号,值,库中的名字,库的来源>,双击元件可在原理图上找到元件) 2、浏览所有nets,使用技巧(浏览网络) 3、浏览所有offpage connector,使用技巧(页面间的连接网络,一般一个网络至少会在两个页面中出现) 4、浏览所有DRC makers,使用技巧(DRC检测)

Cadence SPB使用经验总结

Cadence SPB使用方法 1.在用OrCad Capture CIS画电路原理图时,不同电路图页面之间的信号互联, 单信号线(wire)用分页端口连接器(Off Page Connector)实现互联,总线(Bus)用端口(Port)实现互连(也可以用分页端口连接器(Off Page Connector))。 2.特别注意:在FPGA原理图设计中,在为FPGA设计原理图符号时,一般要将FPGA 分为多个部分,这时一定要注意在管脚功能划分时,要将Bank2中用于配置的管脚,包括:配置模式选择管脚M0、M1,CCLK,DIN,INIT_B等与TMS,TCK,TDO,TDI 等一起划分到FPGA的配置(Configuration)部分。 3.在OrCad Capture CIS中制作原理图符号时,如果器件有多个(两个以上)管 脚名称(pin name)相同,在保存该元件时就会弹出以下警告信息: 因为ORCAD的封装(原理图符号)是有规则的,只有管脚为POWER属性才能同名,比如VCC,GND的管脚名等等,很好理解,这些属性在画PCB的时候默认的是同一个网络,是要连接在一起的,如GND连GND,VCC连VCC,有时候有很多的空脚NC 最好用NC1,NC2...来描述,避免不必要的错误,有的甚至连POWER属性的管脚名都不做重复的。如果忽略这些这些警告信息,则当使用这些元件符号画电路图,在生成网表(Create Netlist)时就会产生错误: #79 Error [ALG0050] Duplicate Pin Name "SW" found on Package LM2852Y , U21 Pin Number 9: SCHEMATIC1, POWER SUPLLY (1.80, 3.20). Please renumber one of these. 这时选中设计,可以利用accessories菜单的libcorrectionutil->library verification / correction来批量修改重复管脚定义(即:批量把重复的管脚名改为不同)。(accessories->libcorrectionutil->library verification / correction)但是通过这种方法只能修改元件库Library中的元件,不能更新到原理图页面中。

第四章 cadence ic5141教程Verilog 的使用方法

第四章Cadence中Verilog的一些使用方法 § 4-1 Verilog 的文本编辑器 随着电路规模的增大和复杂,传统的图形输入模式已不可行。语言描述电路成为潮流。它的方便性和好的更改性、维护性在实践中得到很好的体现。尤其现在强大的综合工具,和系统集成对核的需求性使Verilog更有用武之地。每个硬件工程师应该学习掌握它。 在进入Cadence后在命令行中键入 textedit *.v↙ (此处*为文件名,在textedit 命令后应带上文件名) 键入上述命令后进入文本编辑框,和Windows 中常用的文本编辑框很象。 图4-1-1textedit文本编辑框界面 图中的主菜单File、View、Edit、Find及各自底下的子菜单和Windws中的文本编辑器差不多,使用方法相似,这里就不多说了。编好程序保存可以进行后续工作了。 § 4-2 Verilog 的模拟仿真 一.命令的选择。 在命令行中键入 verilog↙ 会出现关于此命令的一些介绍,如下: -f read host command arguments from file. -v specify library file -y specify library directory -c compile only -s enter interactive mode immediately

-k set key file name -u convert identifiers to upper case -t set full trace -q quiet -d decompile data structure Special behavioral performance options (if licensed): +turbo speed up behavioral simulation. +turbo+2 +turbo with second level optimizations. +turbo+3 +turbo+2 with third level optimizations. +listcounts generate code for maintaining information for $listcounts +no_turbo don't use a VXL-TURBO license. +noxl disable XL acceleration of gates in all modules Special environment invocation options (if licensed): +gui invoke the verilog graphical environment 在上面的参数选择中,简单介绍几个常用的: (1)-c 首先应该保证所编程序的语法正确性。先进行语法的检查,选择参数- c键入如下命令。 verilog –c *.v↙ 根据Cadence的报告,查找错误信息的性质和位置,然后进入文本编辑器进 行修改,再编译,这是个反复的过程,直到没有语法错误为止。 (2)-s 进入交互式的环境,人机交互运行和下面的参数联合使用。 (3)+gui & verilog 仿真有命令和图形界面两种方式。图形界面友好和windows使用很象,很好掌握,一般都使用图形方式。 “&”符号是后台操作的意思,不影响 前台工作。如此时你可以在命令行输入其它的命令。 其它的命令参数选择比较复杂,这里就不介绍了,故我们这里常用的命令是:verilog –s *.v +gui &↙ (*代表文件名) 进入图形交互界面。 $附:命令行输入 !!↙ 是执行上一条命令, 命令行输入 !* ↙ (*代表字母) 是执行最近的以*开头的命令。 上述附注对命令输入速度提高有所帮助。 二.SimVision 图形环境。 SimVision是Verilog-XL的图形环境。 主要有SimControl、Navigator、 Signal Flow Browswer、 Wactch Objects Window 、SimWave 等窗口。

Cadence芯片版图设计工具Virtuso

CADENCE芯片版图设计工具VIRTUSO/DIV A/DRACULA入门手册 (2) 1、使用V IRTUSO/ D IV A/D RACULA之前的准备 (2) 1.1、要找一台装有工具IC的计算机 (2) 1.2、要能连接到该计算机上 (2) 2、工具IC的软件环境配置 (3) 2.1、创建工具IC的启动目录,即工作目录。 (3) 2.3、将(.cdsinit和.cdsenv)拷贝到工具IC的启动目录 (3) 2.4、在工作目录下创建工艺库文件 (3) 2.5、启动工具IC,命令为icfb& (3) 2.6、配置工艺库路径 (4) 2.7、添加工艺提供的一些辅助库............................................................错误!未定义书签。 2.8、添加Multipart Path............................................................................错误!未定义书签。 2.9、安装PCELL........................................................................................错误!未定义书签。 3、开始一个新的设计---编辑电路图与版图 (5) 3.1、新建一个设计库 (5) 3.2、Attach库 (6) 3.3、创建新设计 (6) 3.4、编辑电路图 (7) 3.5 编辑版图 (8) 3.6 可以根据习惯改变版图的层次显示特性 (9) 3.7、完成版图编辑之后先保存再退出 (10) 4 版图的DRC检查 (10) 4.1、基于Diva的方式 (10) 4.2、基于Dracula的方式 (10) 5 、LVS (12) 5.1、准备版图的GDS文件 (12) 5.2、准备电路网表 (12) 5.3、用LOGLVS转换电路网表成LVS要求格式 (14) 5.4、修改lvs的命令文件 (14) 5.6、运行dracula来生成lvs任务的可执行文件 (14) 5.7、在控制台下,运行https://www.sodocs.net/doc/3516749942.html,文件 (14) 5.8、查看错误 (14) 5.9、修改 (15) 6、PAD相关 (15) 6.1、准备pad库 (15) 6.2、导入pad版图的GDS文件 (15) 6.3、更新gds和cdl (16) 6.4、修改cdl (16) 7、一些小经验 (17) 8、附件清单 (18) 9、后记 (18)

相关主题