spectraverilog数模混合仿真
- 格式:doc
- 大小:152.50 KB
- 文档页数:6
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。
混合仿真是指数字与模拟部分混合仿真,模拟部分采用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-概述说明以及解释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进行模数混仿,以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。
数模混合IC设计流程1.数模混合IC设计近十年来,随着深亚微米及纳米技术的发展,促使芯片设计与制造由分离IC、ASIC 向SoC转变,现在SoC芯片也由数字SoC全面转向混合SoC,成为真正意义上的系统级芯片。
如今人们可以在一块芯片上集成数亿只晶体管和多种类型的电路结构。
此时芯片的制造工艺已经超越了传统制造理论的界限,对电路的物理实现具有不可忽略的影响。
因此,片上系统所依赖的半导体物理实现方式,面临着多样化和复杂化的趋势,设计周期也越来越长。
目前越来越多的设计正向混合信号发展。
最近,IBS Corp做过的一个研究预测,到2006年,所有的集成电路设计中,有73%将为混合信号设计。
目前混合信号技术正是EDA业内最为热门的话题。
设计师在最近才开始注意到混合信号设计并严肃对待,在他们意识到这一领域成为热点之前,EDA公司已经先行多年。
EDA业内领头的三大供应商Mentor Graphics、Synopsys和Cadence在几年前即开始合并或研发模拟和混合信号工具和技术。
其中Mentor Graphics是第一个意识到这一点,并投入力量发展混合信号技术的EDA供应商。
我们先分析数模混合IC设计的流程,简单概括如图:首先要对整个IC芯片进行理论上的设计。
对于模拟部分,可以直接在原理图的输入工具中进行线路设计;而对于数字部分,主要通过各种硬件描述语言来进行设计,比如通用的VHDL及Verilog,数字部分的设计也可以直接输入到原理图工具中。
当完成原理图的设计时,必须对设计及时的进行验证。
如果原理设计没有问题,就说明设计是可行的,但这还停留在理论的阶段,接下来必须将它转换为实际的产品。
这时需要用版图工具将电路设计实现出来,对于模拟电路部分,可以使用定制版图工具;对于数字电路部分,也可以采用P&R(自动布局布线)工具实现。
在完成整个电路各个模块的版图后,再将它们拼装成最终的版图。
这时的版图并不能最终代表前面所验证过的设计,必须对它进行验证。
数模混合IC设计流程1.数模混合IC设计近十年来,随着深亚微米及纳米技术的发展,促使芯片设计与制造由分离IC、ASIC 向SoC转变,现在SoC芯片也由数字SoC全面转向混合SoC,成为真正意义上的系统级芯片。
如今人们可以在一块芯片上集成数亿只晶体管和多种类型的电路结构。
此时芯片的制造工艺已经超越了传统制造理论的界限,对电路的物理实现具有不可忽略的影响。
因此,片上系统所依赖的半导体物理实现方式,面临着多样化和复杂化的趋势,设计周期也越来越长。
目前越来越多的设计正向混合信号发展。
最近,IBS Corp做过的一个研究预测,到2006年,所有的集成电路设计中,有73%将为混合信号设计。
目前混合信号技术正是EDA业内最为热门的话题。
设计师在最近才开始注意到混合信号设计并严肃对待,在他们意识到这一领域成为热点之前,EDA公司已经先行多年。
EDA业内领头的三大供应商Mentor Graphics、Synopsys和Cadence在几年前即开始合并或研发模拟和混合信号工具和技术。
其中Mentor Graphics是第一个意识到这一点,并投入力量发展混合信号技术的EDA供应商。
我们先分析数模混合IC设计的流程,简单概括如图:首先要对整个IC芯片进行理论上的设计。
对于模拟部分,可以直接在原理图的输入工具中进行线路设计;而对于数字部分,主要通过各种硬件描述语言来进行设计,比如通用的VHDL及Verilog,数字部分的设计也可以直接输入到原理图工具中。
当完成原理图的设计时,必须对设计及时的进行验证。
如果原理设计没有问题,就说明设计是可行的,但这还停留在理论的阶段,接下来必须将它转换为实际的产品。
这时需要用版图工具将电路设计实现出来,对于模拟电路部分,可以使用定制版图工具;对于数字电路部分,也可以采用P&R(自动布局布线)工具实现。
在完成整个电路各个模块的版图后,再将它们拼装成最终的版图。
这时的版图并不能最终代表前面所验证过的设计,必须对它进行验证。
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。