Cadence 实验系列12_数模混合电路设计_spetreVerilog
20120523-数模混合电路设计流程

数模混合电路设计流程马昭鑫 2012/5/23本文主要面向模拟电路设计者,讲解了从行为级代码形式的数字电路到数模混合版图之间的流程,默认模拟版图和数字电路的行为级代码、testbench已经完成。
阅读者需确定自己会编写Verilog或Spice格式的网表,熟悉Linux的文件操作,了解Spectre、Virtuoso、Calibre、Modelsim、Design Compiler(dc)、Astro等EDA工具的使用方法。
由于本人才疏学浅,经验不足,难免会在文中出现一些错误,恳请高手给予指正。
数模混合电路的仿真方法一般的设计流程中数字电路和模拟电路是分开进行设计的,但有些时候希望能将数字电路和模拟电路放在一起仿真来验证设计,这就需要用到混合电路的仿真方法。
在Cadence 工具中有专门用作混合电路仿真的仿真器spectreVerilog,其实现方法是首先将模拟模块与数字模块区分开并设置接口电平,然后在ADE中设置数字电路的测试代码,调用不同的仿真器分别对数字模块和模拟模块进行仿真,最后将结果汇总显示或输出。
下面将以一个简单实例的形式讲解混合电路的仿真方法。
一、建立数字模块①在命令行中输入下面的命令设置NC-Verilog和Cadence并启动Cadence;setdt ldvsetdt icicfb&②建立Library的方法不再累述,创建Cell view时注意Tool选择Verilog-Editor,View Name 填写functional;③点击OK后会弹出有模块代码框架的vi窗口,将设计需要的代码输入或粘贴进去;④保存并关闭后如果没有错误会弹出创建Symbol View的询问对话框,确定后会进入Symbol编辑器,并自动生成了Symbol(注意在Cadence中总线用尖括号<>表示);⑤保存并关闭Symbol编辑器。
至此已经完成了数字模块的创建。
二、建立模拟模块模拟电路的创建方法无需赘述,这里搭建了一个输出频率为10MHz的环形振荡器。
数模混合信号电路设计-第一讲

华侨大学IC设计中心
建立层次文件
1.建立config文件 2.链接顶层文件
Mixed Signal Processing & RF/Analog IC TRx architectures Signal IC Digital ASIC
Multi-band Multimode Antenna Interface
AD
90º
AD
Baseband processing
DA
TRx calibration
数模混合信号仿真华侨大学IC设计中心
3.仿真提速
A:用作信 号发生器。 仿真的时候,需要不少的激励信号,而且有着严格的时序关 系,要是用pulse电源或是别的什么电源来做的话,可要累死 人的。用verilog写模块的foundational,就 可以比较方便快 捷的构成一个信号发生器。
B:节约模拟的时间。 对于一些成熟的已经知道电路输入输出特性的电路,可以用 verilog写出其特性,这样的话,模拟的时间可以大大的缩短。 当然,还有就是verilog 的老本家--数字电路,也可以用 verilog写出foundational,节约模拟的时间。
Ch.1概述5
华侨大学IC设计中心
SIP与SOC是两项平行发展的系统集成技术, 它们都顺应了电子产品高性能、多功能、小型 化、轻量化和高可靠性的发展趋势。从发展的 历程来看,SOC与SIP是极为相似的,两者均 希望将逻辑组件、数字、模拟、无源器件整合 在一个单元中。然而就发展方向而言,两者有 很大的不同:SOC是从设计的角度出发,目的 是将一个系统整合到一块IC芯片上去;而SIP 则是由封装的角度出发,将不同功能的芯片整 合于一个电子封装结构体内。
symbo
Cadence数模混合电路设计_spetreVerilog

