数模混合仿真详细文档

合集下载

SpectreVerilog软件做数模混合仿真简单教程

SpectreVerilog软件做数模混合仿真简单教程

SpectreVerilog软件做数模混合仿真简单教程1、首先是建立仿真单元(如:MIX_SIM)
2、建立config文件,如下图所示,点击OK。

在出现下图表中点击Browse,选择好cell的View=schematic,然后点击OK
然后分别按下面图示操作。

3、打开MIX_SIM的config文件,如下图所示。

4、设置模数转换以及数模转换接口,注意下图所示的设置方法要求数模模数转换接口处用的是functional,设置才有效。

5、打开模拟仿真器,选择模拟软件工具为SpectreVerilog,并填好用于仿真的目录。

6、选择仿真模型库
7、如果需要添加仿真激励信号,按下图操作,加入激励信号,保存退出。

8、选择仿真模式,瞬态仿真的话填入仿真时间以及步长设定。

9、选择探测信号,接着选择出网表并运行仿真。

数字模拟混合设计及其仿真

数字模拟混合设计及其仿真

数字模拟混合设计及仿真数模混合电路的设计,一直是硬件电路设计中性能提高的瓶颈。

众所周知,现实的世界都是模拟的,如果将模拟的信号转变成数字信号,可以方便的做进一步的处理。

模拟信号和数字信号的转变是否实时、精确,是电路设计的重要指标。

除了器件工艺,算法的进步会影响系统数模变换的精度外,实际工作环境中的众多干扰,噪声也是影响数模电路性能的主要因素。

在使用计算机来进行仿真时,选择合适电路设计的仿真方式会使该问题得到一定的解决,一般情况下的仿真多是解决线性、连续工作的稳态电路。

也有既可解决线性电路,也适合非线性电路;既可解决模拟电路,也适合数字电路;既可解决连续状态工作问题,也适合不连续状态工作的问题;既可解决连续稳定工作电路,也适合开关调节的启动工作电路。

总之,电气工程电路均可仿真。

仿真时,要读取电路中任何一点电流、任何两点间的电压都很容易,还可以进行频率响应、频谱分析、温度分析、参数变化分析、蒙特卡罗分析、最坏情况分析、噪声分析等等。

可以说,后面几种分析在面包板实验中是无法模拟进行的,加之,仿真软件是在计算机上运行,所以有使用方便、简单的优点。

数字模拟混合设计的特点1. 数模混合设计中的困难点1.1 数模混合电路设计当中,如何来分辨干扰源、干扰对象和干扰的路径是相当重要的,这是分析数模混合设计干扰的基础。

通常的电路中,模拟信号上由于存在随时间变化的连续变化的电压和电流有效成分,在设计和调试过程中,需要同时控制这两个变量,而且他们对于外部的干扰尤其敏感,因而通常作为被干扰对象做分析;数字信号上只有随时间变化的门限量化后的电压成分,相比模拟信号对干扰有较高的承受能力,但是这类信号变化快,特别是上升下降沿速度快,尤其是一些高速信号,一般上升下降沿在几百纳秒的级别,并且同时还伴随有较高的高频谐波成分,对外释放能量,通常作为干扰源。

t/ = t7(r)模拟电路r 数字电路7 = J⑴图1模拟电路和数字电路的信号一般的干扰源分为电压型干扰源和电流型干扰源。

第二讲ORCAD之PSPICEAD数模混合仿真模块-文档资料

第二讲ORCAD之PSPICEAD数模混合仿真模块-文档资料

请看演示…….
PSpice 交流分析
运行仿真程序,放置电压探针在out端(或者在 Probe 演示窗口中加入V(out)波形 ) 仿真结果如下:

PSpice 中的噪声分析


噪声分析是针对电路中固有噪声(如电阻和半导体的工作 噪声)所做的分析,它的计算结果时所求节点相对于输入 独立源的等效噪声。 伴随AC交流分析而进行 所涉及的噪声种类:
PSpice 中的噪声分析

V(INOISE)和V(ONOISE) (菜单 Trace>Add Trace…或 快捷 键 ) INOISE 即INPUT NOISE ONOISE 即OUTPUT NOISE
5.确定后,运行仿真。在PSpice A/D窗口中加入波形
噪声的计算方法: 输出节点的总噪声除 以相对输入激励源的 电路的总增益

编写VHDL (EXPRESS) 绘制电路图 (CAPTURE) 进行电路混合仿真 (PSPICE A/D) 设计电路板 (LAYOUT)
VHDL仿真 (EXPRESS)
运用 PSpice 的基本条件
1.待仿真的元器件模型必须是PSpice的仿 真模型 2.电路中应该含有激励源,并且符合相应 的电路特性分析类型的要求 3.必须设置好合适的电路特性分析类型
热噪声: 电子的无序运动引起 散弹噪声:单位时间通过PN结的载流子数目变化造成 闪烁噪声: 能量主要集中在低频段,由于生产工艺的缺陷而引起


等效噪声:将整个电路中的噪声源都集中折算到选定的独 立源处,然后计算在等效的噪声源的激励下,所求节点处 产生的噪声。 PSpice可以分析每个频率点上指定节点的等效输出噪声电 压和指定输入端的等效输入噪声电压。噪声电压的单位是 V A 或 Hz ,即把噪声电平对噪声带宽的均方根进行归 Hz 一化

