Cadence教程2——反相器原理图仿真以及版图绘制

Cadence教程2——反相器原理图仿真以及版图绘制,第1张

这一篇主要讲如何用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

到此,整个流程走完!

高速信号在传输的过程中由于layout走线的不良会导致反射串扰等信号完整性问题,这节我们仿真DDR信号特征阻抗和串扰参数,加深对layout的理解。

1 打开PowerSI,load layout file。(我这图是已经仿真完了的)

2 点击“Setup Net Groups”,选择TX 器件,这里勾选这个线路的CPU U12,点击下一步。

3 选择RX端,这里勾选这个线路的DDR颗粒U11,点击下一步。
4 确认电源网络/GND网络,直接点击下一步到分组界面,因为只是练习,我们把DDR的地址和数据等信号都分为一个组,真正项目需要分清楚;点击第一个,再shift点击最后一个,全分为一个组,命名为DDR,然后直接到finish。

5 点击“Setup Trace Check Parameters”设置检查参数,默认是勾选阻抗和耦合,设置显示耦合2%以上,选择“根据group检查”,点击OK,开始仿真。
6 仿真结果又表格形式和layout形式,我们偏向于看layout形式,需要具体点时可以再看表格。

7 impedance layout overlay会将CPU和DDR的走线以layout的形式显示出来,根据颜色区分。

阻抗柱状图也比较直观,每条线摘出来,这里不仅可以看到哪个地方阻抗偏高偏低,还可以看到走线长度。

8 coupling layout overlay通过颜色深浅将串扰强度表现出来,可以看出走线越近的地方串扰越大,一般低于5%信号质量不会受到太大影响。

本文学自网易云课堂付费课程《Sigrity仿真实例》-- 作者十四

