收藏 分享(赏)

常用EDA工具软件.ppt

上传人:精品资料 文档编号:11310978 上传时间:2020-03-16 格式:PPT 页数:68 大小:2.82MB
下载 相关 举报
常用EDA工具软件.ppt_第1页
第1页 / 共68页
常用EDA工具软件.ppt_第2页
第2页 / 共68页
常用EDA工具软件.ppt_第3页
第3页 / 共68页
常用EDA工具软件.ppt_第4页
第4页 / 共68页
常用EDA工具软件.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、2020/3/16,1,第5章 常用EDA工具软件,本章概要:本章介绍几种目前世界上比较流行和实用的EDA工具软件,包括Altera公司的MAX+PLUS 、ModelSim和Matlab,以适应不同读者的需要。这些软件主要是基于PC机平台的,面向FPGA和CPLD或ASIC设计,比较适合学校教学、项目开发和相关的科研。 知识要点: (1)MAX+PLUS 工具软件的使用方法。 (2)ModelSim工具软件的使用方法。 (3)基于Matlab/DSP Builder的DSP模块设计。,2020/3/16,2,5.1 MAX+plus,5.1.1 MAX+PLUS 的安装 1. 运行setup

2、.exe 2. 遵守协议 3.授权(LICENSE)文件复制名称为ALTERA.DAT的LICENSE文件,到MAX+plus II的安装目录下(如c:maxplus2)。运行MAX+plus II,进入MAX+plus II集成环境,选择“Option“License Setup“菜单,弹出一个对话框。按“Browse“按钮,可以选择,此时选择前面复制时进入的授权文件即可。,2020/3/16,3,MAX+plus软件授权操作提示对话框,2020/3/16,4,5.1.2 MAX+plus原理图输入法 用MAX+plus II的原理图输入设计法进行数字系统设计时,不需要任何硬件描述语言知识,

3、在掌握了数字逻辑电路的基本知识后,即可使用MAX+plus II提供EDA平台,设计数字电路。为了方便电路设计,设计者首先应当在计算机中建立自己的工程目录。例如,将自己的全部EDA设计文件放在d:myeda文件夹中,而为图形编辑设计建立d:myedamygdf文件夹,为VHDL文本编辑设计建立d:myedamyvhdl等。,2020/3/16,5,MAX+plus 原理图输入的基本操作,2020/3/16,6,编辑图形设计文件执行“File”“New”命令,弹出编辑文件类型对话框,选择“Graphic Editor file”后单击 “OK”按钮。,2020/3/16,7,MAX+plus的图

4、形编辑界面,2020/3/16,8,在原理图编辑窗中的任何一个位置上双击鼠标的左键,将弹出一个元件选择窗,或者点鼠标右键,选择输入元件项Enter Symbol,也可以出现这个元件选择窗。,2020/3/16,9,半加器(h_adder.gdf)设计项目示意图,2020/3/16,10,2. 编译设计图形文件设计好的图形文件一定要通过MAX+plusII的编译。在MAX+plus集成环境下,执行“MAX+plus”菜单下的“Compiler”命令,在弹出的编译对话框按“START”键,即可对h_adder.gdf文件进行编译。,在编译中,MAX+plusII自动完成编译网表提取(Compile

5、r Netlist Extractor)、数据库建立(Database Builder)、逻辑综合(Logic Synthesizer)、逻辑分割(Partitioner)、适配(Fitter)、延时网表提取(Timing SNF Extractor)和编程文件汇编(Assembler)等操作。,2020/3/16,11,3. 产生元件符号在MAXplusII集成环境下,执行“File”菜单下的“Create Default Symbol”命令,将通过编译的GDF文件产生一个元件符号,并保存在工程目录中。元件符号可以被其他图形设计文件调用,实现多层次的系统电路设计。,半加器元件符号,2020/

6、3/16,12,4. 功能仿真设计文件仿真,也称为模拟(Simulation),是对电路设计的一种间接的检测方法。对电路设计的逻辑行为和功能进行模拟检测,可以获得许多设计错误及改进方面的信息。对于大型系统的设计,能进行可靠、快速、全面的仿真尤为重要。仿真包括编辑波形文件、波形文件存盘和执行仿真文件等操作。,2020/3/16,13,5. 编程下载设计文件 上述的仿真仅是用来检查设计电路的逻辑功能是否正确,与实际编程下载的目标芯片还没有联系。为了获得与目标器件对应的、精确的时序仿真文件,在对文件编译前必须选定设计项目的目标器件,在Max+plusII环境中主要选Altera公司的FPGA或CPL