第1-2讲 SPICE数模混合仿真程序的设计流程及方法

第1-2讲 SPICE数模混合仿真程序的设计流程及方法
例:.option post probe $MetaWaves只观察.probe语 句输出的变量。
39
3
40
计算反相器链电路的延迟时间
.TITLE 1.2UM CMOS INVERTER CHAIN
.INCLUDE "models.sp"
……
X1 IN 1 INV WN=1.2U WP=3U
X2 1 2
.enddata
X1 IN 1 INV WN=wu WP=wpt
X2 1 2 INV WN=wu WP=wpt
X3 2 OUT INV WN=wu WP=wpt
CL OUT 0
1pf
……
.TRAN 1N 200N sweep data=cv
.measure tran td trig v(in) val=2.5 td=8ns
45
一个例子:缓冲驱动器分析
——HSPICE分析举例
46
准备模型文件
选用1.2um CMOS工艺level II模型 (Models.sp)
.MODEL NMOS NMOS LEVEL=2 LD=0.15U TOX=200.0E-10 VTO=0.74 KP=8.0E-05 +NSUB=5.37E+15 GAMMA=0.54 PHI=0.6 U0=656 UEXP=0.157 UCRIT=31444 +DELTA=2.34 VMAX=55261 XJ=0.25U LAMBDA=0.037 NFS=1E+12 NEFF=1.001 +NSS=1E+11 TPG=1.0 RSH=70.00 PB=0.58 +CGDO=4.3E-10 CGSO=4.3E-10 CJ=0.0003 MJ=0.66 CJSW=8.0E-10 MJSW=0.24

实验五 逻辑仿真和数模混合仿真

实验五 逻辑仿真和数模混合仿真

实验五逻辑仿真和数模混合仿真一、实验目的(1)进一步熟悉利用Capture CIS仿真软件绘制电路原理图;(2)掌握利用PSpice A/D软件进行逻辑仿真和数模混合仿真;(3)学习Probe窗口的简单设置。

二、实验原理说明1、逻辑仿真(1)逻辑仿真的基本含义是:根据给定的数字电路拓扑关系以及电路内部数字器件的功能和延迟特性,由计算机软件分析计算整个数字电路的功能和特性。

(2)PSpice中逻辑仿真包括如下功能:(a) 仿真分析数字电路输出与输入之间的逻辑关系。

(b) 仿真分析数字电路的延迟特性。

(c) 对同时包括有模拟元器件和数字单元的电路进行数模混合仿真,同时显示电路内部模拟信号和数字信号波形分析结果。

(d) 最坏情况逻辑仿真。

对实际的IC产品,每个数字单元的延迟时间均有一定的范围。

逻辑仿真时,每个数字单元的延迟时间均取其标称值。

在同时考虑每个数字单元延迟时间的最大/最小极限值的组合时,将构成最坏情况。

针对这种情况进行的逻辑仿真,称之为最坏情况逻辑仿真。

(e) 检查数字电路中是否存在时序异常和竞争冒险现象。

(3)逻辑仿真的基本步骤:(a) 逻辑电路原理图生成。

该阶段包括:新建设计项目、绘制逻辑电路原理图和设置输入激励信号波形。

(b) 逻辑仿真。

该阶段包括:确定分析类型和指定仿真时间、启动逻辑仿真进程。

如果不希望采用默认值,还需要设置任选项参数。

(c) 逻辑仿真结果分析。

该阶段包括:在PSpice A/D的Probe窗口中显示结果波形,分析逻辑仿真功能关系,确定各种延迟参数。

如果出现异常,还应该检查分析异常原因。

2、数模混合仿真数模混合电路是指电路中同时包括数字逻辑单元和各种模拟元器件。

也就是说电路中既包括1和0表示的数字信号,又包括连续变化的模拟信号。

对于数模混合电路,其内部节点可分为模拟型节点、数字型节点和接口型节点三种,其中接口型节点是指同时与逻辑器件和模拟器件相连的节点。

在对数模混合电路进行仿真分析时,关键是如何处理接口型节点,实现数字信号和模拟信号之间的转换。

数模混合仿真胡宗杰

数模混合仿真胡宗杰

将上面电路打包为analog_mix
analog1
X1
opa1
与 或B D
非非
门门
opa2
OUT E
MODULE analog_mix(IN,OUT) INPUT IN; OUTPUT OUT; WIRE X1; Digital digital1(.A(IN),.D(X1)); AD1 analog1(.D(X1),.E(OUT)); ENDMODULE
Interface A/D and D/A Signal Conversions
模拟电路
数字电路
连接模拟和数字电路的接口在进行通信时要进行数据转换
信号从模拟电路进入数字电路,需要将模拟电信号转换为数字 逻辑信号,需要一个阈值判断 a2d loth=0.35 hith=0.65 node=top.dout;
endmodule ‘inc“analog_mix.v’’
‘inc “digital_mix.v”
‘inc “digital.v”
一个问题:testbench里面并不包含模拟电路文件, 则仿真器如何调用模拟电路呢?
基于VCS-XA的混合仿真方法
电路系统
VCS: Verilog compile simulator 数字电路仿真器
将这段代码另存为一个 analog_mix.v文件
模拟电路端口全部与数字电路相连
IN
D digital2
A
X1
digital3
A analog2
digital4
E OUT1
B X2 B
C X3 C F OUT2
Digital digital2(.A(X1),.D(IN)); Digital digital3(.B(X2),.E(OUT1)); Digital digital4(.C(X3),.F(OUT2)); AD2 analog2(.B(X2),.C(X3),.A(X1));