cadence公司是一家eda软件公司。成立于1988年。
其主要产品线从上层的系统级设计到逻辑综合到低层的布局布线,
还包括封装、电路版pcb设计等等多个方向。下面主要介绍其产品线的范围。
1、板级电路设计系统。
包括原理图输入、生成、模拟数字/混合电路仿真,fpga设计,pcb编辑和自动布局布线
mcm电路设计、高速pcb版图的设计仿真等等。包括:
A、Concept HDL原理图设计输入工具,有for NT和for Unix的产品。
B、Check Plus HDL原理图设计规则检查工具。(NT & Unix)
C、SPECTRA Quest Engineer PCB版图布局规划工具(NT & Unix)
D、Allegro Expert专家级PCB版图编辑工具 (NT & Unix)
E、SPECTRA Expert AutoRouter 专家级pcb自动布线工具
F、SigNoise信噪分析工具
G、EMControl 电磁兼容性检查工具
H、Synplify FPGA / CPLD综合工具
I、HDL Analyst HDL分析器
J、Advanced Package Designer先进的MCM封装设计工具
2、Alta系统级无线设计
这一块的产品主要是应用于网络方面的,我个人以为。尤其是它包括有一套的gsm模型,
很容易搞cdma等等之类的东西的开发。
但是我觉得做信号处理和图象处理也可以用它,因为它里面内的spw太牛了,至少是看起
来是,spw最牛的地方就是和hds的接口,和matlab的接口。matlab里面的很多模型可以
直接调入spw,然后用hds生成c语言仿真代码或者是hdl语言仿真代码。(这我没有lice
nse,没有试过,看openbook上说的)。也就是说,要是简单行事的话,就可以直接用m
atlab做个模型,然后就做到版图了,呵呵。
Alta主要有下面的一些Package:
A、SPW (Cierto Signal Processing Work System)信号处理系统。
可以说,spw包括了matlab的很多功能,连demo都有点象,呵呵。它是面向电子系统的模
块化设计、仿真和实现的环境。它的通常的应用领域包括无线和有线载波通信、多媒体
和网络设备。在进行算法设计、滤波器设计、c Code生成、软/硬件结构联合设计和硬件
综合的理想环境。
它里面非常有意思的就是信号计算器。
B、HDS (Hardware Design System)硬件系统设计系统
它现在是SPW的集成组件之一。包括仿真、库和分析扩展部分。可以进行spw的定点分析
行为级和rtl级的代码生成。
C、Mutimedia多媒体 (Multimedia Design Kit)
我没有见识过这部分的东东。在产品发布会的演示上看起来倒是很有意思。据说可以很
快的生成一个多媒体的应用环境。
它可以进行多媒体应用的设计,包括电视会议系统、数字电视等等以及任何种类的图象
处理系统的设计。
D、无线技术Wireless(IS-136 Verification Environment)
无线电技术标准系统级验证工具,可以在系统级的抽象层上生成、开发和改进遵守IS-5
4/136 标准的信号处理算法。在完成硬件结构设计后,就可以使用hds直接生成可综合的
hdl描述和相应的标准检测程序(testbench)。
E、IS-95无线标准系统级验证
同上。呵呵。
F、BONeS网络衉议分析和验证的设计工具。
这个东东看起来很有意思。它是一套软件系统,专门用来做多媒体网络结构和衉议的设
计这个东东看起来很有意思。它是一套软件系统,专门用来做多媒体网络结构和衉议的
设计的。可以用来快速的生成和分析结构单元之间的信息流的抽象模型,并建立一个完
整的
无线网络的运作模型。例如,用户可以改进atm转换器的算法,并建立其基于微处理器包
括高速缓存和内存和总线、通信处理方法的应用模型。
G、VCC 虚拟衉同设计工具包
它是用来进行基于可重用的ip核的系统级设计环境。
在上面的这些东西中,我觉得很重要的还是需要有库的支持,例如在spw里面就要有对应
的不同的算法的hdl库的支持,才能够得到最后rtl级的实现。在大学版中,这些部分的
license和部分bin代码也没有提供。
3、逻糭设计与验证(LDV)设计流程
这部分的软件大家都应该是很熟悉的,因为pc版的d版好象现在已绮很普及了。^-^
这里简单介绍一下cadence的ldv流程,虽然感觉大家用synopssy还是居多。
首先是老板产生一个创意,然后就是设计人员(学生)使用vhdl或者是verilog语言对设
计来进行描述,生成hdl代码。然后,可以用Verilog-XL, NC-Verilog, LeapfrogVHDL
NC-VHDL等工具来进行行为级仿真,判断设计的可行性,验证模块的功能和设计的debug
。然后是调试和分析环境中使用代码处理箱(verisure/for verilog) (VHDLCover/for
VHDL)分析仿真结果,验证测试级别。然后用Ambit BuildGates进行综合,并使用综合
后的时延估计(SDF文件)来进行门级仿真,然后再使用verifault进行故障仿真。
以上是很简单的一个流程,实际上系统级设计后,就应该进行设计仿真的,要是设计是
一个大的模块的话。而且在综合的时候,写综合限制文件也是很麻烦的,要求很多次的
反复。上面的流程还不包括测试的加入(如扫描啦什么的)。上面的流程对于小设计是
可以的。
LDV包括的模块有下面的这些东西:
A、verilog-xl仿真器
这个不用多说了,这是业界的标准。
B、Leapfrog VHDL仿真器
支持混合语言的仿真,其vhdl语言的仿真是通过编译后仿真,加快了速度。
C、Affirma NC Verilog仿真器
其主要的特点是适合于大系统的仿真。
D、Affirma NC VHDL仿真器
适用于VHDL语言的仿真。
E、Affirema 形式验证工具--等价检验器
F、Verifault-XL 故障仿真器
感觉故障仿真是最费时间的仿真步骤。用来测试芯片的可测性设计的。
G、VeriSure代码覆盖率检查工具
H、Envisia Build Gates 综合工具
Ambit 的BuildGates的特性中,我觉得最好用的应该是它的PKS的feature,当然,呵呵
我没有它的license。因为在pks feature中,ambit可以调用se的pdp等物理布局工具来
进行时延估计。这样的话,我觉得它的Timing 会比synopsys要好。
在我试过的synopsys的小的设计中,大概它的误差在100%左右,呵呵。综合后时间是2
9ns,布局布线和优化后的时间是5ns。
可是ambit的综合肯定是要比synopsys的差的,因为它没有很大的库的支持,在大的逻辑
块的综合的时候我觉得就可以很明显的感觉出来的。我没有具体试过,那位大虾有时间
可以比较一下他们的综合特性。
4、时序驱动的深亚微米设计
这部分是底层设计的软件。底层设计的工作我感觉是细活,来来回回是需要走很多次重
复的流程的。在以前的设计流程中( 6um及其以上 ),一般情况下对于连线延时是可以
不用考虑,或是说它们对设计的影响不算很大。在设计完成后,做一下pex,然后仿真一
下,小设计的话,多半是可以通过的。
现在的很多软件都直接在布局阶段就将线路延时考虑进去,这也是现在的深亚微米设计
的要求。因为在设计中,连线延时对整体设计的影响很大,因此甚至在综合阶段就需要
考虑到floorplan的影响。synopsys和ambit和jupiter(Avanti!公司的综合软件)等在它
们的综合过程中都加入了这样的考虑。
candence的软件中,有SE和design planner两个主要的软件来进行时序驱动的设计,cad
ence 的这块的软件推出很早,可惜就是更新比较慢,现在象avanti公司的软件都把布局
布线,时序分析和综合等等几乎全套的流程都统一起来的时候,cadence现在在底层还没
有什么创新的地方,还是几年前的模样。
Cadence 的底层软件有下面这些:
A、逻辑设计规划器。
这是用于设计早期的规划工具。其主要用途是延时预测、生成供综合工具使用的线路负
载模型。这个工具是用来在物理设计的早期象逻辑设计者提供设计的物理信息。
B、物理设计规划器。
物理设计的前期规划。对于大型设计而言,物理设计的前期规划非常重要。很多流程中
,在前期的物理规划(floorplan)结束后,就需要一次反标验证设计的时序。
C、SE (Silicon Ensemble)布局布线器
se是一个布局布线的平台,它可以提供多个布局布线及后期处理软件的接口。
D、PBO Optimization基于布局的优化工具
E、CT-GEN 时钟树生成工具
F、RC参数提取
HyperRules规生成,HyperExtract RC提取,RC简化,和delay计算
F、Pearl静态时序分析
Pearl 除了界面友好的特点外,还有就是可以和spice仿真器交换数据来进行关键路径的
仿真。
G、Vampire验证工具
5、全定制ic设计工具
这部分偶不熟,先敲上去再说。这部分的工具包括:
A、Virtuos Schematic Composer : IC Design Entry 它是可以进行混合输入的原理图
输入方式。支持 vhdl/hdl语言的文本输入。
B、Affirma Analog DEsign Environment
这是一个很好的混合信号设计环境
C、Virtuos Layout Editor版图编辑
它支持参数化单元,应该是一个很好的特性。
D、Affirma Spectra 高级电路仿真器
和hspice一类的仿真器。
E、Virtuoso Layout Synthesizer
直接的layout生成工具,小规模设计环境
F、Assura 验证 环境,包括diva
G、dracula验证和参数提取包
H、ICCragtsman 布局设计的环境。在面向ip的设计中比较合适。
--
古今之成大事业、大学问者,必经过三种之境界:
“昨夜西风凋碧树,独上高楼,望尽天涯路。”此第一境也。
“衣带渐宽终不悔,为伊消得人憔悴。”此第二境也。
“众里寻他千百度,回头蓦见,那人正在,灯火阑珊处。”此第三境也。
※ 来源:.星海之舟 bbsnjusteducn.[FROM: 2182170]