7、D。编程下载包括选择目标芯片、引脚锁定、编译和编程下载等操作。完成选择目标芯片、引脚锁定再编译后再进行的仿真称为时序仿真,此时的仿真是针对具体的目标芯片进行的。,2020/3/16,14,1)选择目标芯片 执行“Assign”的“Device”命令,选择下载芯片型号。在“Device Family”中选择“FLE10K”,在Device列表中选择“EPF10KLC84-4”芯片型号。,2020/3/16,15,2)锁定引脚选择EDA实验/开发设备GW48的实验结构图NO.6, 用“键7”和“键8”分别作为A、B输入按键,接PIO12和PIO13 。 用“D8”和“D7”作为设计电路的进位CO与

8、和SO输出显示 接PIO23和PIO22 (PIO39/65)。,6. 设计电路硬件调试按实验板上的“模式选择”键,选择模式NO.6,执行向EPF10K10编程下载配置后,按动GW48实验板上的高低电平输入键“键7”和“键8”,得到A、B不同的输入组合;观察“D8”和“D7”发光二极管显示的结果是否正确。,2020/3/16,16,5.1.3 原理图输入法的层次化设计层次化设计也称为“自底向上”的设计方法,即将一个大的设计项目分解为若干个子项目或若干个层次来完成。先从底层的电路设计开始,然后在高层次的设计中逐级调用低层次的设计结果,直至最后系统电路的实现。对于每个层次的设计结果,都经过严格的仿

9、真验证,尽量减少系统设计中的错误。 例4位加法器的设计4位加法器由4个1位全加器构成,它的底层设计文件是1位全加器。,2020/3/16,17,1位全加器的原理图,全加器元件符号,2020/3/16,18,4位加法器原理图,2020/3/16,19,5.2 ModelSim,ModelSim是一种快速而又方便的HDL编译型仿真工具,支持VHDL和Verilog HDL的编辑、编译和仿真。ModelSim有一系列产品,它们可以在Unix平台和Windows平台上工作,目前主要分为MoelSim/VHDL(或ModelSim/Verilog-OEM)、MoelSim/LNL (支持VHDL或Ver

10、ilog的版本,但不同时支持VHDL和Verilog)、ModelSim/PLUS(支持VHDL和Verilog的版本,包括混合仿真)和ModelSim/SE(主要版本,功能比ModelSim/Plus更强大)等不同版本。,2020/3/16,20,6.2.1 ModelSim的安装ModelSim的安装分为软件安装和许可文件安装两个过程。 1. ModelSim软件安装插入ModelSim光盘后,执行“setup”安装命令,根据屏幕提示完成ModelSim的安装。安装结束后,将License.dat拷贝到Modeltech_5.8c安装目录下,并将附在光盘上的lmgr326b.dll文件拷贝

11、到 Modeltech_5.8c WIN32 目录下替换原文件,重新启动计算机。,2020/3/16,21,2. ModelSim许可文件安装计算机的“开始”菜单的“程序”选项中,选择“ModelSim XE II Eval 5.8C”中的“Licening Wizard”命令,在弹出的许可文件安装的对话框中点击“Continue”按钮,然后在弹出许可文件位置(License File Location)对话框中输入“C: Modeltech_5.8cwin32license.dat ”许可文件后按“OK”。,许可文件安装对话框,2020/3/16,22,6.2.2 ModelSim的使用方法

12、ModelSim是Unix下的QuickHDL发展来,Windows版本的ModelSim保留了部分Unix风格,可以使用键盘完成所有操作,但也提供了用户图形界面接口。ModelSim有交互命令方式(即在ModelSim的主窗口通过输入命令实现编辑、编译和仿真操作)、图形用户交互方式(即通过菜单进行交互)和批处理方式(类似DOS批处理或Unix的shell工作方式)等三种执行方式。,2020/3/16,23,ModelSim启动后,首先呈现出的主窗口(Main Windows)界面,主窗口中包括命令窗口(Transcript)、工作区(Workspace)和工具栏。在命令窗口中可以输入Mode

