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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(FPGA入门及Quartus-II使用教程(内部资料).doc)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

FPGA入门及Quartus-II使用教程(内部资料).doc

1、 FPGA入门及Quartus II使用教程 FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。 可以这样讲,ASIC(Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,

2、根据我们的需求进行内部的设计。并且可以通过软件仿真,我们可以事先验证设计的正确性。 第一章 FPGA的基本开发流程 下面我们基于 Altera 公司的 QuantusII 软件来说明FPGA 的开发流程。 下图是一个典型的基于Quartus II的FPGA开发整体流程框图。 1、 建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管理。 2、 建立顶层图。可以这样理解,顶层图是一个容器,将整个工程的各个模块包容在里边,编译的时候就将这些模块整合在一起。也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。

3、 3、 采用ALTERA公司提供的LPM功能模块。Quartus软件环境包含了大量的常用功能模块,比如计数器、累加器、比较器等等。 4、 自己建立模块。由于有些设计中现有的模块功能不能满足具体设计的要求,那就只能自己设计。使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。 5、 将顶层图的各个功能模块连线起来。这个过程类似电路图设计,把各个芯片连起来,组成电路系统。 6、 系统的功能原理图至此已

4、经基本出炉了,下一步就是选择芯片字载体,分配引脚,设置编译选项等等。 7、 编译。这个过程类似软件开发里德编译,但是实际上这个过程比软件的编译复杂的多,因为它最终要实现硬件里边的物理结构,包含了优化逻辑的组合,综合逻辑以及布线等步骤。 8、 编译后会生成2个文件,一个是*.sof文件,一个是*.pof文件,前者可以通过JTAG方式下载到FPGA内部,可以进行调试,但断电后数据丢失;后者通过AS或者PS方式下载到FPGA的配置芯片里边(EEPROM或者FLASH),重新上电后FPGA会通过配置将数据读出。 9、 对于复杂的设计,工程编译好了,我们可以通过Quartus软件或者其他仿真软件来

5、对设计进行反复仿真和验证,直到满足要求。(主要是时序仿真)。 第二章 基于Quartus II的实例 一、建立工程 首先,打开Quartus II软件。 接下来,建议一个新工程 第一行,是所建工程的路径,第二工程项目名称,第三项,是填好后,如下图 下边一直点击NEXT,直到出现以下界面 Family里边选择Sratix II,Available devices里边选择EP2S60F672C5(具体内容根据你所使用的芯片所决定),接着点NEXT,不需要做任何修改了,一直点到Finish。到此为止,工程已经建立完成。需要建立一个

6、Block Diagram/Schematic File,点击File->New出现如下图。 点击OK,建立完成,工程中出现一个Block1.bdf文件。 现在点“保存”是不管用的,建议随便放一个器件后点保存文件为bdf文件。方法是在这个bdf文件空白处双击鼠标,或者右键点鼠标,点insert->symbol 这里边的器件很多,可以再里边输入你所需要的器件,也可以直接点分类,根据分类查找你需要的器件。 点击File->New,选择VHDL File(根据你所使用的编程语言) 点击OK后,再下边的界面就可以编写VHDL程序了。 当然可以根据

7、自己掌握的语言种类进行编程。 VHDL语言,注意:保存的文件名字,必须与实体名字一致,否则编译会出错。 设置当前为最高实体。 点击那个紫色的三角,进行编译 下面就是产生模块了。如图点击就可以 生成模块完成后,回到bdf主界面。双击该界面,再Project下拉栏,就会出现刚才所编译文件生成的模块,左键点击就可以将其放入主原理图实体中,并且今后如果重新改变VHDL程序,必须走这个过程,先设置最高实体,然后编译,产生模块,最后要添加这样如下的过程。 放置模块的时候,通过自己的程序编译产生的模块,会在Project目录下,如图所示

8、 特别注意:已经做好的并且放入到原理图的模块程序如果需要改动,改动后也必须先编译,后产生模块,最后按照如下所示进行模块更新。 根据需求进行选择一下 以后每次要用的时候,都可以双击鼠标,进入project里边进行选择,进行使用。 右键点击模块,点Generate-…… 引脚也可以自己设置输入输出引脚并且命名。 设置当前实体为最高实体,再次进行编译 编译完成后,要分配引脚,通常分配引脚有两种方式,一种是直接在工程分配,这种方式对于引脚较少比较方便,如下图所示。 选择PIN 双击引脚分配处的to和locatio

9、n,就可以确定应用的FPGA引脚分配情况。 分配好引脚后,点击保存,再看原理图,每个引脚后边都有一个“小尾巴”,表示信号线的实际物理引脚分配情况。 然后再编译。最后在点击TOOL->Programmer,或者直接点击下载图标 就会出现下载对话框 点击Hardware Setup 如果你没插USB-BLASTER,打开后不会有显示,如果插上后,这里就会显示有一个硬件可以选择,右上位置选择下载方式。注意:JTAG模式和AS模式接口是不同的 选择好USB-BLASTER后,点Close,然后点Start 当前选择的是JTAG模式,因

10、此下载程序到RAM,可以看调试结果。 至此,FPGA的原理图制作,代码编写流程及下载流程已经全部完毕。现在以一个简单的分频器来讲一下。 第一件事,如同单片机的最小系统一样,FPGA的系统需要一个时钟源作为支撑,FPGA内部有个PLL(锁相环)资源,这个PLL可以对输入频率进行倍频。因此,几乎在每个系统设计的时候,都需要对这个PLL进行设置。如下所示 选择第一个 点NEXT,往下进行选择IO栏目下的ALTPLL,给这个模块起一个名字叫PLL然后点NEXT 根据提示进行选择,选择好了后,点击进入下一个设置 在这里,把所有的勾全部去掉就可以,然

11、后一直点下一步,一直到下面图示, 每个芯片可以设置输出的频率个数不同,当前我用的ep2s60总共有2个PLL,每个PLL可以设置6个不同的频率输出。现在就可以一直点下一步,直到Finish就可以。然后再Project里边将PLL放置到原理图上。 新建一个test_div的程序,程序代码如下 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity test_div is port( clkin:in std_logic;

12、 clkout1:out std_logic; clkout2:out std_logic ); end test_div; architecture fenpin_arc of test_div is signal count1:integer range 0 to 7; --计数寄存器16分频 signal clkbuff1:std_logic; signal count2:integer range 0 to 3; --计数寄存器8分频 signal clkbuff2:std_logic; begin

13、 process(clkin,count1,count2) begin if rising_edge(clkin) then --计数、分频1 if (count1 >= 7) then count1 <= 0; clkbuff1 <= not clkbuff1; else count1 <= count1 + 1;

14、 clkout1 <= clkbuff1; end if; end if; if rising_edge(clkin) then --计数、分频2 if (count2 >= 3) then count2 <= 0; clkbuff2 <= not clkbuff2; else count2 <= count2 +

15、 1; clkout2 <= clkbuff2; end if; end if; end process; end fenpin_arc; 保存程序,设置当前为最高实体,进行编译,编译后产生模块,最终也可以放在原理图上了。用鼠标将所需要连接的线连接起来,然后设置当前为最高实体,进行编译,分配引脚,编译,下载就可以完成了。 同时,除了下载进FPGA中进行调试外,我们还可以提前利用Quartus进行时序仿真。如上边这个程序,生成一个Block放置在原理图上,然后再

16、加上一个PLL,连接起来后,以下图示: 点击Processing->Simulation Debug->Current Vector Inputs 在name处点右键,选择Inset->Inset Node or Bus 点击Node Finder,进入 可以选择引脚,通常我习惯于显示所有引脚,在Filter处选择all,当然也可以选择一些你需要的引脚,其他的引脚不显示,然后点击List,然后再点击加入符号,如图所示 点击OK,一直回到仿真页面,鼠标左键单击输入信号,给输入信号加所需信号,如clkin,是时钟信号,直接点击时钟符号,就可

17、以进行设置 设置好输入后,可以点Edit菜单下的End Time可以选择仿真多长时间。 全部设置好后,点保存,起好名字,然后点Start simulation,便开始进行时序仿真。仿真结束后,可以观察信号时序。 第三章 MATLAB、DSP BUILDER、QUARTUS联合仿真 首先我们了解一个背景,现在在DSP算法软件中最牛的毋庸置疑的就是Matlab了。N多人在用它搭建模型。我们可以把Matlab分为matlab和simulink两部分。Matlab更多的是对数组进行一系列的计算,而这些计算式静态的,纯粹算法上的。而

18、simulink是使用模块化的方式来搭建一个平台,这个模型才是动态的。当我们用matlab做成一个算法的时候,这个算法在实际应用中有可能可以实现,当然也有可能实现不了,更多的是一种理论上的公式。只有当我们用simulink来搭建出一个模型的时候,我们可以知道,它是可以被实现出来的,无论是软件,还是硬件方式。 DSP builder是什么?通过前边的学习,我们知道,FPGA内部就如同一个个小积木。DSP builder就是ALTERA公司工程师,专门用这些小积木已经搭建好了各式各样的小门、小窗、房梁……..而这些一个个做好的小模块,都放到了DSP BUILDER里边。好了,这样,我们就可以在M

19、ATLAB的simulink环境下,用DSP BUILDER的内部小模块,开始堆积我们想要的那栋房子。这一下就省去了我们的好多工作,因为现在很多模块资源都是现成的,不需要我们用VHDL或者是Verilog语言去做这些小模块。当在simulink环境下模拟搭建好了后,我们通过DSP工具,就可以直接转换到Quartus II环境下,进行真正的搭建过程了。当然了,这个过程Quartus II可以完全替代我们去完成。 同样,有一些功能模块,是DSP builder库里边所不具备的,这个时候还可以通过使用Quartus II进行语言编程,生成一个功能模块,并且加载到matlab的simulink库里边

20、进行仿真应用。 利用Matlab软件中的Simulink模块进行通信系统的仿真,并通过DSP Builder软件将系统级和RTL级(寄存器传输级)两个设计领域的设计工具连接起来,把Simulink的设计文件(后缀为.mdl文件)转成相应的硬件描述语言VHDL设计文件(后缀为.vhd文件),以及用于控制综合与编译的TCL脚本,之后即可通过FPGA/CPLD开发工具Quartus II来完成相应的处理。 DSP Builder依赖于数学分析工具Matlab/Simulink,以Simulink的Blockset形式出现,可以在Simulink中进行图形化设计和仿真。在安装DSP Builder

21、软件后,Matlab软件的Simulink库中会自动添加如下两个库:Altera DSP Builder Blockset和Altera DSP Builder Advanced Blockset。后续的仿真及编译工作主要基于Altera DSP Builder Blockset库中的各个模块组成的系统。 下面以Matlab R2009b(Matalb 7.9.0)版本为例,与Altera公司Quartus II 9.1/DSP Builder v9.1软件对应使用,并以BFSK(二进制频移键控)的调制系统为例,详细介绍Simulink的使用步骤。 1. 打开Matlab环境 Mat

22、lab环境界面如图所示,Matlab的主窗口界面被分割成三个窗口:命令窗口(Command Window)、工作区(Workspace)和命令历史记录(Command History)。在命令窗口中可以键入Matlab命令,同时获得Matlab对命令的响应信息、出错警告提示等。 2. 建立工作库 在建立一个新的设计模型前,最好先建立一个新的文件夹,作为工作目录,并把Matlab当前的work目录切换到新建的文件夹下。可以点击“File”中的“Set Path”选项,添加该工作目录路径,如图所示“F:\Program Files\MATLAB\R2009b\work”,并将其移到目录

23、顶部“Move to top”然后保存。在下一次打开Matlab时,可以通过改变主界面中的“Current Folder”,选择该目录路径,改变当前Matlab工作目录。 3、打开Simulink库 单击Matlab界面上的快捷键(Simulink)可以打开Simulink的库文件,如图所示。 上图即为Simulink的库浏览器(Library Browser),在库浏览器的左侧是Simulink Library列表,右侧是选中的Library中的组件、子模块列表。 其中左侧Library列表中的“Simulink”库是Simulink的基本模型库。当安装完DSP Buil

24、der v9.1后,在Simulink的库浏览器中可以看到多出的两个库文件:“Altera DSP Builder Advanced Blockset”和“Altera DSP Builder Blockset”。在以下的DSP Builder应用中,主要是使用“Altera DSP Builder Blockset”库中的组件、子模型来完成各项设计,再使用Simulink完成模型的仿真验证。 4. Simulink的模型文件 在打开Simulink库浏览器后,需要新建一个Simulink的模型文件(后缀为mdl),如图,在Simulink的库浏览器中选择“File”菜单,在出现的菜

25、单项中选择“New”,在弹出的子菜单项中选择新建模型“Model”即可,或者通过直接单击界面上的打开一个空白文件。 5、添加正弦产生模块 如下图,点击Simulink库浏览器左侧的库内树形列表中的“Simulink”条,使其库器件展开,这时会出现一长串树形列表,对基本模型库的子模块(Block)进行了分组。再次点击其中的“Sources”项,选 中库浏览器右侧的“Sine Wave”组件,按住鼠标左键并拖动“Sine Wave”模块到新模型窗口中。 该模块即为BFSK调制的一个输入载波,为了便于确认,双击模块下方的名字“Sine Wave”,将其修改为“fc1”。 双击该模

26、块可以得到“Source Block Parameters: fc1”的对话框,这里包括了该模块功能的介绍,以及各个相关参数的设定。修改参数设置如上图,其中幅度(Amplitude)为2^10-1,表示输入信号位宽(Number of Bits)为11位;频率(Frequency(rad/sec))设定为263.158kHz;初始相位为pi/2表示产生余弦波;由于采样频率为2MHz,采样时间(Sample time)设为1/2000000。设置完成后点击“OK”即可。 可以利用同样的方法放置并设置BFSK调制的另一个输入载波,频率为277.778kHz,其余参数相同即可。 6、添加输入

27、端口模块 如下图,点击Simulink库浏览器左侧的库内树形列表中的“Altera DSP Builder Blockset”条,选择其中的“IO & Bus”项并展开,选中库浏览器右侧的“Input”模块,同样按住鼠标左键将其拖动到模型窗口中。 将该输入端口名称改为“SinIn1”,双击模块,得到如下图的参数设置对话框,设置如下,总线类型(Bus Type)选择有符号整数(Signed Integer),输出位宽(number of bits)设定为11位。 下面把这两个模块连接起来,将鼠标的指针移动到模块的输入或输出端口上,鼠标指针就会变成十字形“+”,这时按住鼠标左键,拖动

28、鼠标就可以连线了。或者先按住“Ctrl”键,然后用鼠标单击第一个模块fc1,再单击第二个模块SinIn1,则会自动产生连线,连线后如图所示。 7、完成BFSK调制模型 按照上述方法,依照BFSK调制系统的原理框图,可以逐步添加各个功能模块以及输入、输出端口,最终完成的BFSK调制模型文件如下图所示。 上图中用到了波形观察模块示波器“Scope”,该模块属于Simulink库下的Sinks库。双击该模块,打开的是一个示波器窗口,其中只有一个信号的波形观察窗口,若希望可以同时观察多路信号,可以点击Scope模块窗口上侧工具栏的第二个工具按钮“Parameters”,参数设

29、置按钮,打开Scope参数设置对话框。在Scope参数设置对话框中有 “Gerneral”(通用)和“Data history”(数据历史) 两个选项页。在“Gerneral”选项页中将“Number of axes”参数改为2,如图所示。点击“OK”按钮确认后,可以看到Scope窗口增加为两个波形观察窗,每个观察窗都可以分别观察信号波形,而且相对独立。 频谱观察模块“Spectrum Scope”属于“Signal Processing Blockset”下的“Signal Processing Sinks”库,可以用来观察输出BFSK调制信号的频谱波形情况。 8、加入时

30、钟模块 展开“Altera DSP Builder Blockset”库下的“AltLab”,选择“Clock”模块添加到模型文件中,并双击模块,设置参数如下图所示。 9、设计文件存盘 完成系统中各个模块的设置与连接后,在进行仿真验证和编译(Signal Compiler)之前,先对设计进行存盘操作。点击新建模型窗口的“File”菜单,在下拉菜单中选择“Save”项,取名并保存,等同于直接点击窗口界面的按钮。 在上述例子中,对新建模型取名为“fskmodu”,模型文件为fskmodu.mdl。在保存完毕后,新建模型窗口的标题栏就会显示模型名称,如下图所示。 注意:对模

31、型文件取名时,尽量用英文字母开头,不使用空格,不用中文,文件名不要过长。 10、Simulink模型仿真 在对模型取名存盘后,就可以对文件进行编译,并把mdl文件转换为VHDL文件。不过现在模型的正确性还是未知的,需要进行仿真验证。Matlab的Simulink环境具有强大的图形化仿真验证功能。用DSP Builder模块设计好一个新的模型后,可以直接在Simulink中进行算法级、系统级仿真验证。 对一个模型文件进行仿真,需要施加合适的激励、一定的仿真步进和仿真周期,并添加合适的观察点和观察方式。在fskmodu模型窗口中,点击“Simulation”菜单,在下拉菜单中选择

32、Configuration Parameters...”菜单项,将弹出fskmodu模型的仿真参数设置对话框“Configuration Parameters: fskmodu/Configuration (Active)”。 该对话框中的“Solver”选项包括了仿真基本的时间设置、步进间隔、方式设置及输出选项设置。具体各项设置如上图所示,最后,点击“OK”按钮确认。 11、启动仿真 在fskmodu模型窗口中选择“Simulation”菜单,再选“Start”项开始仿真,或者直接点击按钮开始。 待仿真结束,双击Scope模块,打开示波器观察窗。下图给出了仿真结果,显示的是系

33、统生成的BFSK调制信号的基带波形及时域波形图,在下面的放大波形图中,可以清晰的看到在不同的基带信号值“0”和“1”下,BFSK信号具有不同的频率,此时生成的是相位不连续的BFSK信号。 在Scope观察窗中,可以使用工具栏中的按钮来放大或缩小波形,或者用鼠标左键选择波形并放大,也可以在波形上单击鼠标右键使用“Autoscale”,使波形自动适配波形观察窗。 模块“fsk modu Spectrum”可以得到BFSK调制信号的频谱波形,如图所示。该BFSK信号在频率为270.468kHz附近(263.158kHz及277.778kHz)两处有明显的波峰,表明实现了BFSK调制信号的

34、产生。 12、编译模型文件 在Simulink中完成仿真验证后,就需要把设计转到硬件上加以实现,并获得针对特定FPGA芯片的VHDL代码,这是整个DSP Builder设计流程中最为关键的一步,包括对模型文件的编译,以及RTL的仿真。 首先需要放置Signal Compiler模块,选择 “Altera DSP Builder Blockset”库中“AltLab”项内的“Signal Compiler”模块,将其拖放到fskmodu.mdl文件中,如图。 双击该模块,在下图所示的对话框中可以选择进行编译所使用的器件类型,此例中选择默认的Stratix Family,以及A

35、UTO Device,单击“Compile”即可对完成的fskmodu.mdl模型文件进行编译。 编译没有错误,成功完成后,点击“OK”即可,然后再次保存fskmodu.mdl模型文件。 13、运行RTL仿真 这一步骤是将Simulink模型文件转化为VHDL语言,并可以利用ModelSim软件进行仿真。 首先添加“TestBench”模块,它也属于“Altera DSP Builder Blockset”库中的“AltLab”项,选择“TestBench”模块并将其拖拽到模型文件中,如图。 双击该模块,可以得到如下对话框“DSPBuilder - Testben

36、ch Generator – fskmodu”。在“Enable Test Bench generation”前面打勾。 然后选择“Advanced”选项页,单击“Generate HDL”可以生成VHDL文件,如下图所示。“Run Simulink”相当于针对Simulink文件的仿真,和前面进行的Simulink仿真相同。如果已安装了ModelSim软件,可以点击“Run ModelSim”,可将该设计模型写入ModelSim,然后利用ModelSim进行时序仿真,在ModelSim中的仿真步骤可以不进行,这并不影响模型向VHDL语言的转化。 最后点击“OK”完成Simulin

37、k模型文件向VHDL语言的转化过程。 到此已经全部完成Simulink以及DSP Builder的使用部分,下面需要进行的是将该DSP Builder设计文件添加到Quartus II的工程中。 14、Simulink到Quartus II的转换 首先建立一个新Project,然后建立一个Block Diagram/Schematic File,便于生成所需要的下载调试文件。名字可以随意起。在此工程中,通过打开Tcl Console窗口,输入source D:/…/…/…/filename_add.tcl,按下回车,例如# source D:/matlab/work/mysino

38、ut_add.tcl(一定要注意是“/”,而不是“\”)将.mdl文件所编译生成的脚本tcl打开。 打开后,点击File,并且右键点击.mdl文件,选择Set as Top-Level Entity,然后进行编译。 编译完成后,再点击Hierarchy,双击当前工程中的实体文件 点击生成模块,然后再将Block文件设置为当前最高实体,就可以将刚才生成的模块放入到Block当中,进行使用了。 当然,通常情况下,这个时候通过DSP builder生成的这个Block模块不能直接应用的,还需要使用硬件编程语言编程模块外围的控制信号,生成模块后进 行连接,具体方法,可以参照第一章的内容。 专业文档供参考,如有帮助请下载。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服