第八章数模混合模拟

第八章数模混合模拟

第八章数/模混合模拟上一章介绍了对数字电路进行逻辑模拟的基本概念以及模拟步骤和结果分析方法。

本章在此基础上进一步讨论数/模电路的混合模拟和最坏情况逻辑模拟。

虽然这两种模拟技术涉及到新的概念和特殊的处理方法,但这些处理和模拟过程是由系统自动完成的。

用户在调用PSpice A/D进行这两种模拟时,只是新增几个分析参数的设置,基本步骤与第七章介绍的逻辑模拟相同。

本章最后还简要介绍逻辑模拟过程中出错信息的显示和处理等问题。

8-1 数/模混合模拟顾名思义,数/模混合电路中同时包括有数字逻辑单元(如:门电路、触发器等)和各种模拟元器件(如电阻、电容、晶体管等)。

由于数字信号是以高低电平(1,0)为特征的数字量,模拟信号是连续变化的电信号,这是两类性质完全不同的电学量,这就给数/模混合电路的模拟分析带来新的问题。

本节在介绍数/模混合电路特点和处理方法的基础上,介绍PSpice A/D进行数/模混合模拟的基本步骤,重点说明如何设置与数/模混合模拟有关的参数。

8-1-1 数/模接口等效电路1. 接口型节点如7-1-1节所述,不管数/模混合电路多么复杂,同时与逻辑器件和模拟元器件相连的节点,在对数/模混合电路进行模拟分析时,关键问题是如何处理这类接口型节点,实现数字信号和模拟信号之间的转换。

2. 接口等效电路PSpice A/D处理接口型节点的基本方法是对数字逻辑单元库中的每一个基本逻辑单元都同时配备AtoD和DtoA两类接口型等效子电路。

其中AtoD子电路的作用是将模拟信号转化数字信号,DtoA子电路则用于将数字信号转化为模拟信号。

如果一个逻辑单元输入端与接口型节点相连,进行数/模混合模拟时,系统将在该输入端自动插入一个AtoD子电路。

将接口型节点处的模拟信号转化为数字信号,送至逻辑单元的输入端。

同样,如果逻辑单元的输出端与接口型节点相连,则系统将在该输出端自动插入一个DtoA子电路,将该输出端的数字信号转化为模拟信号送至接口型节点。

数模混合仿真.

数模混合仿真.

《数模混合集成电路设计》课程报告数模混合仿真报告专业:集成电路班级:电子0 6 0 4学号:200681131姓名:高丕龙TTL IC脉冲发生器一.实验目的1.学习模拟数模混合电路的方法。

2.熟悉应用pspice软件进行电路仿真的流程。

3.学习使用pspice中库文件中不同的元件应用特点和参数设置。

二.实验原理1.实验原理图:2.原理分析:实际电路中,应靠元件的自然噪声来触发震荡,然而仿真中用的元件都已理想化,无法起振,使电路各节点均保持偏压点的电压值。

解决方法是给电容C1C2赋予IC(初始条件),迫使电路从非偏压点位置开始仿真。

由上图,知电路初态时V A=-1.061V,VB=2.501V,VC=4.501V,VD=0.939V,E=1即A为低压,B为高压,C为高压,D为低压。

当A为低压时,B为高压,C为高压,D为低压:B经由R1向电容C2充电使A点电压升高,C1经由R2放电使C点电压下降。

当A点和C点达到临界电压时,U7A和U8A就会改变状态。

使A 为高压时,B为低压,C为低压,D为高压。

当A为高压时,B为低压,C为低压,D为高压:D经由R2向电容C1充电使C电压升高,C2经由R1放电使A电压下降。

当A 点和C点达到临界电压时,U7A和U8A就会改变状态。

使A为低压,B为高压,C为高压,D为低压。

这样由于反相器U7A和U8A的迟滞特性和电容C1,C2的周期性充放电产生震荡脉冲,经U9A整形后即可输出规范的周期性方波了。

三.实验步骤1.建立新工程TTL,选择类型为anglog or mixed ,并设置存储地址为D:work文件夹。

2.从pspice元件库中取出三个7414,两个R,两个C。

并设置相关元件的参数。

3.按照原理图进行连线,并对通过Place Net Alias对输入输出信号线进行命名。

4.保存原理图文件并生成电路网表如下:* source TTLX_U7A A B $G_DPWR $G_DGND 7414 PARAMS:+ IO_LEVEL=0 MNTYMXDLY=0C_C2 D A 0.01u IC=2VR_R1 A B 1kX_U8A C D $G_DPWR $G_DGND 7414 PARAMS:+ IO_LEVEL=0 MNTYMXDLY=0X_U9A D E $G_DPWR $G_DGND 7414 PARAMS:+ IO_LEVEL=0 MNTYMXDLY=0R_R2 C D 1kC_C1 C B 0.01u IC=2V5.建立一个新的仿真文件,命名为TTL,并设置分析类型为瞬态分析和其他仿真参数。