13、Sim的命令,并获得执行信息;在工作区中用树状列表(Tree List)的形式来观察库(Library)、项目源文件(Project)和设计仿真的结构。,2020/3/16,24,在使用ModelSim之前,应事先建立用户自己的工程文件夹,用于存放各种设计文件和仿真文件,然后还要建立work库。在VHDL中work是默认的工作库,因此ModelSim中必须首先建立一个work库。,建立新项目对话框,2020/3/16,25,1. ModelSim编辑方法在ModelSim的主窗口界面,执行“File”“New”“Source”“VHDL”命令,进入ModelSim的VHDL(或Verilog

14、HDL)编辑方式。在ModelSim的编辑方式(source)界面输入十进制加法计数器的VHDL源程序,并用cnt4m.vhd为文件名,存入用户自己的工程文件夹中。,进入ModelSim编辑方式的界面,2020/3/16,26,ModelSim编辑方式的界面,2020/3/16,27,2. ModelSim编译方法完成源程序的编辑后,在ModelSim编辑方式窗口执行“Tools”“Compile”命令,在弹出的编译HDL源文件(Compile HDL Source File)对话框中,按“Compile”按钮,即可对源程序进行编译,编译成功后,cnt10m的设计实体就会出现在work库中。,

15、ModelSim的编译方式界面,2020/3/16,28,3. ModelSim仿真方法 ModelSim仿真包括装载设计文件、设置激励信号和仿真等操作过程。 (1)装载设计文件执行“Simulate”“Simulate”命令,在弹出的仿真文件装载对话框中,用鼠标将work库中的cnt10m点黑选中,然后按“Add”键,再按“Load”键,即可完成设计文件的装载,此时工作区会出现“Sim”标签,表示装载成功。,2020/3/16,29,设计文件装载对话框,2020/3/16,30,(2)设置仿真激励信号执行“View”“Signals”命令,打开信号(Signals)窗口,经过装载的十进制加法

16、计数器设计电路的复位输入端clr、时钟输入端clk和输出端cnt已在窗口内。,ModelSim的信号窗口,2020/3/16,31,将ModelSim信号(Signal)窗口中的复位输入信号clr用鼠标点亮选中后,执行“Edit”“force”命令,在弹出的被选信号激励(Force Selected Signal)对话框中将“Value:”中的数值改写为1,则为clr当前赋1值。另外,“Delay For:”中的值是信号赋值前的延迟时间,“Cancei After:”中的值是仿真取消后的值,这两个参数一般可以不填。被选激励信号的值确定后,按“OK”键结束Force赋值操作。,为clr赋值的对话

17、框,2020/3/16,32,将ModelSim的Signal窗口中的时钟输入信号clk用鼠标点亮选中后,执行“Edit”“Clock”命令,在弹出的定义时钟(Define Clock)对话框中,时钟信号的主要参数基本设置好,其中“Period”参数是时钟的周期,已经预先设置为100标准单位;“Duty”参数是时钟波形的高电平持续时间,已经预先设置为50个标准单位,表示预先设置的Clock的占空比为50,即方波。另外,“offset”参数是补偿时间,“Cancel”参数是取消时间。Clock设置完毕后按“OK”键确定。,定义时钟对话框,2020/3/16,33,当全部激励信号设置完毕后,将Mo

18、delSim的Signal窗口中全部端口信号用鼠标点亮选中,然后执行“Add”“Wave”“Selected Signals”命令,即可将选中的端口信号加入到ModelSim的波形(Wave)窗口中。,选择端口信号操作示意图,2020/3/16,34,(3)仿真设计文件执行“View”“Signals”命令,打开波形(Wave)窗口。在Wave窗口的工具栏中,各主要按键的功能如图所示。,2020/3/16,35,按动ModelSim的波形窗口上的“运行”按键,仿真波形将按照按一次键输出一个时钟周期的方式对设计电路进行仿真。在仿真期间,可以用ModelSim的Signal窗口,改变复位信号clr

19、的值,来验证复位信号的功能。,十进制加法计数器cnt10m的仿真波形,2020/3/16,36,6.2.3 ModelSim与MAX+plusII的接口ModelSim是一种快速仿真工具,但对设计文件的输入编辑与编译不如MAX+plusII那样方便快捷。因此,在EDA设计过程中,设计者常用MAX+plusII来完成HDL设计文件的输入编辑与编译,再用ModelSim对设计文件进行仿真。由于ModelSim是编译型仿真器,使用编译后的HDL库进行仿真,因此在进行仿真前,必须编译所以待仿真的HDL文件成为仿真库,在编译时获得优化,提高仿真速度。,2020/3/16,37,编译时执行“Compile