Cadence sp芯et片re级v电e路ril验o证g
模拟信号仿真
射频信号仿真
1-2 数模混合信号模拟的应用
混合信号模拟简介
混合模拟的定义 混合模拟的应用
2
1
3
4
1-2 数模混合信号模拟的应用
1. 数模混合电路的设计 2. 大型数字集成电路设计 3. 仿真提速
1-2 数模混合信号模拟的应用
混合信号模拟简介
混合模拟的定义 混合模拟的应用 Cadence中的实现
2
1
3
4
1-3 Cadence 中的Spetreverilog
1. cadence中数模混合仿真的环境 2. cadence中数模混合仿真的数据流
1-3 Cadence 中的Spetreverilog
1. 数模混合仿真的环境
层次编辑器
用高斯消去法 求解线性方程
1-1 数模混合信号模拟定义
2.数字信号模拟
是指基于松弛算法的由事件驱动的:一t种es仿tb真en模ch拟方式。
1
2
3
4
1-1 数模混合模拟的定义
3. 混合信号模拟
以特定的组合方式处理电路中的模拟数字信号的仿真过程
单仿真器架构
模拟 信号
数字 简化信号 模拟 信号
双仿真器架构
模拟 信号
数字 信号
模拟信号 仿真器
模拟信号 仿真器
数字信号 仿真器
1-1 数模混合模拟的定义
3. 混合信号模拟
双仿真器的混合信号模拟
A_D仿真方法组合 A_D仿真器结合度
手工型
顺序型
偶合型
+ 配对型
= spetreverilog
基于Verilog的数字电路设计与仿真实验

基于Verilog的数字电路设计与仿真实验数字电路设计与仿真是数字电子技术领域中非常重要的一部分,Verilog作为一种硬件描述语言,在数字电路设计中扮演着至关重要的角色。
本文将介绍基于Verilog的数字电路设计与仿真实验,包括Verilog语言基础、数字电路设计流程、仿真工具的选择以及实验案例分析等内容。
Verilog语言基础Verilog是一种硬件描述语言,广泛应用于数字电路设计领域。
它具有类似于C语言的语法结构,包括模块化设计、行为建模和结构建模等特点。
在Verilog中,最基本的单元是模块(module),一个模块可以包含输入端口(input)、输出端口(output)和内部信号(wire)。
通过组合这些模块,可以构建复杂的数字电路系统。
Verilog语言中常用的建模方式包括行为建模和结构建模。
行为建模主要描述数字电路的功能行为,而结构建模则描述数字电路的物理结构。
Verilog语言还支持时序描述和并发描述,可以方便地对数字电路进行精确描述和仿真。
数字电路设计流程数字电路设计流程通常包括需求分析、概念设计、详细设计、验证和实现等阶段。
在Verilog中进行数字电路设计时,首先需要明确设计需求,然后进行概念设计,确定整体架构和模块划分。
接下来是详细设计阶段,根据功能需求编写Verilog代码,并进行仿真验证。
最后是实现阶段,将Verilog代码综合成目标设备可实现的逻辑电路。
在数字电路设计流程中,仿真验证是非常关键的一步。
通过仿真可以验证设计的正确性和功能是否符合预期。
Verilog提供了丰富的仿真工具和方法,如ModelSim、Xilinx ISE等,可以对设计进行全面的仿真测试。
仿真工具的选择在进行基于Verilog的数字电路设计与仿真实验时,选择合适的仿真工具至关重要。
ModelSim是一款常用的Verilog仿真工具,它提供了直观的图形界面和强大的仿真功能,能够帮助设计人员快速验证设计的正确性。
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、选择探测信号,接着选择出网表并运行仿真。
spectraverilog数模混合仿真

