spectraverilog数模混合仿真

合集下载

verilog和VHDL混合编译仿真

verilog和VHDL混合编译仿真

verilog和VHDL混合编译仿真在实际项⽬中,由于项⽬经历了较多的版本更迭或者设计⼈员的技术⽔平限制,有些时候难免有使⽤到verilog的代码和VHDL代码共同存在⼀个项⽬中的情况,那这个时候我们要怎样进⾏混合编译仿真验证呢?这⾥以使⽤vcs⼯具编译verdi查看波形为例:如果我们设计代码是vhdl版本的,但是还想使⽤更⾼级的代码verilog或者systemverilog作为它的顶层tb,并且还想使⽤uvm的组件来搭建更⽅便的验证环境,那么整个环境的编译和执⾏过程如下:1.需要准备的软件vcs-mx和verdi,其中vcs-mx版本会有vlogan和vhdlan两个编译程序2.开始编译编译vhdl的代码,dut_src.f是vhdl的⽂件列表:vhdlan -nc dut_src.f -l cmp_vhdl.log编译uvm库的sv代码:vlogan -full64 -timescale=1ns/1ps +v2k -sverilog -ntb_opts uvm -l cmp_uvm.log编译我们⾃⼰设计的sv代码和⾃⼰设计的uvm各个组件部分的代码,tb.f是⽂件列表:vlogan -full64 -timescale=1ns/1ps +v2k -sverilog tb.f -ntb_opts uvm -l cmp_verilog.log编译vhdl和verilog各⾃的库⽣成可执⾏⽂件simv:vcs -timescale=1ns/1ps -ntb_opts uvm -top tb_top -debug_access+pp -fsdb -j56 -cm line+fsm+tgl+cond -lint=TFIPC-L +nbaopt +rad +notimingchecks +nospecify +error+30run起来,⽣成波形,其中TC_NAME是传⼊的tc参数:./simv -cm line+fsm+tgl+cond +fsdb+force +fsdbfile+../wave/tb_top.fsdb +UVM_TESTNAME=$(TC_NAME)3.查看波形编译出verdi可以查看的库,使⽤vhdlcom是编译vhdl⽂件的库,vericom是编译verilog⽂件的库vhdlcom -lib my_work dut_src.fvericom -lib my_work -sv tb_top.sv使⽤verdi打开波形⽂件:verdi -lib my_work -top tb_top -ssf tb_top.fsdb。

电路仿真快速仿真数模混合仿真

电路仿真快速仿真数模混合仿真

3、View则包含多种类型,常用的有schemetic,symbol, layout,verilog,extracted等等 ,新建Cellview要注意选 择View的类型。
浙大微电子
16/105
Tools菜单


在Tools菜单下,比较常 用的菜单项有 Library Manager Library Path Editor Technology File Manager
Library Manager项打开的是库管 理器。在窗口的各部分中,分别 显示的是Library、Cell、View相应 的内容。
浙大微电子 17/105
Library Path Editor & Technology File Manager
Library Path Editor 可以对本用户的文件 路径进行修改
浙大微电子
13/105
二、建立可进行SPECTRE模拟 的单元文件
主窗口分为信息窗口 (command interpreter window,CIW)、命令行 以及主菜单。信息窗口 会给出一些系统信息 (如出错信息,程序运 行情况等)。在命令行 中可以输入某些命令。 主菜单包括: 1、File菜单 2、Tools菜单 3、Options菜单
浙大微电子
9/105
一、进入Cadence软件包

步骤一
下载安装putty软件 (http://www.isee.zju.ed /ic/datas/news/0308/ new_120213/putty-0.60installer.exe ),在Host name处填工作站地址, 端口默认,协议 (protocol)选SSH,如 图所示,在putty进行设 置;然后登录工作站。

数模混合设计流程

数模混合设计流程

Confidential
2
准备好需要用到的文件. 准备好需要用到的文件.
用verilog语言定义模电模块,模块与模电的每个网表相对应, 并用verilog语言定义好这 些模电模块的顶层模块.(只定义该部分的输入输出脚.) 准备好模电的仿真.sp文件,并把模电的网表用include命令包含进来.加入下面三条命令, 定义出数模信号转换时的依据. .model a2d_mdl a2d mode=std_logic vth=1.25 .model d2a_mdl d2a mode=std_logic vhi=5 vlo=0 trise=0.1ns tfall=0.1ns .defhook a2d_mdl d2a_mdl 加入下面命令生成模电的波形文件.tro .options compat .options nojwdb .option mach .option post=1 probe .probe 准备好数电的仿真Case文件,并在该文件中加入两条命令 &dumpfile(文件名.vcd); 打开一个数据库用于记录波形数据 &dumpvars(层数,case名);选择要记录的信号 用verilog语言做一个数模顶层模块,把数字的verilog顶层和模电的verilog两部分连起 来.
Confidential 12

Confidential
9
做好模电的.sp文件,给端口SCEN输入激励 .GLOBAL GROUND agnd dgnd .GLOBAL VDD VCC ****************************SIGNAL************************************** v1 vdd 0 h v2 agnd 0 0 v3 dgnd 0 0 V0 VCC 0 H v4 SCEN 0 pwl 0 0 4.9u 0 5u h 9.9u h 10u 0,r 0 ***** .inc '' .option post=1 probe .option compat .option nojwdb .option mash .op .param h=5 .tran 1u 100u .probe v(*) .protect .lib '/users/mickey/model/umc/ptsmd07a/sim/spice/umc035-5V.lib' tttt .unprotect .model a2d_mdl a2d mode=std_logic vth=1.25 .model d2a_mdl d2a mode=std_logic vhi=5 vlo=0 trise=0.1ns tfall=0.1ns .defhook a2d_mdl d2a_m一个反向器,名字bcdef 及管脚名SCEN,SC,要与verilog定义的模块名与端口名一致. *.GLOBAL VDD *.GLOBAL VDD VCC *.GLOBAL VDD *.GLOBAL GROUND AGND PGND *.GLOBAL GROUND *.GLOBAL GROUND *.PARAM .SUBCKT inv + ain o1 + LN=1.2U + WN=3.0U + LP=1.2U + WP=3.0U MXI208 o1 ain VDD VDD PT W=2.8u L=0.7u M=1 $ pmos3 MXI2 o1 ain GROUND GROUND NT W=1.3u L=0.6u M=1 $ nmos3 .ENDS $ inv $ **** Main Circuit **** .SUBCKT bcdef SCEN SC XI48 SCEN SC inv .ENDS $ OSC0_OSCTOP3 $

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

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

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 建立层次文件

数模混合仿真胡宗杰

数模混合仿真胡宗杰

将上面电路打包为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));