数模混合仿真设计流程详解

数模混合仿真设计流程详解

数模混合仿真设计流程详解
数模很合仿真可以提高cadence仿真的速度,使用spectreverilog进行仿真。

首先需要安装IUS9.2数字电路的仿真器,verilogXL。

否则不会启动的!!!!!我一开始用的是ic514后来发现我没有安装IUS,同时虚拟机没有空间了,于是我就把IUS装到了ic615上,所以前面的界面是514后边会有615的界面,大同小异。

按照步骤来,我相信大家都会学会的。

1.建立一个设计库:
2.建立一个数字单元functional cell,输入verilog代码
输入代码完成后创建符号图
3.创建模拟电路
5.建立config文件
6.建立spectreverilog模板
进入mix模式,打开simu的config文件后再进入mix模式
ic6151
仿真器改成spectreVerilog
设置数字电路和模拟电路的仿真激励
编辑测试激励语句
设置仿真时长与步长
仿真结果如下
需要注意的是数字和模拟电路的接口电平设置,何为1何为0。

需要在下图所示中设置
输入输出都需要设置,高电平何为1低电平何为0。

一般情况下是默认值,如果默认值不太合适的话,会导致逻辑错误。

所以需要手工设置一下。

这个地方我还没有研究明白,应该会
选择 一下针对CELL或者lib或者pin。

数模混合系统实验报告(3篇)

数模混合系统实验报告(3篇)

第1篇一、实验目的1. 了解数模混合系统的基本概念和组成。

2. 掌握数模混合系统的仿真方法。

3. 学习使用Verilog语言进行数模混合仿真。

4. 熟悉数模混合系统在实际应用中的案例分析。

二、实验原理数模混合系统(Analog-Digital Mixed System)是指同时包含模拟信号和数字信号处理功能的系统。

它将模拟电路和数字电路相结合,实现信号处理、控制等功能。

数模混合系统广泛应用于通信、消费电子、医疗等领域。

1. 模拟电路:模拟电路用于处理模拟信号,如放大、滤波、调制等。

2. 数字电路:数字电路用于处理数字信号,如逻辑运算、存储、传输等。

3. 数模转换器(ADC):将模拟信号转换为数字信号。

4. 模数转换器(DAC):将数字信号转换为模拟信号。

三、实验内容1. 数模混合系统仿真(1)使用Verilog语言设计一个简单的数模混合系统,包括模拟信号处理模块、数字信号处理模块和数模转换器模块。

(2)使用ModelSim进行仿真,观察系统输出波形,分析系统性能。

2. 数模混合系统案例分析(1)分析一个实际数模混合系统(如AD9850锁相环)的组成和原理。

(2)研究该系统在不同工作条件下的性能。

四、实验步骤1. 设计数模混合系统(1)根据实验要求,设计模拟信号处理模块、数字信号处理模块和数模转换器模块。

(2)使用Verilog语言编写代码,实现各个模块的功能。

2. 仿真实验(1)将各个模块代码编译成网表,并在ModelSim中进行仿真。

(2)观察系统输出波形,分析系统性能。

3. 案例分析(1)查阅相关资料,了解实际数模混合系统的组成和原理。

(2)分析系统在不同工作条件下的性能。

五、实验结果与分析1. 数模混合系统仿真结果(1)通过仿真,验证了数模混合系统各个模块的功能。

(2)观察系统输出波形,分析系统性能。

2. 案例分析结果(1)分析了实际数模混合系统的组成和原理。

(2)研究了系统在不同工作条件下的性能。

数模混合信号电路设计第三讲verilog基本概念和仿真工具使用2019-文档资料

数模混合信号电路设计第三讲verilog基本概念和仿真工具使用2019-文档资料
Ch.1概述10
Verilog 基本概念

华侨大学IC设计中心
ቤተ መጻሕፍቲ ባይዱ
功能定义:模块中最重要的部分是逻辑功能定义 部分。有三种方法可在模块中产生逻辑。



用 assign 语句(数据流描述): assign a = b & c ; - 用实例元件(结构化描述): and2 and_inst ( q, a, b); - 用 “always” 块(行为描述): always (posedge clk or posedge clr) begin if (clr) q<= 0; else if (en) q<= d; end
wire(线网) :线网类型主要表示Verilog HDL中 结构化元件之间的物理连线,其数值由驱动元 件决定。如果没有驱动元件接到线网上,则其 默认值为高阻z。Verilog程序模块中输入输出 信号类型缺省时自动定义为wire型 register (寄存器) :寄存器类型主要表示数据 的存储单元,其默认值为不定x,寄存器只能 在always语句和initial语句中赋值 。二者最大 的区别在于:寄存器类型数据保持最后一次的 赋值,而线网类型数据则需要持续的驱动。
Ch.1概述5
Verilog 基本概念
端口等价于硬 件的引脚(pin)
华侨大学IC设计中心
端口在模块名 字后的括号中 列出
端口可以说明为 input, output及 inout

注意模块的名称DFF,端口列表及说明 模块通过端口与外部通信
Ch.1概述6
Verilog 基本概念