本篇接着上一篇,讲一个与非电路的设计、仿真、版图绘制过程。

英文原文 在这里。

我们可以直接从上一个项目中复制过来,减少一些工作量。注意一定要勾选 update instances

根据下图搭建好电路,check and save,这时候会有一个错误,这是因为我们是直接复制了之前反相器的项目,在symbol中的端口与这个与非电路端口未对应,我们之用去library manager 中把之前那个symbol删除掉,再次check就好了。

create --> cellview -->from cellview

按照下图画出symbol

如果中间某些线条无法对齐,可以按快捷键 e ,修改snap space

按照如下图搭建电路

其中信号源为vpulse

负载为容性

launce ADE L,和上一篇一样, design --> model library ,也可以直接 session --> load session

仿真结果如下,如果想把两条线分开,在仿真结果的窗口中 右键-->split current strip --> trace

首先打开NAND的layout的cell(因为我们是直接从上一个反相器的项目复制过来的,所以里面是inverter的版图)。把pin给删掉,如下图。

复制一个pmos按照下图摆放(快捷键c),并且把ntap改为5列(选中之后按q)。

同样的方式,复制nmos,并在metal1加上连线和pin,以及另外一个metal1_poly

注意我们并不需要两个nmos中间的metal1,通过将cell打散,可以将这个pcell变成很多个block编辑。首选选中两个nmos,在菜单栏 edit --> Herachy --> Flatten

然后删去metal1和contact

删除metal1时候注意在LSW中NV的使用

然后按照下图连线,加pin

之后DRC,Extract,LVS

一个以前的工艺只有Hspice Model,要仿仿这个工艺的电路,没办法只好自己把hspice 相关的feature加到license file中。方法:
1、在synopsysscr中加入所有和hspice相关的feature,这里注意的是,由于我是在cadence的Analog Design Environment中调用hspice仿真器,“psf、sda”两个feature也要加进去。如果只是命令行中运行hspice就不用加了。
2、运行lic gen04 加载synopsyslpd,产生dat文件,保存为synopsysdat。这里注意要把hostid、daemonid都填上网卡ID
3、在cmd窗口中运行sssverifyexe,产生secret data
4、运行KeyGenexe,填上secret data、hostid,产生一个文件licensedat。把该文件的Feature SSS行拷到synopsysdat中。修改sysnopsysdat中的Server行中的hostname, 端口号,Daemon的路径修改到实际存放地址后就可以使用啦!!

有个vreilog-ams 的板块,专门讲行为级建模,里面有一些参考文档,cadence 文档里面有verilogAref手册,可以去参考一下!

先学学verilog-a的基本语法,自己写几个小模块在spectre里面仿真仿真!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10668351.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存