混合仿真设置

混合仿真设置

混合仿真是指数字与模拟部分混合仿真,模拟部分采用Cadence电路图,数字部分可以采用版图提取网表(如文档前部分所述),也可以直接采用verilog代码生成数字部分symbol。

下面说明采用verilog代码生成数字symbol的过程。

1、首先在工程库中新建一个cell,名字取为DIGIT,tool选用verilog-editor,view取名为functional,确定后会打开默认的文本编辑器(vi),需要在其中编写verilog代码,文件名默认为verilog.v。

vi被自动打开时,module已经自动被起为DIGIT,但输出端口未定义,要自己加进去),退出vi 时,CIW会提示为这个cell建一个symbol,按提示建好后保存。

2、在工程库中新建一个cell,取名为SIM_MM,tool选用composer-schematic,view取名为schematic。

在SIM_MM中,就可以像调用模拟单元一样,把数字部分DIGIT作为一个symbol 引入,将模拟部分连接完毕后保存。

3、在工程库中新建一个cell,取名为SIM_MM,tool选用hierarchy-editor。

在library list栏填入SIM_MM schematic中所有单元涉及到的库,包括激励,然后view list与stop list填写如下图。

更新以后,要使得cell bingdings中view found栏没有symbol(如果出现symbol,则可以右键选择schematic,即将symbol展开,与相应schematic对应,这时cell bindings又会出现该symbol中的所有下层单元)。

全部完成后,view found栏应该包括了SIM_MM schematic中所有用到的单元,从各个层次的schematic直到最底层的管子、电阻、电容等等。

保存该config文件。

(view to use可以不用选,默认。

数模混合ic-解释说明

数模混合ic-解释说明

数模混合ic-概述说明以及解释1.引言1.1 概述数模混合IC是指在一个芯片内集成了模数混合信号电路的集成电路,它将数字电路与模拟电路有机地结合在一起。

随着电子技术的快速发展和市场需求的不断增加,数模混合IC的应用逐渐得到了广泛关注和应用。

数模混合IC主要用于将模拟信号转换为数字信号或将数字信号转换为模拟信号的过程中。

它可以实现模拟信号的采样、滤波、放大、调制、解调等功能,同时能够进行数字信号的处理、编解码、调制解调等操作。

因此,数模混合IC被广泛应用于通信、音视频处理、传感器接口等领域。

数模混合IC的设计流程主要包括需求分析、系统设计、电路设计、电路仿真、布局布线、验证测试等多个环节。

在设计过程中,需要考虑电路的性能指标、功耗、面积、成本等因素,以确保设计出满足实际应用需求的芯片。

数模混合IC相比于传统的模拟电路和数字电路独立设计的方式,具有一定的优势和挑战。

它可以减少电路间的接口,简化系统设计,提高集成度和性能。

然而,由于数字和模拟电路之间的互相影响和干扰,数模混合IC的设计和验证相对较为复杂,对设计人员的技术水平要求较高。

总之,数模混合IC作为一种集成度高、功能强大的芯片设计技术,具有广泛的应用前景。

随着科技的不断进步和市场需求的不断变化,数模混合IC的应用将得到进一步的推广和发展。

未来,数模混合IC设计将更加注重低功耗、高性能、高集成度和低成本等方面的探索,为各个领域的应用提供更加优越的解决方案。

1.2文章结构文章结构部分的内容可以按照以下方式进行编写:2. 文章结构本文分为引言、正文和结论三个部分。

每个部分包含多个小节,具体的结构如下:2.1 引言2.1.1 概述2.1.2 文章结构2.1.3 目的2.1.4 总结2.2 正文2.2.1 数模混合IC的定义2.2.2 数模混合IC的应用领域2.2.3 数模混合IC的设计流程2.2.4 数模混合IC的优势和挑战2.3 结论2.3.1 数模混合IC的发展前景2.3.2 数模混合IC的应用推广2.3.3 数模混合IC的未来发展方向2.3.4 总结在引言部分,我们将概述整篇文章的主要内容、目的以及总结。

用SpectreVerilog进行模数混仿

用SpectreVerilog进行模数混仿

用SpectreVerilog进行模数混仿,以Sigma-Delta ADC为例loghereloghere@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->From CellView.会弹出的对话框, 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)。

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。

相关文档
最新文档