20、”“Compile”命令,在弹出的在弹出的“Compile HDL Source File”对话框的“查找范围:”栏目输入或选择MAX+plusII设计文件夹,则该文件中的HDL源文件将全部出现在对话框中,然后用鼠标将选中的源文件点黑选中,或者直接把选中的源文件名输入“文件名”栏目中,按“Compile”按钮,即可对源程序进行编译。编译成功后,选中源文件的设计实体就会出现在work库中。,ModelSim的编译方式界面,2020/3/16,38,ModelSim仿真属于功能仿真,输出波形没有延迟。为了对设计文件进行门级时序仿真,必须用MAX+plusII对设计文件进行综合和适配,再把适配后的网

21、表文件导入到ModelSim仿真环境中进行门级时序仿真。MAX+plusII支持多种VHDL和Verilog HDL网表格式,不同的网表格式ModelSim仿真处理不同,因此在MAX+plusII中还必须进行设置。在MAX+plusII对设计文件进行编译时,可以执行“Interface”“VHDL Netlist Writer Settings”命令,对VHDL的网表格式进行设置;执行“Interface”“Verilog Netlist Writer Settings”命令,对Verilog HDL的网表格式进行设置。在MAX+plusII中已将VHDL的网表格式默认设置为“VHDL Out

22、put File.vho”文件,将Verilog HDL的网表格式默认设置为“Verilog Output File.vo”文件。,2020/3/16,39,在对VHDL或Verilog HDL设计文件进行编译前,打开MAX+plusII 的“Interface”界面,将“VHDL Netlist Writer”和“Verilog Netlist Writer”选项前加上“”,如图所示,则在对设计文件进行编译后,生成VHDL网表文件.vho,或者Verilog HDL的网表文件.vo。,在MAX+plus中进行设置的示意图,2020/3/16,40,6.2.4 ModelSim交互命令方式仿真

23、ModelSim交互命令方式,是在ModelSim的主窗口的命令窗口上,通过输入命令来实现的,具有更好的调试和交互功能。ModelSim提供了多种指令,既可以单步,也可以构成批处理文件,用来控制编辑、编译和仿真流程。ModelSim用于仿真的主要指令包括Run、Force、View等指令,其他指令可参考ModelSim说明书或帮助。,2020/3/16,41,1. Run指令 指令格式:Run 其中, 参数timesteps(时间步长)和time_unit(时间单位)是可选项,time_unit可以是fs(1015秒),ps(1012秒)ns(109秒)ms(106秒),sec(秒)这几种。

24、指令功能:运行(仿真)并指定时间及单元。 例如,“run”表示运行;“run 1000”表示运行1000个默认的时间单元(ps);“run 2500 ns”表示运行2500ns;“run continue”表示继续运行;“run all”表示运行全程。,2020/3/16,42,2. force指令 指令格式:force , 其中,参数item_name 不能缺省,它可以是端口信号,也可以是内部信号,且还支持通配符号,但只能匹配一个;value 也不能缺省,其类型必须与item_name 一致;time是可选项,支持时间单元。 例如,“force clr 1”表示为clr赋值1;“force

25、clr 1 100”表示经历100个默认时间单元延迟后为clr赋值1;“force clr 1,0 1000”表示为clr赋值1后经历1000默认时间单元延迟后为clr赋值0。,2020/3/16,43,3. force repeat指令 指令格式:force , repeat 指令功能:每隔一定的周期(period)重复一定的force命令。该指令常用来产生时钟信号。 例如,“force clk 0 0, 1 30 -repeat 100”表示强制clk从0时间单元开始,起始电平为0,结束电平为1,忽略时间(即0电平保持时间)为30个默认时间单元,周期为100个默认时间单元,占空比为(100

26、-30)/100=70%。,2020/3/16,44,4. force cancel指令指令格式:force cancel 指令功能:执行period周期时间后取消force命令。例如,“force clk 0 0, 1 30 -repeat 60 -cancel 1000” 强制clk从0时间单元开始,直到1000个时间单元结束。,5. View指令指令格式:view 窗口名指令功能:打开ModelSim的窗口。例如,“view souce”是打开源代码窗口;“view wave”是打开波形窗口;“view list”是打开列表窗口;“view variables”是打开变量窗口;“view