华侨大学IC设计中心
Ch.1概述7
Verilog 基本概念

华侨大学IC设计中心

模拟数字混合仿真指导(DOC)

模拟数字混合仿真指导(DOC)

Spectre与verilog 混合仿真初级指导卢志坚2010-4-24Spectre与verilog混合仿真,顾名思义,就是电路既含有模拟电路,又有有verilog语言编写而成的数字处理模块;主要针对时序分析,以及自动校准功能。

1.把verolog模块导入到spectre中。

如果需要导入多个模块,而且模块之间存在嵌套调用的话,需要把所有嵌套调用的模块都写在同一个.v文件中。

(不是一定要这样做,只不过这样做是不会有问题的,其他更便捷的做法则需要各位仁人志士去发掘了)(a)如上图:在icfb最初窗口上选File,接着Import,接着Verilog;(b)接着在弹出的窗口“Verilog In”中,如上图,只关心红框标注的4个地方,在第2个红框处,可以浏览到需要把文件导入的目标库“test_lu”;在第一个大框中,可以浏览到逆需要导入的try.v,选中后,点击第3各红框“Verilog Files To Import”右边的“Add”;在第4个红框中“Import Structural Modules As”选“functional”;其他可以不用管吧,不过尽量与截图一致的话会比较顺利的。

最后点击“OK”,然后等一会,会提示导入完成,提示逆查看以下信息,如果导入不成功,很可能是你的.v文件没有写好,需要修正以下,然后再做导入工作。

(c)如上图,导入成功以后,在“Library Manager”中的库“test_lu”中,“Cell”一栏下就会出现所导入的所有模块,每个模块都有“functional”与“symbol”两个View。

2.把数字模块添加到schematic中(a)如上图,Cell“test_dft”只有schematic View,打开之,如下图(b)按照一般的添加instance的步骤,把数字模块“digital_3”加进来,如下图(c)保存好,然后关掉schematic View“config”,然后回车,就会弹出下图(e)“Library Name”与“Cell Name”明显是不用改的,而“Tool”需要选到“Hierarchy-Editor”,之后“View Name”自动变为“config”,然后“OK”,则继续弹出下图的两个窗口“New Configuration”和“hierarchy-editor”(f)如上图,在“New Configuration”窗口中,在View处浏览,弹出下图浏览窗口(g)选中test_dft中的schematic,之后“OK”,然后又回到“New Configuration”窗口,点击“Use Template…”, 如下图(h)之后会弹出“Use Template”窗口,如下图,在“Name”中选中“spectreV erilog”,之后“OK”;(i)然后“New Configuration”窗口中的有关信息被填好,如下图,然后“OK”(j)然后刚才空着的“hierarchy-editor”窗口,会被填满信息,该信息都是关于schematic View中的信息,如下图(k)然后可以保存,则完成该config View的设置,然后关闭该窗口。

数模混合仿真

数模混合仿真

X2
B
C
整个电路系统的连接 Digital_mix digtal_mix1(.IN(X1),.OUT1(X2),.OUT2(X3));
Digital_mix digital_mix2(.IN(X2),.OUT1(OUT1),.OUT2(OUT2)); analog_mix analog_mix1(.IN(X3),.OUT(OUT3)); digital_mix1 digital_mix2 X2 IN OUT1 OUT1 IN OUT2 OUT2
opa1 opa2 OUT
反相 器1
与 非 门
或 非 门
B
D
E
Digital digital1( .A(IN), .B(x1)); AD1 analog1(.D(x1),.E(OUT));
如此实现数字和模拟的互连
将上面电路打包为analog_mix
analog_mix digital1 IN X1 A analog1 opa1 opa2 OUT MODULE analog_mix(IN,OUT) INPUT IN; OUTPUT OUT; WIRE X1; Digital digital1(.A(IN),.D(X1)); AD1 analog1(.D(X1),.E(OUT)); ENDMODULE
• • • • The duplicate_net_inst_name Command 允许模块实例和线使用相同名称 Optimize_shadowfile; 阻止数字电路与数字电路之间的接口优化,从而减少接口端点 The param_pass Command ;允许数字端口和模拟端口通信 The print_thru_net Command lower the speed

数模混合电路仿真

数模混合电路仿真

数模混合电路仿真
10
Pspice 中的分析类型
直流工作点分析(Bias Analysis .OP) 灵敏度分析 (.SENS) 直流分析(DC Sweep .DC) 对电路直流扫描分析,可以获得电路在一定参数 区间内的工作点状况 交流与噪声分析(AC Sweep/Noise .AC; .NOISE) 对小信号线性电子电路进行交流扫描分析,它能 够获得电路的幅频响应和相频响应以及转移导纳等 特性参数。
数模混合电路仿真
3
1
4
2
7
二极管: D××× N+ N- modelname .Model DMOD D(…..) 三极管: Q ××× NC NB NE modelname .MODEL <model name> NPN(PNP) [model parameters] MOSFET: M ××× ND NG NS NB modelname [L=?] [W=?] [level=?] [M=<?>…] .MODEL <model name> NMOS (PMOS)[model parameters] 例: M1 14 2 13 0 PNOM L=25u W=12u M16 17 3 0 0 PSTRONG M=2
数模混合电路仿真
4
PSPICE 的元器件和源
R, L, C, K - 电阻、电感、电容、互感(Ω可省,H,F)
V,I,E, F, G, H – 独立源(V,A,)
AGND/EGND – 模拟和数字地 VAC (VDC)– 交流电压源
ห้องสมุดไป่ตู้
VSIN – 正弦压源 TIME-s
数模混合电路仿真
5
PSPICE -components