Cadence 的数模混合仿真工具spectraverilog能够实现数字模拟电路联仿的功能,对于模拟电路的输入信号可以利用数字接口很方便的进行设置。
主要用来进行功能仿真。
步骤:
1.准备schematic,如电路单元mix
2.从库管理器中建立mix单元的config view.
在use template中选择spectraverilog,然后ok
将top cell中的myview改为实际的schemtic,然后ok
正确的结果如下图
保存,点击open打开config后的schematic,在tools中选择mix signal opts.
在mix-signal菜单中,尝试第二项的每一个小项,可以看到模拟和数字的相关划分。
由于数字部分默认的电压为5V,转换电平为1.5V和3.5V,因此,如果电路的电源电压不同的与5V,需要对于数模混合接口部分进行设置,在mix-signal菜单中的第三项中进行设置。
对于模拟部分来讲,其按照模型进行计算,无需在数模接口部分进行端口设置,对于数字接口来讲,需要将默认的5V电平以及1.5V,3.5V转换电平变为与模拟部分相符的电压
值,比如电源3V,转换电平为1.5V和3.5V。
设置如下,
对于与模拟器件相连接的数字输出端,将高电平由5V改为3V
对于与模拟器件相连接的数字输入端,将转换电平由1.5V改为3.5V改为1V和2V
所有数模混合接口的相关的数字端口都需要改动,如下图所示的数模接口部分
3.调出analog仿真工具,并设置为spectreverilog
4.编写端口的输入激励文件
设置传输分析的时间长度
5.其余步骤同模拟信号仿真一样,run。
Cadence中Verilog 的一些使用方法

Cadence中Verilog的一些使用方法一学习Verilog 的必要性随着电路规模的增大和复杂传统的图形输入模式已不可行语言描述电路成为潮流它的方便性和好的更改性维护性在实践中得到很好的体现尤其现在强大的综合工具和系统集成对核的需求性使Verilog更有用武之地每个硬件工程师应该学习掌握它二Verilog 的文本编辑器在进入Cadence后在命令行中键入textedit *.v↙(此处*为文件名在textedit 命令后应带上文件名)键入上述命令后进入文本编辑框和Windows 中常用的文本编辑框很象图1textedit文本编辑框界面图中的主菜单File View Edit Find及各自底下的子菜单和Windws中的文本编辑器差不多使用方法相似这里就不多说了编好程序保存可以进行后续工作了三Verilog 的模拟仿真1命令的选择在命令行中键入verilog↙会出现关于此命令的一些介绍如下-f <filename> read host command arguments from file.-v <filename> specify library file-y <filename> specify library directory-c compile only-s enter interactive mode immediately-k <filename> set key file name-u convert identifiers to upper case-t set full trace-q quiet-d decompile data structureSpecial 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 modulesSpecial 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 NavigatorSignal Flow Browswer Wactch Objects Window SimWave 等窗口(1)SimControl 窗口此窗口是主要的仿真控制窗口让用户和机器进行交互式操作执行各种Verilog-XL 命令(菜单)进行仿真分析调试你的设计该窗口可以显示设计的模块和模块显示和设置断点强制信号等创建用户自己的按钮和执行经常使用的操作Source Browser2SimControl 窗口界面图I/O RegionMessage Region各部分简介Menu Bar有许多的子菜单让你执行各种模拟仿真命令这里就不一一介绍到使用时在指明其功能和所在位置Tool Bar各种按钮代表最常用的操作和功能能快速对选中的物体执行各种命令你可以在工具条中加入自己定义的按钮来代表常用的操作命令使用Option-UserButtons-Create 菜单项用Options-User Buttons-Edit 菜单项修改修改按钮工具条还显示当前模拟时间当处于交互式的模拟状态时会随模拟更新时间因为工具条按钮的操作为常用操作下面各功能详细介绍一下运行模拟按钮 设置模块按钮 对对象执行操作按钮 调用其它显示窗口按钮放用户自定义按钮 是否显示程序代码 图3SimControl窗口中的工具条a Run Simulation按钮运行模拟若无断点直至完成图标变为停止模拟图标若有断点则运行到断点对应信号再改变的位置b Single Step按钮再任何模块每按一下执行到下一个可执行行即使在子程序中也是单步运行c Step Over 按钮在当前的模块中执行到下一个可执行行在子程序中步单步执行而是一步执行完 子程序d Set Scope 按钮由当前的调试模块转到被选中的模块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显示被调试的程序代码每行左边有行号你可以在其间选择信号和模块这种选择会影响其它工具的操作对象反过来其他工具操作对象的选择也会作用于SourceBrowser信号和对象的选择可在其间设置断点如前所说的在行号为高亮的行可设为断点灰色则不可以可在Source Browser中点鼠标的右键选择菜单进行操作另一个对选择对象的操作是双击该对象如双击信号得到它的数值双击模块则调 到 该模块描述处如图3中的n字母代表的按钮Source Browser可被关掉不显示Scope Region包含scope field 和subscopes field从下拉按钮选择不同的项跳不同的模块对应的Source Browser显示该模块的代码I/O Region显示执行的命令和模拟输出的结果你也可以直接在此键入命令执行操作I/ORegion 也可以被关掉不显示当点击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 Bara设置模块 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 fieldMenu对对象的操作命令可查看信号或输入的细节显示信号的驱动可用四种进制显示信号的数值见下图后面会阐述菜单项的功能图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) 图7Navigator中的工具条中字母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-ContinousUpdate 项使信号随时变化即使按图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;endmodulemodule 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); initialbeginta=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;endendmodule下图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 Referenceuser_guide等等。
以DAC为例介绍SpectreVerilog数模混合电路仿真方法