27、 signals”是打开信号窗口;“view all”是打开所有窗口。,2020/3/16,45,6.2.5 ModelSim批处理工作方式如果采用单步指令来控制仿真流程,每次都要输入相应的指令,是很繁琐的事情。ModelSim提供了一个简化方式,即可以把这些命令形成一个批处理文件后再执行。 在ModelSim的主窗口,执行“File”“New”“Source”“DO”命令,进入ModelSim的DO文件编辑方式。在编辑窗口输入下列计数器仿真批处理文件(cnt10m.do)的代码: vsim t10m force -freeze sim:/cnt10m/clk 1 0, 0 50 ns -re

28、peat 100 /设置时钟 force -freeze sim:/cnt10m/rst 0, 1 200, 0 1000 /设置复位信号 force -freeze sim:/cnt10m/ena 1, 0 2200, 1 2600 /设置使能信号 add wave -r /* run 10000,2020/3/16,46,完成计数器仿真批处理文件的编辑后,用“cnt10m.do”为文件名保存在与计数器设计文件相同的文件夹中(.do是DO文件的属性后缀),并通过ModelSim的编译。 在ModelSim的命令窗口中执行“do cnt10m.do”,完成对计数器设计(cnt10m)的仿真。,

29、2020/3/16,47,6.3基于Matlab/DSP Builder的DSP模块设计,Matlab是当前国际控制界最流行的面向工程与科学计算的高级语言。Altera公司充分利用了Matlab的优势,将Quartus II与其进行无缝连接,完成DSP等复杂系统的设计。 本节介绍利用Matlab/DSP Builder工具进行DSP模块设计、Matlab模型仿真、SignalCompiler使用方法、使用Modelsim进行RTL级仿真、使用Quartus II实现时序仿真、使用Quartus II硬件实现与测试。下面以一个简单的正弦信号调制电路的设计为例,介绍基于Matlab/DSP Bui

30、lder的DSP开发技术。,5.3.1 设计原理正弦信号调制电路电路由阶梯信号发生器模块IncCounter、正弦函数值查找表模块SinLUT、延时模块Delay、乘法器模块Product、数据控制模块DATAIN和输出模块Output等6个部分构成。阶梯信号发生器模块IncCounter产生线性递增的地址信号,送往SinLUT查找表。SinLUT是一个正弦函数值的查找表模块,由递增的地址获得正弦波值输出,输出的8位正弦波数据经延时模块Delay后送往Product乘法模块,与DATAIN的数据相乘生成正弦波调制的数字信号,由Output输出。Output输出的数据送往D/A即可获得正弦调制信

31、号。,正弦信号发生器原理图,5.3.2 建立Matlab设计模型利用Matlab建立DSP设计模型是基于Matlab/DSP Builder的DSP模块设计的主要过程。 1. 运行Matlab启动后的Matlab软件界面面中有三个窗口,分别是命令窗口(Command Windows)、工作区(Workspace)、命令历史(Command History)。在命令窗口中,可以键入命令,同时得到响应信息、出错警告和提示等。,2. 新建一个模型文件在Matlab软件界面执行“File”菜单的“New”,在弹出的子菜单中选择“model”方式,弹出建立MATLAB设计模型的编辑窗口,设计电路的模型在

32、此编辑窗口中完成编辑、分析、仿真控制和生成设计文件。,3. 放置SignalCompiler图标用鼠标左键点击Library browser窗口左侧的库内树形列表中的Altera DSP Builder条,展开DSP Builder库,再点击AltLab项展开AltLab库,用鼠标选中库管理器右侧的SignalCompiler组件图标,按住鼠标左键将SignalCompiler图标拖动到新模型窗口中。SignalCompiler组件图标是一个控制符号,用鼠标左键双击它时,可以启动软件对编辑窗口中的设计模型(电路)进行分析,并引导进入下一步的编译、适配和生成HDL代码文件操作。,4. 放置Inc

33、rement Decrement模块用鼠标将Altera DSP Builder中的Arithmetic库展开,把库中的Increment Decrement模块(图标)拖放到新建模型编辑窗口中。Increment Decrement是阶梯信号发生器模块,用鼠标左键点击Increment Decrement模块下面的文字“Increment Decrement”,就可以修改模块名字。用此方法将模块名其修改为“IncCounter”。,IncCounter模块图标及其参数设置对话框,5. 放置SinLUT(正弦查找表)模块用鼠标将Altera DSP Builder中的Gate & Contro

34、l库展开,将库中的LUT模块拖放到新建模型编辑窗口,将模块的名字修改成“SinLUT”。用鼠标双击SinLUT模块,弹出inLUT模块参数设置对话框。在此对话框中,把Bus Type(总线宽度)设置为“Unsigned Integer”(无符号整数);把Outputnumber of bits(输出位宽)设置为“8”;把LUT Address Width(查找表地址线位宽)设置为“6”。,SinLUT模块图标及其参数设置对话框,6. 放置Delay模块用鼠标将Altera DSP Builder中的Storage库展开,将库中的Delay模块拖放到新建模型编辑窗口。Delay是一个延时环节,用

35、鼠标双击Delay模块,弹出Delay模块参数设置对话框。在Delay模块参数设置对话框中,参数Depth是设置信号延时的深度。当Depth为1时,延时传输函数为1/z1,表示信号传输延时1个时钟周期;当Depth为n时,延时传输函数为1/zn,表示信号传输延时n个时钟周期。,Delay模块图标及其参数设置对话框,7. 放置数据输入端口DATAIN模块用鼠标将Altera DSP Builder中的IO & Bus库展开,将库中的Input模块拖放到新建模型编辑窗口,修改Input模块的名字为DATAIN。鼠标双击DATAIN模块,弹出的DATAIN模块参数设置对话框。在参数设置对话框中,把B

36、us Type设置为“Unsigned Integer”(无符号整数),把number of bits.设置为“1”,表示该输入模块是1位无符号数据输入。该模块在生成HDL代码文件时,是一个名为DATAIN,宽度为1位的输入端口。,DATAIN模块图标及其参数设置对话框,8. 放置乘法器Product模块用鼠标将Altera DSP Builder中的Arithmetic库展开,将库中的Product模块拖放到新建模型编辑窗口。Product有两个输入,一个是经过一个Delay的SinLUT查表输出,另一个是外部1位端口DATAIN送来的数据,用DATAIN对SinLUT查找表输出的控制,产生

37、正弦调制输出。用鼠标双击Product模块,弹出Product模块参数设置对话框,在Product模块参数设置对话框中,Pipeline参数是设置Product模块使用的流水线数,即控制Product的乘积延时几个脉冲周期后出现。,Product模块图标及其参数设置对话框,9. 放置输出端口Output模块用鼠标将Altera DSP Builder中的IO & Bus库展开,将库中的Output模块拖放到新建模型编辑窗口。Output模块的图标如图5.56所示,用鼠标左键双击Output模块图标,弹出Output模块参数设置对话框。在参数设置对话框中,把Bus Type设置为“Unsigne

38、d Integer”(无符号整数),把number of bits.设置为“8”,表示该输出模块是8位无符号数据输出。该模块在生成HDL代码文件时,是一个名为Output,宽度为8位输出端口。,Output模块图标及其参数设置对话框,5.3.3 Matlab模型仿真1. 加入仿真激励模块在Simulink管理器中,用鼠标将Simulink的Sources库展开,将库中的Random Number模块拖放到新建模型编辑窗口,用鼠标双击Random Number 模块图标,弹出Random Number模块参数设置对话框。,Random Number模块图标及其参数设置对话框,2. 加入波形观察模

39、块用鼠标将Simulink的Sinks库展开,将库中的Scope(示波器)模块拖放到新建模型编辑窗口,用鼠标双击Scope(示波器)模块图标,弹出Scope窗口。用鼠标单击Scope窗口工具栏上的“Parameters”(参数设置)按钮(左起第二个工具按钮),弹出Scope模块参数设置对话框。,Scope模块图标(中)、Scope窗口(左)和Genera参数设置窗口(右),3. 设置仿真参数在新建模型编辑窗口中,执行“Simulation”菜单的“Simulation Parameters”命令,弹出Simulation Parameters(仿真参数)设置对话框,其中“Start time”

40、(开始时间)设置为“0.0”,“Stop Time”(结束时间)设定为500,其他设置按照默认。,仿真参数设置对话框,4. 启动仿真执行“Simulation”菜单的“Start”命令开始仿真。如果设计有错误,Matlab会有提示,改正错误后再仿真,直至设计错误为0时才能出现仿真结果。本例设计的正弦信号调制电路的仿真结果如图所示。,正弦波调制电路的仿真波形,5.3.4 SignalCompiler使用方法在Matlab中完成仿真验证后,就需要把设计转到硬件上加以实现。通过DSP Builder可以获得针对特定FPGA芯片的HDL代码。用鼠标左键双击FirstDSP模型窗口中的SignalCom

41、piler模块图标,将启动DSP Builder,在出现对话框中点击“Analyze”(分析)按钮,SignalCompiler就会对FirstDSP模型进行分析,检查模型有无错误。如果设计存在错误,SignalCompiler就会停止分析过程,并在Matlab软件界面的命令窗口给出相关信息。如果设计不存在错误,则在分析结束后打开SignalCompiler窗口。,5.3.5 使用Modelsim进行RTL级仿真在simulink中进行仿真是对模型文件.mdl进行的,属于系统验证性质的仿真,并没有对生成的HDL代码文件进行仿真。在对SignalCompiler进行设置时,将“Generate

42、Stimuli for VHDL Testbench”选中后,DSP Builder在“MDL to VHDL”的模型文件转换过程会自动生成针对HDL仿真器Modelsim的测试文件,因此可以直接使用Modelsim对生成的VHDL代码进行功能仿真。仿真步骤如下:打开Modelsim软件,执行Modelsim软件界面上“Tools”菜单的“Execute Macro”命令,在弹出的文件选择对话框中,把文件目录切换到FirstDSP.vhd的工作目录(如myeda_q)下,在此目录中将“tb_FirstDSP.tcl”文件选中并打开,Modelsim软件就开始对tb_FirstDSP.tcl启动

43、仿真,随后自动打开wave窗口,显示仿真结果。,Modelsim仿真结果,修改波形参数后的Modelsim仿真结果,5.3.6 使用Quartus II实现时序仿真 打开Quartus II集成环境,执行Quartus II软件界面上的“File” 菜单的“Open Project ”命令,在弹出的“Open Project”对话框中,选择FirstDSP模型所在工作目录,打开DSP Builder为Quartus II建立的设计项目“FirstDSP”,并在设计项目中打开VHDL顶层设计文件“firstdsp.vhd”。 在SignalCompiler中的Quartus II编译过程中,具体

44、的器件由Quartus II自动决定,在实际使用中,需要选择具体器件型号。然后执行“Processing”菜单的“Start Compilation”命令对firstdsp.vhd顶层设计文件进行编译。 编译结束后,执行“Processing”菜单的“Start Simulation”命令,启动时序仿真。在仿真过程结束后,点击“Simulator Tool”(仿真工具)界面的“Repot”按钮,系统自动弹出Quartus II仿真波形界面,显示仿真结果。,FirstDSP设计文件的Quartus 仿真波形,5.3.8 DSP Builder的层次设计对于一个复杂的DSP系统设计,如果把所有的模

45、块放在同一个DSP Builder的Simulink图中,设计图就变得非常庞大而复杂,不利于阅图和排错。利用DSP Builder的层次设计,就可以方便地解决这个难题。DSP Builder的层次设计的思路是利用DSP Builder软件工具,将设计好的DSP模型生成子系统(SubSystem),这个子系统是一个的元件,可以独立工作,也可以与其他模块或子系统构成更大的设计模型,还可以作为基层模块,被任意复制到其他设计模型中。,在Matlab软件界面打开正弦信号调制电路设计模型文件(即FirstDDS),用鼠标操作方式将模型文件中的全部模块及模块之间的连线选中(即将键盘的Shift按钮按下后,用鼠标左键点击要选中的模块或连线),但不要将SignalCompiler图标、仿真的激励模块Random Number和波形观察模块Scope选中。用鼠标右键点击原理图选中的部分,在弹出的快捷菜单中选择“Create subsystem”项,完成DSP Builder子系统的生成。生成的子系统如图所示。,生成DSP Builder子系统操作过程,生成的子系统图,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报