数模混合仿真基本流程.

数模混合仿真基本流程.

数/模混合仿真基本步骤1、输入命令“ which verilog.vmx” ,参看仿真所需的“ verilog.vmx ”文件是否存在, “ which icfb” ,查看所需的系统文件是否存在;2、在需要进行仿真的文件目录下启动 icfb ,将系统中模拟电路部分电路结构做成 symbol , 数字电路部分用 verilog 编写,做成 view 名称为“ functional ”的模块;3、除了有 schematic view之外,增加 config view :library manager → file → new → cell view →如图填写后,点击 ok弹出对话框点击 use template ,弹出对话框在 name 选项中选择 spectreVerilog ,点击 ok ,关闭 new configuration 对话框,在new configuration 对话框中,将 view 名称改为 schematic ,如图保存后关闭对话框;4、开始仿真时关闭双击 config ,弹出对话框一般按照默认值,只显示 schematic ,不显示 config ,点击ok5、在弹出的 schematic 对话框中, tool → analog environment→ set up→simulator/directory/host,弹出对话框将 simulator 改为如图, ok ; schematic 中将出现 mixed signal选项,点击该选项,下拉菜单中出现三个选项, 其中 display partition选项中可选择显示模拟信号线, 数字信号线、或混合信号线;interface elements选项中的 library 选项,应根据工艺条件与设计要求填写相关的A → D 、D → A 相关信息,如信号上升、下降时间,模拟信号向数字信号转换的高低电平等;6、填写完毕后关闭该对话框,在 design environment对话框中, set up → model library中填写工艺模型文件(与模拟电路仿真相同 ,开始进行仿真(后与模拟电路仿真相同。

数模混合仿真基本流程

数模混合仿真基本流程

数模混合仿真基本流程使用三位计数器(数字电路)和三个缓冲器(模拟电路,接在计数器的输出端)为例。

打开终端,输入ic,启动icfb本例新建一个自己的库,在中点击库名这里取为smic18mixedsignal点击OK在弹出的对话框选择点击OK选择为点击OK先搭缓冲器(用两个反相器串联而成,没有调节栅宽,取了PMOS栅宽为440纳米,NMOS栅宽为220纳米)如下图所示生成原理图如下图所示再新建三位计数器如下图所示填写内容为functional,选择为,内容自己填。

点击OK弹出编写代码的界面,是VI编辑器,VI编辑器使用手册见《vim编辑器使用手册》word 文档。

将事先准备好的三位计数器代码复制进去,如下图所示需要注意的是代码里的module名称要与cell name一致。

在末行模式下输入wq回车弹出点击Yes在处可以看到0错误0警告下面建立三位计数器的测试电路电路图如下图所示,时钟周期为10ns,保存,关闭。

在界面选中,library manager->file->new->cell view点击OK在弹出的对话框中点击在弹出的对话框中如下图选择点击OK点击如下图选择点击OK在内加入:functional 如下图所示点击OK点击,关闭对话框双击View里的,如下图选择,点击OK点击->点击->选择为,点击OK这时中将出现,点击选择点击根据工艺条件与设计要求填写A->D、D->A相关信息,如信号上升、下降时间,模拟信号向数字信号转换的高低电平等。

这里如下图设置点击选择为如下图设置点击点击OK开始进行仿真(与模拟电路仿真相同)例如建立一个200ns的tran仿真运行仿真需要注意的是代码里的第一句话`timescale 1ns/1ps如果没有这句话,仿真结果如下图所示,从时钟上升沿到计数器信号变化有1ns的延时,而仿真的时钟周期只有10ns,延时太大,不正常。

加了这句话,仿真的结果如下图所示,从时钟上升沿到计数器信号变化只有0.06ns的延时,正常。

数模混合仿真基本流程

数模混合仿真基本流程

数模混合仿真基本流程数模混合仿真(Mixed-Signal Simulation)是一种结合了模拟和数字仿真的方法,用于对整个电子系统进行系统级和电路级的验证。

它可以模拟数字信号和模拟信号之间的相互作用,包括时钟、数据传输、电源和噪声等因素。

下面我将介绍数模混合仿真的基本流程,并详细解释每个步骤。

1.确定系统规格和需求:首先需要明确系统的功能和性能要求。

这包括确定系统的输入和输出,以及技术指标如速度、功耗和面积等。

这些信息对于后续的设计和验证非常重要。

2. 设计系统仿真模型:在进行实际电路设计之前,需要建立系统的仿真模型。

这包括创建系统级模型(如Verilog或VHDL)和模拟模型(如SPICE)等。

系统级模型用于模拟数字部分,而模拟模型用于模拟模拟部分。

3. 实现数字电路设计:根据系统规格和需求,开始进行数字电路设计。

这通常涉及使用FPGA工具、电路设计工具和IP(Intellectual Property)库等。

设计完成后,将数字部分的设计与系统级模型连接起来。

4.验证数字电路设计:进行数字电路设计的验证,以确保其符合系统规格和功能要求。

验证方法可以包括模拟仿真、时序仿真和功能仿真等。

5.实现模拟电路设计:开始进行模拟电路设计。

这包括选择和设计模拟电路的各个组成部分,如放大器、滤波器、模数转换器(ADC)和数模转换器(DAC)等。

设计完成后,将模拟部分的设计与模拟模型连接起来。

6.验证模拟电路设计:进行模拟电路设计的验证,以确保其符合系统规格和功能要求。

验证方法包括使用SPICE仿真,通过模拟信号作用于模拟模型来验证设计中的模拟电路。

7.库模型与接口验证:对所用到的模块和库进行验证,包括芯片设计中采用的各种标准元件和功能模块。

这些库模型可以是已经经过验证的标准模型,也可以是自定义模型。

同时,库模型的接口也需要进行验证,以确保其与被集成的其他模块或芯片的相互连接正确。

8.进行系统级仿真:将数字部分和模拟部分的设计相互连接,进行系统级仿真。

数模混合仿真详细文档.

数模混合仿真详细文档.

用 SpectreVerilog 进行模数混仿,以 Sigma-Delta ADC为例SpectreVerilog 模数混仿 , 模拟部分用 Spectre, 数字部分用 Verilog-XL. 所以还需要安装 Cadence LDV软件 , 其内含 Verilog-XL 仿真器 .这里以自行设计的二阶全差分 Sigma-Delta ADC为例 , 详细介绍用SpectreVerilog 的仿真过程 . 所用工艺库为 TSMC 0.18u,电源电压:1.8V.1. 准备Sigma-Delta ADC分模拟和数字部分两块 , 其中模拟部分为调制器 , 数字部分为数字滤波器 . 如下图 . 其中 out 为调制器的输出 , 这里是 1位 0, 1数据流 . 数字滤波器为 Verilog RTL级代码 .Schematic :Symbol :Verilog Code:module DigitalFilter (in2out, out, clk, clr, in;output in2out;output [`wordsize-1:0] out;input clk;input clr;input in;reg in2out;wire clk_half1, clk_half2;……Endmodule同时为了直观的观看输出结果,因此把输出的数字字转化为模拟量,这里用Verilog-A 做一个理想的 DA 转换器。

因此最好事先用 Spectre 仿真模拟部分 , 用 ModelSim 或 Verilog-XL 等仿真数字部分 . 这里假定我们已有 :1 模拟部分的原理图 (包括 Symbol;2 数字部分的 Verilog 代码 ,DigitalFilter.v, 模块名 :DigitalFilter(in2out,out,clk, clr,in;3 数字部分的 TestBench 代码 , DigitalFilter_TB.v, 模块名 : DigitalFilter_TB. 下图为最终的系统图:2. 创建数字模块的 Symbol1 新建一个 Cell, View Name为symbol, Tool: Composer-Symbol.2 画 Symbol. 简单地 , 画一个矩形框 , 添加几个 Lable, 然后添加 Pin.3 添加 Pin. 左边输入 , 右边输出 . 对于多位的 pin 可以用如 out<7:0>的样式作为 pin 的名字 . 注意 : 与模拟部分相连的多位 Pin 最好不要用一个 pin, 而要用多个 . 如下图 .4 创建对应的 Verilog 文件 . 在 symbol 编辑器中 , Design菜单 ->CreatCellView->FromCellView.会弹出的对话框 , Tool/Data Type一栏选择 Verilog-Editor, 则 To View Name会变为functional.点击 OK, 会弹出错误对话框 , 点 No. 自动弹出 VI 编辑器 , 可以看到已经生成Verilog 代码的空壳 .代码文件的路径在 VI 编辑器的标题栏上 . 下面要做的就是把我们的数字模块(不是 TestBench 的代码填进去 . 如果不想用 VI 编辑器 , 也可以用其他文本编辑器 . 复制代码时最好不要动自动生成的代码 . 经测试 , 所有代码最好放在一个文件中 .这一步之后,数字部分就会有 functional 和 symbol 两个 View 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用SpectreVerilog进行模数混仿,以Sigma-Delta ADC为例
SpectreVerilog模数混仿, 模拟部分用Spectre, 数字部分用Verilog-XL. 所以还需要安装Cadence LDV软件, 其内含Verilog-XL仿真器.
这里以自行设计的二阶全差分Sigma-Delta ADC为例, 详细介绍用SpectreVerilog的仿真过程. 所用工艺库为TSMC 0.18u,电源电压:1.8V.
1. 准备
Sigma-Delta ADC分模拟和数字部分两块, 其中模拟部分为调制器, 数字部分为数字滤波器. 如下图. 其中out为调制器的输出, 这里是1位0,1数据流. 数字滤波器为Verilog RTL级代码.
Schematic:
Symbol:
Verilog Code:
module DigitalFilter (in2out, out, clk, clr, in);
output in2out;
output [`wordsize-1:0] out;
input clk;
input clr;
input in;
reg in2out;
wire clk_half1, clk_half2;
……
Endmodule
同时为了直观的观看输出结果,因此把输出的数字字转化为模拟量,这里用Verilog-A做一个理想的DA转换器。

因此最好事先用Spectre仿真模拟部分, 用ModelSim或Verilog-XL等仿真数字部分. 这里假定我们已有:
1) 模拟部分的原理图(包括Symbol);
2) 数字部分的Verilog代码,DigitalFilter.v, 模块名:DigitalFilter(in2out,out,clk,
clr,in);
3) 数字部分的TestBench代码, DigitalFilter_TB.v, 模块名: DigitalFilter_TB.
下图为最终的系统图:
2. 创建数字模块的Symbol
1) 新建一个Cell, View Name为symbol, Tool: Composer-Symbol.
2) 画Symbol. 简单地, 画一个矩形框, 添加几个Lable, 然后添加Pin.
3) 添加Pin. 左边输入, 右边输出. 对于多位的pin可以用如out<7:0>的样式作为pin的名字. 注意: 与模拟部分相连的多位Pin最好不要用一个pin, 而要用多个. 如下图.
4) 创建对应的Verilog文件. 在symbol编辑器中, Design菜单->CreatCellView->From CellView.
会弹出的对话框, Tool/Data Type一栏选择Verilog-Editor, 则To View Name会变为functional.
点击OK, 会弹出错误对话框, 点No. 自动弹出VI编辑器, 可以看到已经生成Verilog代码的空壳.
代码文件的路径在VI编辑器的标题栏上. 下面要做的就是把我们的数字模块(不是TestBench)的
代码填进去. 如果不想用VI编辑器, 也可以用其他文本编辑器. 复制代码时最好不要动自动生成
的代码. 经测试, 所有代码最好放在一个文件中.
这一步之后,数字部分就会有functional和symbol两个View。

这样基于Verilog代码的Symbol就创建完了.
3. 创建理想DAC
这里用Cadence自动生成的理想DAC。

同步骤2,首先创建Symbol,如下图:
类似步骤2,Design菜单->CreatCellView->From CellView. Type选择VerilogA-Editor
OK,弹出对话框,可以直接按OK,默认设置。

弹出新的对话框,选择Digital to Analog Converter, 然后Next。

设置位数,电压范围等参数。

如下图:
Next之后,会出现VerilogA代码,再Save和Finish。

完毕。

4. 创建顶层原理图.
1) 新建步骤1中所说的顶层Schematic视图, 这里名为MixSim, 把模拟的Symbol和上面建立的
数字块Symbol放到新建的原理图中, 并连好线. 模拟块输入端的激励源都要加上.
2) 添加数字块的Pin. 把数字块中除了和模拟块相连的输入端添加Pin. 这里的数字块输入端
信号与模拟块共用,因此没有输入Pin。

5. 创建config视图
1) 新建Cell, 名字和步骤4中的原理图名字一致. Tool选择 Hierarchy-Editor, 则View Name 会自动为config. OK,
2) 在新出现的New Configuration窗口中View: 文本框为空, 填入: schematic, 注意大小写. 点击下方的Use Template…, -> Name一栏选择: spectreVerilog, OK,
3) 再OK关闭New Configuration. 点击Cadence hierarchy editor窗口的保存按钮, 关闭退出.
4) 这时MixSim有两个View: config, schematic. 打开config, 会提示打开模式, 直接OK, 则原理图会被打开,并可以进行修改。

6. 建立仿真环境
1) 打开config视图, 菜单Tools->Analog Environment, 打开ADE.
2) ADE, 菜单Setup->simulator, Simulator选择spectreVerilog, OK.
3) ADE, 菜单 Setup->Stimuli->Analog, 弹出Setup窗口, 选中Global Sources, 把电源电压填上, 这一步和spectre一样, 另外别忘了添加模型库. 不再赘述.
4) 添加数字块的测试向量. ADE, 菜单 Setup->Stimuli->Digital, 弹出VI编辑窗口, 窗口的标题栏和信息栏都有测试向量的文件路径, 可以直接修改它. 系统自动生成了一个initial块, 这个initial块不能改动. 现在就可以把Testbench中的代码复制到这个文件中了. 注意: `timescale不要复制, 模块名和端口定义不要复制, 模块实例引用不要复制. 也就是只能复制initial块和always块以及parameter语句. 同时注意到, 系统生成的的initial块中把输入信号初始化为零, 因此复制进来的语句一定要避免在0时刻给这些信号赋值. 本例数字块的输入与
模拟块共用,因此不用添加代码。

5) 打开Config视图,菜单Tools->Mix Signal Opts., 会新增加一个Mixed-Signal菜单栏。

菜单Mixed-Signal -> Interface Elements -> Library…
主要修改两个参数d2a-vh,d2a-vl,他们是输出数字信号的0,1电压
把Model IO选为Input,修改a2d_v0, a2d_v1,他们是模拟转数字的阈值电压,这里为0.6V 和
1.2V
7. 仿真.
仿真过程与Spectre一样,设置瞬态仿真时间,输出节点电压。

这是ADC仿真结果图:
由于搭建整个仿真环境比较复杂, 因此经常会出错, 需要耐心调试,尤其是Verilog代码错误,
仿真器只说有错, 但不知道错在何处, 很不爽.
本教程仅适用于初学者,同时请高手指点一二,错误和走弯路都在所难免,谢谢。

相关文档
最新文档