以DAC为例介绍SpectreVerilog数模混合电路仿真方法来源:EETOP BBS 作者:真我个性(eetop id名)1.先谈下cadence IUS 和cadence ic,nc-verilog,spectre的关系cadence ic用于模拟仿真的软件,cadence IUS用于数字仿真的软件。
如果只做模拟,那用ic就够了。
同理,如果只做数字,那用IUS 也就够了。
但如果做数模混合,既有数字又有模拟,那两个软件都需要安装。
cadence ic cadence IUS如同spectre是cadence ic的模拟仿真器,nc-verilog是IUS的数字仿真器。
因此,如同装上cadence ic就能用spectre一样,装上cadence IUS就能用nc-verilog。
2. 数模混合电路中数字和模拟的实现数模混合电路中的模拟部分包括运放,开关电容等,数字部分包括开关电容中的控制信号等。
本文模拟部分就是DAC,但是例程中的DAC并不是用实际的电路实现的,而是采用verilog A代码来描述其行为模型的。
代码如下:数字部分就是给DAC提供一些列的数字输入信号,采用的是数字语言verilog实现的,代码如下:所有代码,其中DAC8bit_spectreverilog.tar.gz是cadencelibrary,解压后可直接在cadence中仿真运行。
DAC8bit_spectreverilog.zip (24.61 KB) (本文最后的压缩包中也有该文件)数模混合电路仿真时数字电路采用nc-verilog仿真器,模拟电路用spectre仿真器,最后把结果合在一起。
具体的设置步骤参考下文:VerilogA_Creating & simulating an 8-bit D-A Converter (DAC)_spectreverilog.pdf (605.61 KB) (本文最后的压缩包中也有该文件)总电路仿真结果3. 参考资料“数模混合电路设计流程_中科大”:介绍很完整,很严谨。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1-1 数模混合模拟的定义
3. 混合信号模拟 Cadence spetreverilog解决方案 混合仿真环境
Verilog-XL Spetre IPC = interprocess communication
仿真输出数据库
1-1 数模混合信号模拟定义
4. 商用混合信号仿真技术 Cadence Muti-Mode仿真(MMSIM)解决方案
2-1 数字-模拟电路设计
3.模拟电路设计 1.建立一个schemetic元件
2-1 数字-模拟电路设计
3.模拟电路设计 2.绘制schemetic原理图
2-1 数字-模拟电路设计
3.模拟电路设计 2.绘制schemetic原理图
元件规格: Pmos Nmos W 2.5u W 2.5u L 500n L 500n
1.数-模电路设计 1.建立一个verilog元件
2-1 数字-模拟电路设计
2.数字电路设计 2.输入verilog代码
2-1 数字-模拟电路设计
2.数字电路设计 3.生成symbol视图
verilog
symbo
2-1 数字-模拟电路设计
2.数字电路设计 3.生成symbol视图
2-1 数字-模拟电路设计
Res
Cap Vdc
200k
10p 5
2-2 制作顶层文件
混合信号模拟的实现
数字设计 模拟设计
数字-模拟电路设计
制作顶层文件
制作顶层文件
建立层次化文件
配置仿真环境 仿真验证
2-2 制作顶层文件
1 实际操作中,我们把clk_01 schematic作为顶层文件,直 接导入counter_01.
2-3 建立层次文件
层次编辑器
Hierarchy-Editor
屏幕输出
Spetreverilog 仿真器
波形文件
顶层原理图
SchematicWindow 用户定义文件
1-3 Cadence 中的Spetreverilog
2. 数模混合仿真的数据流
2-1 数字-模拟电路设计
混合信号模拟简介
数字设计 模拟设计
2 1
混合信号模拟的实现
2. 配置仿真环境 4.设置数字仿真器激励
2-4 设置仿真环境
2. 配置仿真环境 5.设置仿真的时长与步长
2-4 设置仿真环境
2. 配置仿真环境 6.设置绘图节点
3-1 混合信号的模拟的特点
混合信号模拟简介
混合信号模拟的实现
1
2 3 4
混合信号模拟的特点
操作示例
3-1 混合信号的模拟的特点
1 仿真的文件 2 仿真器的工作模式 3 仿真器的激励
时钟发生器 Verilog-editor
计数器
2-1 数字-模拟电路设计
1.数-模电路设计
Lib
Counter_1
Verilog symbo
Clk_1
schem
2-1 数字-模拟电路设计
1.数-模电路设计
1 建立自己的设计库 名字 design_101
2-1 数字-模拟电路设计
1.数-模电路设计 1.建立一个设计库
操作示例
1-1 数模混合信号模拟定义
1.模拟信号模拟仿真
2.数字信号模拟仿真 3. 混合信号模拟仿真 4. 商用混合信号模拟仿真
1-1 数模混合信号模拟定义
1.模拟信号模拟
指基于节点积分分析的瞬态模拟仿真方法
f1(x1, x2,…) =0 f2(x1, x2,…) =0 …
…
…
用高斯消去法 求解线性方程
3-1 混合信号的模拟的特点
1.仿真的文件
混合信号 模拟信号
config
schematic
3-1 混合信号的模拟的特点
2.仿真器的工作模式
混合信号 模拟信号
spectreVerilog
spectre
3-1 混合信号的模拟的特点
3.仿真器的激励
混合信号 模拟信号
Analog & Digital
Analog
2.数字电路设计 3.生成symbol视图
2-1 数字-模拟电路设计
2.数字电路设计 3.生成symbol视图
2-1 数字-模拟电路设计
3.模拟电路设计
1 在设计库中使用Composer-Schemetic建立一个元件 名字 clk_01 视图 schematic
2 编辑 schematic文件,输入clk_01的电路图
1-2 数模混合信号模拟的应用
2.大型数字系统仿真
大部分电路使用verilog仿真器仿真; 指定的关键部分电路使用模拟仿真器以达到高精度.
1-2 数模混合信号模拟的应用
3.仿真提速
A:用作信 号发生器。 仿真的时候,需要不少的激励信号,而且有着严格的时序关 系,要是用pulse电源或是别的什么电源来做的话,可要累死 人的。用verilog写模块的foundational,就 可以比较方便快 捷的构成一个信号发生器。
Cadence 实验系列12_ 数模混合电路设计_spetreVerilog
数模混合电路设计流程
算法设计
数字设计
模拟设计
数模混合验证
数字版图
模拟版图 数模混合验证 Tape-out
目录
混合信号模拟简介
2 1 4 3
混合信号模拟的实现
混合模拟的应用
混合模拟的定义
混合信号模拟的特点
Cadence中的实现
混合信号模拟的实现
数字设计 模拟设计
数字-模拟电路设计
制作顶层文件
制作顶层文件
建立层次化文件
建立层次文件
配置仿真环境 仿真验证
2-3 建立层次文件
1 建立config文件 元件名 clk_01 视图 工具 config Hierarchy Editor
2 把config文件链接到顶层文件 3 把模板选为spetreVerilog 4 把相应的单元分别设置为verilog仿真和spetre仿真
制作顶层文件
数字-模拟电路设计
制作顶层文件
4
3
建立层次化文件
混合信号模拟的特点
建立层次文件
配置仿真环境
设置仿真环境 操作示例 仿真
仿真验证
2-1 数字-模拟电路设计
1.数-模电路设计
2.数字电路设计 3. 模拟电路设计
2-1 数字-模拟电路设计
1.数-模电路设计
schemetic
schemetic
混合信号仿真
Cadence 芯片级电路验证 spetreverilog
模拟信号仿真
射频信号仿真
1-2 数模混合信号模拟的应用
混合信号模拟简介
2 1 4 3
混合模拟的定义
混合模拟的应用
1-2 数模混合信号模拟的应用
1. 数模混合电路的设计
2. 大型数字集成电路设计 3. 仿真提速
1-2 数模混合信号模拟的应用
双仿真真器
模拟信号 仿真器
数字信号 仿真器
1-1 数模混合模拟的定义
3. 混合信号模拟
双仿真器的混合信号模拟
A_D仿真方法组合
A_D仿真器结合度 顺序型
手工型
偶合型 扩展型
+
配对型 单模式
=
spetreverilog
巢套型 偶合型--配对型--锁步” (lock-step)同步法 集成型 = Cadence spetreverilog 框架型
2-1 数字-模拟电路设计
2.数字电路设计
1 在设计库中使用Verilog-editor建立一个元件 名字 counter_01 视图 functional 2 编辑 verilog文件,输入counter_1代码 3 符号化counter_01, 生成symbol视图
2-1 数字-模拟电路设计
B:节约模拟的时间。 对于一些成熟的已经知道电路输入输出特性的电路,可以用 verilog写出其特性,这样的话,模拟的时间可以大大的缩短。 当然,还有就是verilog 的老本家--数字电路,也可以用 verilog写出foundational,节约模拟的时间。
1-3 Cadence 中的Spetreverilog
1-1 数模混合信号模拟定义
2.数字信号模拟
是指基于松弛算法的由事件驱动的一种仿真模拟方式。 松弛算法 事件驱动 : testbench
1
2
3
4
1-1 数模混合模拟的定义
3. 混合信号模拟
以特定的组合方式处理电路中的模拟数字信号的仿真过程
单仿真器架构
模拟
信号 数字 简化 信号 模拟 信号 模拟 信号
混合信号模拟简介
混合信号模拟的实现
2 1 4 3
混合信号模拟的特点
操作示例
Thank you!
1. 数模混合设计
1-2 数模混合信号模拟的应用
1. 数模混合设计
数模IC
传感器
滤波器
A/D
信号处理器
D/A
放大器
接收器
1-2 数模混合信号模拟的应用
1. 数模混合设计
算法设计
数字设计
模拟设计
数字设计
模拟设计
混合原理图 数模混合验证 建立层次化文件
数字版图
模拟版图 配置仿真环境 数模混合验证 仿真验证 Tape-out
2-3 设置仿真环境
1.进入Mixed signal模式
2-4 设置仿真环境
2.设置模式层次显示
2-4 设置仿真环境
2.设置Analog环境 1.设置仿真器工作模式
2-4 设置仿真环境
2. 配置仿真环境 2.设置引用工艺库