ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:169.74KB ,
资源ID:3018661      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3018661.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用SpectreVerilog进行模数混仿.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用SpectreVerilog进行模数混仿.docx

1、用SpectreVerilog进行模数混仿用SpectreVerilog进行模数混仿,以Sigma-Delta ADC为例 loghere loghereSpectreVerilog模数混仿, 模拟部分用Spectre, 数字部分用Verilog-XL. 所以还需要安装Cadence LDV软件, 其内含Verilog-XL仿真器.这里以自行设计的二阶全差分Sigma-Delta ADC为例, 详细介绍用SpectreVerilog的仿真过程. 所用工艺库为TSMC 0.18u,电源电压:1.8V.1. 准备Sigma-Delta ADC分模拟和数字部分两块, 其中模拟部分为调制器, 数字部分

2、为数字滤波器. 如下图. 其中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同时为了直观的观看输出结果,因此把输出的数字字转化为模拟量,这里用Veril

3、og-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:

4、Composer-Symbol.2) 画Symbol. 简单地, 画一个矩形框, 添加几个Lable, 然后添加Pin.3) 添加Pin. 左边输入, 右边输出. 对于多位的pin可以用如out的样式作为pin的名字. 注意: 与模拟部分相连的多位Pin最好不要用一个pin, 而要用多个. 如下图.4) 创建对应的Verilog文件. 在symbol编辑器中, Design菜单-CreatCellView-From CellView. 会弹出的对话框, Tool/Data Type一栏选择Verilog-Editor, 则To View Name会变为functional. 点击OK, 会弹出

5、错误对话框, 点No. 自动弹出VI编辑器, 可以看到已经生成Verilog代码的空壳. 代码文件的路径在VI编辑器的标题栏上. 下面要做的就是把我们的数字模块(不是TestBench)的代码填进去. 如果不想用VI编辑器, 也可以用其他文本编辑器. 复制代码时最好不要动自动生成的代码. 经测试, 所有代码最好放在一个文件中. 这一步之后,数字部分就会有functional和symbol两个View。这样基于Verilog代码的Symbol就创建完了.3. 创建理想DAC这里用Cadence自动生成的理想DAC。 同步骤2,首先创建Symbol,如下图:类似步骤2,Design菜单-Creat

6、CellView-From CellView. Type选择VerilogA-EditorOK,弹出对话框,可以直接按OK,默认设置。弹出新的对话框,选择Digital to Analog Converter, 然后Next。设置位数,电压范围等参数。如下图:Next之后,会出现VerilogA代码,再Save和Finish。完毕。4. 创建顶层原理图.1) 新建步骤1中所说的顶层Schematic视图, 这里名为MixSim, 把模拟的Symbol和上面建立的数字块Symbol放到新建的原理图中, 并连好线. 模拟块输入端的激励源都要加上. 2) 添加数字块的Pin. 把数字块中除了和模拟块

7、相连的输入端添加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 edito

8、r窗口的保存按钮, 关闭退出.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一样, 另外别

9、忘了添加模型库. 不再赘述.4) 添加数字块的测试向量. ADE, 菜单 Setup-Stimuli-Digital, 弹出VI编辑窗口, 窗口的标题栏和信息栏都有测试向量的文件路径, 可以直接修改它. 系统自动生成了一个initial块, 这个initial块不能改动. 现在就可以把Testbench中的代码复制到这个文件中了. 注意: timescale不要复制, 模块名和端口定义不要复制, 模块实例引用不要复制. 也就是只能复制initial块和always块以及parameter语句. 同时注意到, 系统生成的的initial块中把输入信号初始化为零, 因此复制进来的语句一定要避免在0

10、时刻给这些信号赋值. 本例数字块的输入与模拟块共用,因此不用添加代码。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.2V7. 仿真.仿真过程与Spectre一样,设置瞬态仿真时间,输出节点电压。这是ADC仿真结果图:由于搭建整个仿真环境比较复杂, 因此经常会出错, 需要耐心调试,尤其是Verilog代码错误, 仿真器只说有错, 但不知道错在何处, 很不爽.本教程仅适用于初学者,同时请高手指点一二,错误和走弯路都在所难免,谢谢。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1