基与仿真软件的FPGA的实现_第1页
基与仿真软件的FPGA的实现_第2页
基与仿真软件的FPGA的实现_第3页
基与仿真软件的FPGA的实现_第4页
基与仿真软件的FPGA的实现_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE ii中文摘要本文主要介绍了在目前被广泛用于许多科学中进行科学计算和工程计算的功能强大的数学分析工具MATLAB/Simulink的环境下,利用现代DSP开发的核心工具DSP Builder的实现通信相关仿真的FPGA实现,包括DSP系统设计模型的建立、仿真测试、VHDL转换等一系列开发过程。所使用的硬件环境为GW48-GK2/PK2。关键词FPGA;Matlab;仿真;VHDL语言AbstractThis paper mainly introduce under the powerful math analyze tool which had used for many scienc

2、e computes and projects computes MATLAB/Simulink,using the modern DSP development tool :DSP Builder to complete the simulink about the communication System and using the results for build one FPGA system. Include establish the modem test the simulink ,VHDL language transition and so on.The hardware

3、support: GW48-GK2/PK2.KeywordFPGA;Matlab;simulink;VHDL language目录中文摘要i关键词iAbstractiiKeywordii第一章 概述1一、引言1二、设计思想1第二章 FPGA开发平台(GW48-GK2/PK2)2一、FPGA的介绍2二、VHDL语言4三、开发平台的介绍6四、软件MAX+plus与平台的联合调试9第三章 基于Matlab的仿真的实现18一、Matlab/simulink的介绍18二、正弦波发生器的Simulink仿真20三、幅度调制AM的Simulink仿真22第四章 仿真结果的VHDL代码转换23一、DSP Bu

4、ilder的介绍及安装23二、转换过程及VHDL代码25结论29致谢30参考文献31基于仿真软件的FPGA实现PAGE 42基与仿真软件的FPGA的实现第一章基与仿真软件的FPGA的实现概述一、引言 当前,通信讯技术的发展日新月异,通信系统建设可采用的技术有多种选择,同时,通信系统的功能要求也越来越高,系统建设愈加复杂,系统建设经费不断增加。传统的试验设计手段已经不能适应技术发展的需要。而通信系统的计算机模拟仿真技术日益显示出其巨大的优越性,通信原理课程教学中,在硬件电路实验的同时增加计算机仿真实验,不仅能够帮助学生理解和掌握课程原理,而且对培养学生的科研创新能力具有十分重要的意义,同时也大大

5、节省了硬件电路实验中的设备更新的不断投资。随着CPLD/FPGA被越来越多应用于通信、DSP、微机等系统,对设计软件的仿真功能提出了更高的要求。MAX+PLUS II是Altera公司推出的功能强大的设计及仿真软件,提供了从多种方法输入、编译一直到仿真的一系列配套功能,其中手工设计仿真输入节点只适用于输入信号比较简单的情况,对于像随机噪声这样的复杂信号就无能为力了。MATLAB是Mathworks公司推出的一种面向科学与工程计算的高级语言软件,它集科学计算、自动控制、信号处理、神经网络、图像处理等于一体,可以方便地产生各种信号,进行各种变换、统计。它的这些特点正好可以弥补MAX+PLUS II

6、在仿真功能上的缺陷。因此,可以利用MATLAB来产生MAX+PLUS II复杂仿真的输入信号。 数字信号处理技术日新月异,从早期的单片机到目前正在广泛应用的DSP技术,不断向着高处理速度,高输入输出带宽方向发展。随着大规模集成电路技术的日益成熟,不同种类的DSP均已达到相当高的处理能力,能够满足日常生产,生活乃至通讯,雷达等特殊应用的需要。现在的设计技术人员越来越多的将目光转向数字信号处理平台技术的易用性,灵活性和可扩展性,以及系统平台的低成本,期待着一种应用方便,能够灵活配置,可根据用户需求做相应设计和扩展的处理平台的出现。因此,传统的FPGA处理技术近年来越来越得到市场重视。二、设计思想本

7、设计主要想利用在目前被广泛用于许多科学中进行科学计算和工程计算的功能强大的数学分析工具MATLAB/Simulink来建立通信系统的仿真模型,然后利用现代DSP开发的核心工具DSP Builder来实现通信相关仿真的FPGA实现。具体包括:DSP系统设计模型的建立(本设计主要介绍:正弦波发生器及AM幅度调制)熟悉硬件环境GW48-GK2/PK2及FPGA芯片仿真测试(软件)VHDL语言的学习及模型的VHDL程序转换程序下载及测试(硬件) 等一系列开发过程第二章 FPGA开发平台(GW48-GK2/PK2)一、FPGA的介绍FPGA现场可编程门阵列技术是二十年前出现,而在近几年快速发展的可编程逻

8、辑器件技术。这种基于EDA技术的芯片正在成为电子系统设计的主流。大规模可编程逻辑器件FPGA是当今应用最广泛的可编程专用集成电路(ASIC)。设计人员利用它可以在办公室或实验室里设计出所需的专用集成电路,从而大大缩短了产品上市时间,降低了开发成本。此外,FPGA还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。因此,FPGA技术的应用前景非常广阔。美国赢通系统公司(Wincom Systems)推出一款令人惊叹的服务器。这款专为网站运行而设计的服务器尺寸仅有DVD播放机大小,工作能力却相当于,甚至超过50台戴尔、IBM或SUN公司售价5000美元的服务器。

9、 赢通公司的这款服务器并未采用目前电脑中不可或缺的微处理器。传统的个人电脑及服务器通常采用英特尔的奔腾处理器或SUN计算机系统公司的SPARC芯片作为中央处理单元。而赢通的这一产品却没有采用微处理器,而是由FPGA芯片驱动。FPGA芯片的运行速度比奔腾处理器慢,但可并行处理多项任务,而微处理器一次仅能处理一项任务。因此,赢通公司的服务器只需配置几个价格仅为2000多美元的FPGA芯片,便可击败SUN计算机系统公司的服务器或采用英特尔处理器的电脑,“我们的服务器处理速度要比普通服务器快50到300倍”。FPGA芯片在一定程度上正在蚕食微处理器的市场。FPGA芯片也开始用于消费类的电子设备中,包括

10、手机和数码相机。飞利浦、诺基亚、Palm及索尼均在其消费类的电子产品中采用了FPGA芯片。XILINX的首席执行官W.Roelandts亲眼目睹了FPGA如何改变电脑构架。50多年前,匈牙利数学家纽曼(John von Neumann)提出了电脑的设计构想通过中央处理器从存储器中存取数据,并逐一处理各项任务。现在,通过采用可编程芯片FPGA取代微处理器,电脑可并行处理多项任务。W.Roelandts说,“由纽曼提出的电脑架构已经走到尽头”,“可编程芯片将掀起下一轮应用高潮。尽管FPGA芯片的时钟频率要低于奔腾处理器,但是由于FPGA芯片可并行处理各种不同的运算,所以可完成许多复杂的任务。例如网

11、页显示,全球天气建摸及基因组合核对等,而且处理速度比奔腾处理器或数字信号处理器快得多。在通用计算方面,FPGA仍然不敌Intel的处理器。对于那些只需要进行重复单任务操作的机器而言,使用FPGA芯片显然是大材小用。位于内华达州的TimeLogic公司也间接受益于FPGA。戴尔和SUN公司生产的某些标准服务器采用了ALTERA公司的FPGA芯片。 TimeLogic公司对这些标准服务器加以改进之后,生产了一种用于基因研究的高速处理设备。“我们的设备比原来的产品至少快1000倍”, TimeLogic公司总监Christopher Hoover说。该公司的这一设备售价25万美元。马里兰州的Anna

12、polis Micro Systems公司在其电脑芯片电路板中也集成了XILINX的FPGA芯片,以提高产品性能。又如加州的BlueArc公司用ALTERA的FPGA开发出一种存储器产品,其速度比Network Appliance和EMC公司的竞争产品更快。华盛顿州Bellevue市的MidStream Technologies公司采用XILINX的FPGA,为有限电视运营商开发视频流服务器。这款服务器高仅3.5英尺,采用了2片FPGA芯片,可同时提供425路视频流信号,比基于通用微处理器的服务器速度更快。 超级电脑是科技世界中的极品:售价奇高,速度飞快,集成了数以千计的微处理器。但这种超级电

13、脑也浪费了非常多的芯片资源,每个处理器只能进行单任务操作,大部分功能难以充分发挥。现在有了另一种更为简洁的设计:设计工程师开始采用FPGA芯片来武装超级电脑,取代了原先大量的英特尔奔腾处理器。经过编程,FPGA芯片可并行处理多项任务,从而使所有电路都能随时发挥作用。FPGA芯片还可以反复编程,而且几乎可瞬时完成。在某一时刻它可以为美国国防部预报全球天气状况,下一时刻又可根据高盛公司(Goldman Sachs)做的主要利率对冲情况来评估债券市场的风险。下一代超级电脑将基于可编程逻辑器件,这种机器的功能将比目前最大的超级电脑还要强大许多。其中的秘诀在于,设计者可以把自己的想法编成程序代码,然后让

14、FPGA芯片去实现。犹他州的Star Bridge Systems公司声称已经解决了这一问题。该公司使用FPGA和自己的Viva编程语言开发出了“超级电脑(hypercomputer):“运行速度无与伦比”。对该超级电脑进行测试的美国国家航空航天局(NASA)科学家表示,这一产品的性能令人过目难忘。美国加州大学伯克利分校(University of California, Berkeley)和杨百翰大学(Brigham Young University)的研究员也正在设计基于FPGA的电脑,这些电脑可在运行中实现动态重配置。这对定位危险目标等军事应用和面容识别一类的计算密集型安全应用十分有用。

15、二、VHDL语言 (Very-High-Speed Integrated Circuit Hardware Description Language) VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取

16、代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHD

17、L的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语

18、句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。三、开发平台的介绍 GW48系统主板结构与使用方法附图GW48-GK/PK

19、系统目标板插座引脚信号图该系统的实验电路结构是可控的。即可通过控制接口键SW9,使之改变连接方式以适应不同的实验需要。因而,从物理结构上看,实验板的电路结构是固定的,但其内部的信息流在主控器的控制下,电路结构将发生变化。这种“多任务重配置”设计方案的目的有3个:1.适应更多的实验与开发项目;2. 适应更多的PLD公司的器件;3. 适应更多的不同封装的FPGA和CPLD器件。系统板面主要部件及其使用方法说明如下(请参看相应的实验板板面和附图1-1A)。 附表 在线编程坐各引脚与不同PLD公司器件编程下载接口说明PLD公司LATTICEALTERA/ATMEL XILINXVANTIS编程座引脚I

20、spLSI CPLD FPGACPLD FPGA CPLD TCK (1) SCLK TCK DCLKTCK CCLK TCK TDO (3) MODE TDOCONF_DONE TDO DONE TMS TMS (5)ISPEN TMS nCONFIGTMS/PROGRAMENABLE nSTA (7) SDO nSTATUS TDO TDI (9) SDI TDI DATA0TDI DIN TDI SEL0GNDVCC*VCC*GNDGNDVCC* SEL1GNDVCC*VCC*VCC*VCC*GND以下是对GW48系统主板功能块的注释,但请注意,有的功能块仅GW48-GK或GW48-PK

21、系统存在:(1) SW9 :按动该键能使实验板产生12种不同的实验电路结构。这些结构如第二节的13 张实验电路结构图所示。例如选择了“NO.3”图,须按动系统板上的SW9键,直至数码管SWG9显示“3”,于是系统即进入了NO.3 图所示的实验电路结构。(2) B2 :这是一块插于主系统板上的目标芯片适配座。对于不同的目标芯片可配不同的适配座。可用的目标芯片包括目前世界上最大的六家FPGA/CPLD厂商几乎所有CPLD、FPGA和所有ispPAC等模拟EDA器件 。 (3)混合工作电压使用:对于低压FPGA/CPLD目标器件,在GW48系统上的设计方法与使用方法完全与5V器件一致,只是要对主板的

22、跳线作一选择(对GW48-GK/PK系统不用跳线):JVCC/VS2:跳线JVCC(GW48GK/PK型标为“VS2”)对芯片I/O电压3.3V(VCCIO)或5V(VCC)作选择,对5V器件,必须选“5.0V”。例如,若系统上插的目标器件是EP1K30/50/100或EPF10K30E/50E等,要求将主板上的跳线座“JVCC”短路帽插向“3.3V”一端;将跳线座“JV2”短路帽插向“+2.5V”一端(如果是5V器件,跳线应插向“5.0V”)。(4)并行下载口 :此接口通过下载线与微机的打印机口相连。来自PC机的下载控制信号和CPLD/FPGA的目标码将通过此口,完成对目标芯片的编程下载。编

23、程电路模块能自动识别不同的CPLD/FPGA芯片,并作出相应的下载适配操作。(5)键1键8 :为实验信号控制键,此8个键受“多任务重配置”电路控制,它在每一张电路图中的功能及其与主系统的连接方式随SW9的模式选择而变,使用中需参照第二节中的电路图。(6)键9键12 :实验信号控制键(仅GW48GK/PK型含此键)此4个键不受“多任务重配置”电路控制,使用方法参考“实验电路结构 NO.5”。(7) 数码管18/发光管D1D16 :也受“多任务重配置”电路控制,它们的连线形式也需参照第二节的电路图。(8) 数码管914/发光管D17D22 :不受“多任务重配置”电路控制(仅GW48GK/PK型含此

24、发光管),它们的连线形式和使用方法参考“实验电路结构 NO.5”。(9)扬声器S1:目标芯片的声讯输出,与目标芯片的“SPEAKER”端相接,即PIO50。通过此口可以进行奏乐或了解信号的频率。(10) PS/2接口:通过此接口,可以将PC机的键盘和/或鼠标与GW48系统的目标芯片相连,从而完成PS/2通信与控制方面的接口实验,GW48-GK/PK含另一PS/2接口,参见实验电路结构 NO.5。(11)VGA视频接口:通过它可完成目标芯片对VGA显示器的控制。(12) 单片机接口器件:它与目标板的连接方式也已标于主系统板上:连接方式可参见附图2-13。注意1,对于GW48-GK/PK系统,实验

25、板左侧有一开关,向上拨,将RS232通信口直接与FPGA的PIO31和PIO30相接;向下拨则与89C51单片机的P30和P31端口相接。于是通过此开关可以进行不同的通信实验,详细连接方式可参见附图2-13。平时此开关向下打,不要影响FPGA的工作。(13) RS-232串行通讯接口:此接口电路是为单片机与PC机通讯准备的,由此可以使PC机、单片机、FPGA/CPLD三者实现双向通信。当目标板上FPGA/CPLD器件需要直接与PC机进行串行通讯时,可参见附图2-13,和实验电路结构图NO.5,将实验板右侧的开关向上打“TO FPGA”,从而使目标芯片的PIO31和PIO30与RS232口相接,

26、即使RS232的通信接口直接与目标器件FPGA的PIO30/PIO31相接。而当需要使PC机的RS232串行接口与单片机的P3.0和P3.1口相接时,则应将开关向下打“TO MCU”既可(平时不用时也应保持在个位置)。(14) “AOUT” D/A转换 :利用此电路模块(实验板左下侧),可以完成FPGA/CPLD目标芯片与D/A转换器的接口实验或相应的开发。它们之间的连接方式可参阅“实验电路结构 NO.5” :D/A的模拟信号的输出接口是“AOUT”,示波器可挂接左下角的两个连接端。当使能拨码开关8:“滤波1”时,D/A的模拟输出将获得不同程度的滤波效果 。注意,进行D/A接口实验时,需打开左

27、侧第2个开关,获得+/-12伏电源,实验结束后关上此电源。(15) 系统复位键:此键是系统板上负责监控的微处理器的复位控制键,同时也与接口单片机的复位端相连。因此兼作单片机的复位键。(16) 下载控制开关 :在系统板的左侧第3个开关。当需要对实验板上的目标芯片下载时必须将开关向上打(即“DLOAD”);而当向下打(LOCK)时,将关闭下载口,这时可以将下载并行线拔下而作它用(这时已经下载进FPGA的文件不会由于下载口线的电平变动而丢失);例如拔下的25芯下载线可以与GWAK30+适配板上的并行接口相接,以完成类似逻辑分析仪方面的实验。(17)跳线座SPS :短接“T_F”可以使用在系统频率计。

28、频率输入端在主板右侧标有“频率计”处。模式选择为“A”。短接“PIO48”时,信号PIO48可用,如实验电路结构图NO.1中的PIO48。平时应该短路“PIO48”(18) 目标芯片万能适配座CON1/2 :在目标板的下方有两条80个插针插座(GW48-CK系统),其连接信号如附图1-1B所示,此图为用户对此实验开发系统作二次开发提供了条件。此二座的位置设置方式和各端口的信号定义方式与综合电子设计竞赛开发板GWDVP-B完全兼容! (19)拨8X8数码点阵 :在右上角的模拟EDA器件下载板上还附有一块数码点阵显示块,是通用供阳方式,需要16根接插线和两根电源线连接。详细方法请看“实验演示”的P

29、OWER POINT。 四、软件MAX+plus的开发平台的联合调试 虽然本节介绍的是基于MAX+plusII的文本输入设计方法,但其基本设计流程是具有一般性,因而,设计的基本方法也完全适合于其它EDA工具软件。本节将介绍利用MAX+plusII进行VHDL文本输入设计的基本方法和流程。1.编辑输入并存盘VHDL原文件首先应该建立好工作库目录,以便设计工程项目的存储。作为示例,在此设立目录为: E:muxfile ,作为工作库。以便将设计过程中的相关文件存储在此。任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默认

30、为工作库(Work Library)。一般不同的设计项目最好放在不同的文件夹中,注意,一个设计项目可以包含多个设计文件,如频率计。 图4-1 进入Max+plusII,建立一个新的设计文件 可利用WINDOWS资源管理器,新建一个文件夹。假设本项设计的文件夹取名为muxfile ,在E盘中,路径为:E: muxfile 注意,文件夹不能用中文。接下去是打开MAX+plusII, 选择菜单“File”“New”,出现如图4-1所示的对话框,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。在出现的“Untitled - Text Editor” 文本编辑窗(图

31、4-2)中键入图6-13所示的VHDL程序(2选1多路选择器),输入完毕后,选择菜单“FileSave”,即出现如图4-2所示的“Save As”对话框。首先在“Directories”目录框中选择自己已建立好的存放本文件的目录E:MUXFILE(用鼠标双击此目录,使其打开),然后在“File Name”框中键入文件名MUX21A.VHD,按“OK”按钮,即把输入的文件放在目录E:MUXFILE中了。2.将当前设计设定为工程为了使Max+plusII能对输入的设计项目按设计者的要求进行各项处理,在编译/综合MUX21A.VHD之前,需要设置此文件为顶层文件(最上层文件),或称工程文件:Proj

32、ect,或者说将此项设计设置成工程。选择菜单“File”Project“Set Project to Current File”,当前的设计工程即被指定为MUX21A 。也可以通过选“File”“Project”“Name”,在跳出的“Project Name”窗中指定E:MUXFILE下的MUX21A.VHD为当前的工程。设定后可以看见MAX+plusII主窗左上方(图4-3)的工程项目路径指向为:“e:muxfilemux21a”。这个路径指向很重要!如果设计项目由多个设计文件组成,则应该将它们的主文件,即顶层文件设置成Project。如果要对其中某一底层文件进行单独编译、仿真和测试,也必

33、须首先将其设置成Projcet。图4-2 在文本编辑窗中输入VHDL文件并存盘图4-3 设定当前文件为工程为了获得与目标器件对应的,精确的时序仿真文件,在对文件编译前必须选定最后实现本设计项目的目标器件,在Max+plusII环境中主要选Altera公司的FPGA或CPLD。在设定工程文件后,应该选择用于编程的目标芯片:选择菜单“Assign”“Device”,在弹出的对话框中的“Device Family”下拉栏中,例如选择FLEX10K,此窗口(图4-4)的Device Family是器件序列栏,应该首先在此拦中选定目标器件对应的序列名,如EPM7128S对应的是MAX7000S系列;AC

34、EX1K对应的是ACEX系列等。为了选择EP1K30TC144-3器件,应将此栏下方标有Show only Fastest Speed Grades的勾消去,以便显示出所有速度级别的器件。完成器件选择后,按OK键。图4-4 设定当前文件为工程3.选择VHDL文本编译版本号和排错选菜单“MAX+plus II”“Compiler”菜单(图4-5),图4-5 设定VHDL编译版本号图4-6 设定VHDL编译版本号出现编译窗图(4-5)后,需要根据自己输入的VHDL文本格式选择VHDL文本编译版本号。选择如图4-6所示界面上方的“Interfaces”“VHDL Netlist Reader Set

35、tings”,在弹出的窗口中选“VHDL1987”或“VHDL1993”。这样,编译器将支持87或93版本的VHDL语言。这里,文件MUX21A.VHD属于93版本的表述。由于综合器的VHDL1993版本兼容VHDL1987版本的表述,所以如果设计文件含有VHDL1987或混合表述,都应该选择“VHDL1993”项。在按“START”键运行编译前,还需要作一件事,即在进入编辑窗,选择Processing项,选“Fitter Setting”,进入如图4-7的窗口,消去最上的“Use Quartus Fitter”的勾。图4-7 消去“Use Quartus Fitter”项最后按“START”

36、键,运行编译器。如图4-2所示,MUX21A.VHD文件中的实体结束语句没有加分号“;”,在编译时出现了如图4-7所示的出错信息指示。有时尽管只有1、2个小错,但却会出现大量的出错信息,确定错误所在的最好办法是找到最上一排错误信息指示,用鼠标点成黑色,然后点击如图4-7所示窗口左下方的“Locate”错误定位钮,就能发现在出现文本编译窗中闪动的光标附近找到错误所在。纠正后再次编译,直至排除所有错误。注意闪动的光标指示错误所在只是相对的,有的错误比较复杂,很难用此定位。图4-8 确定设计文件中的错误 VHDL文本编辑中还可能出现许多其它错误,如: 1、错将设计文件存入了根目录,并将其设定成工程,

37、由于没有了工作库,报错信息如下: Error :Cant open VHDL WORK 2、错将设计文件的后缀写成.tdf而非.vhd,在设定工程后编译时,报错信息如下: Error :Line1,File e:muxfilemux21a.tdf: TDF syntax error: . 3、未将设计文件名存为其实体名,如错写为muxa.vhd,设定工程编译时,报错信息如下: Error :Line1,.VHDL Design File muxa.vhd must contain . 4.时序仿真接下来应该测试设计项目的正确性,即逻辑仿真,具体步骤如下: 1、建立波形文件。为此设计建立一个波形

38、测试文件。根据图4-3选择File项及其New,再选择New窗中的Waveform Editer.项,打开波形编辑窗。2、输入信号节点。在图4-9所示的波形编辑窗的上方选择Node项,在下拉菜单中选择输入信号节点项Enter Nodes from SNF。在弹出的窗口(图4-10)中首先点击List键,这时左窗口将列出该项设计所以信号节点。由于设计者有时只需要观察其中部分信号的波形,因此要利用中间的“=”键将需要观察的信号选到右栏中,然后点击OK键即可将测试信号s(I)、b(I)、a(I)和y(O)输入仿真波形编辑窗。图4-9从SNF文件中输入设计文件的信号节点图4-10 列出并选择需要观察的

39、信号节点图4-11 在Options选项中消去网格对齐Snap to Grid的选择(消去勾) 3、设置波形参量。图4-11所示的波形编辑窗中已经调入了半加器的所有节点信号,在为编辑窗的半加器输入信号a和b设定必要的测试电平之前,首先设定相关的仿真参数。如图4-11所示, 在Options选项中消去网格对齐Snap to Grid的选择(消去勾),以便能够任意设置输入电平位置,或设置输入时钟信号的周期。 4、如图4-12,4-13所示,设定仿真时间宽度。选择File项及其End time选项,在End time选择窗中选择适当的仿真时间域,如可选80us(80微秒),以便有足够长的观察时间。

40、5、加上输入信号。图4-11显示了波形编辑窗各按钮的功能。图4-12 设定仿真时间宽度图4-13 设定仿真时间宽度图4-14 为输入信号设定必要的测试电平或数据 图4-15 为输入信号设定必要的输入信号图4-16 mux21a仿真波形在图4-15仿真波形中,多路选择器mux21a的输入端口a和b分别输入时钟周期为400ns和1.2us的时变信号。由图可见,当控制端s为高电平时,y的输出为b的低频率信号,而当s为低电平时,y的输出为a的高频率信号。 图4-17 仿真波形文件存盘 图4-18 运行仿真器 6、波形文件存盘。选择File项及其Save as选项,按OK键即可。存盘窗(图4-17)中的

41、波形文件名是默认的(这里是mux21a.scf),所以直接存盘即可。 7、运行仿真器。选择MAX+plusII项及其中的仿真器Simulator选项,点击跳出的仿真器窗口(图4-18)中的Start键。图4-16是仿真运算完成后的时序波形。注意,刚进入图4-16的窗口时,应该将最下方的滑标拖向最左侧,以便可观察到初始波形。 8、观察分析波形。还可以进一步了解信号的延时情况。图4-16右侧的竖线是测试参考线,它与鼠标箭头间的时间差显示在窗口上方的Interval小窗中。由图可见输入与输出波形间有一个小的延时量。 图4-19 打开延时时序分析窗 5.硬件测试 为在实验系统上验证设计的正确性,完成硬

42、件测试。如果目标器件是EP1K30,建议选择实验电路模式5,用键1(PIO0)控制通道选择信号s ;a和b分别接clock5和clock0;输出信号y接扬声器spker。通过短路帽选择clock0接256Hz信号,clock5接1024Hz信号。 现在根据以上确定的实验模式锁定多路选择器在目标芯片中的具体引脚:首先通过选择“MAX+plus II”“Compiler”菜单,进入编辑窗,然后在“Assign”项中选“Pin / Location / Chip”选项,在跳出的窗口中的Node Name项中输入引脚a ,这时“Pin Type”项会出现“Input”指示字,表明 a 的引脚性质是输入

43、,否则将不出现此字。此时在“PIN”项内输入“126”引脚名,再点击右下方的Add项,此引脚即设定好了;以同样方法分别锁定引脚 b、s、y(图4-20),再点击上方的OK。此4个引脚的选择方法是根据附录实验电路模式“NO.5”设定的。关闭“Pin / Location / Chip”窗后,应点击编辑窗的“Start”,将引脚信息编辑进去。编程下载和硬件测试的步骤如下: (1)选 MAX+PLUS 项中的“Programmer”项,跳出Programmer窗后,选Options项中的硬件设置项“Hardware Setup”,在此窗的下拉窗中选“ByteBlaster (MV)”项,点击OK即可

44、。 (2)将实验板连接好,接好电源,点“Configure”,即进行编程下载。 (3)选实验电路模式“NO.5”后,用短路帽设定clock5和clock0的频率分别为256Hz和1024Hz。当用键1输入高电平时,扬声器发出256Hz低频声,当用键1输入低电平时,扬声器发出1024Hz高频声。当然也可以用示波器观察输出信号。图4-20 引脚锁定图4-21 设置编程下载方式下载方式设定:选择MAX+plusII项及其中的编程器Programmer选项,跳出如图4-21左侧所示的编程器窗口,然后选择Options项的Hardware Setup硬件设置选项,其窗口如图4-21左侧所示。在其下拉菜单

45、中选ByteBlaster(MV)编程方式。此编程方式对应计算机的并行口下载通道,“MV”是混合电压的意思,主要指对ALTERA的各类芯核电压(如5V、3.3V、2.5V与1.8V等)的FPGA/CPLD都能由此下载。此项设置只在初次装软件后第一次编程前进行,设置确定后就不必重复此设置了。 图4-22 向目标器件下载配置文件下载:如图4-22,点击Configure键,向EPF10K10下载配置文件,如果连线无误,应出现图6-33报告配置完成的信息提示。 到此为止,完整的设计流程已经结束。VHDL文本输入的设计可参考这一流程。6.设计流程归纳 图4-23所示的是利用MAX+plusII进行设计

46、的一般流程,因此对原理图输入设计和文本方式的硬件描述语言设计输入都能适用。图4-23 MAX+plusII一般设计流程 第三章 基于Matlab的FM仿真的实现一、matlab/simulink的介绍(一)MATLAB 的发展历程和影响MATLAB 名字由MATrix 和 LABoratory 两词的前三个字母组合而成。那是20 世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler 教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK 和EISPACK 库程序的“通俗易用”的接口,此即用FORTRAN 编写的萌芽状态的MATLAB。经几年的校际流传,

47、在Little 的推动下,由Little、Moler、Steve Bangert 合作,于1984年成立了MathWorks 公司,并把MATLAB 正式推向市场。从这时起,MATLAB 的内核采用C 语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。MATLAB 以商品形式出现后的短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包纷纷淘汰,而改在MATLAB 平台上重建。在时间进入20 世纪九十年代的时候,MATLAB 已经成为国际控制界公认的标准计算软件。到九十年代初期,在国际上30 几个数学类科技应用软件中,MATLAB 在数值计算方面独占鳌头,而Mat

48、hematica 和Maple 则分居符号计算软件的前两名。Mathcad 因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。MathWorks 公司于1993 年推出了基于Windows 平台的MATLAB4.0。4.x 版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化:(1)推出了SIMULINK,一个交互式操作的动态系统建模、仿真、分析集成环境。(2)推出了符号计算工具包。一个以Maple 为“引擎”的Symbolic Math Toolbox 1.0。此举结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。(3)构作了Not

49、ebook 。MathWorks 公司瞄准应用范围最广的Word ,运用DDE 和OLE,实现了MATLAB与Word 的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。从1997 年春的5.0 版起,后历经5.1、5.2、5.3、6.0、6.1 等多个版本的不断改进,MATLAB“面向对象”的特点愈加突出,数据类型愈加丰富,操作界面愈加友善。2002 年初夏所推6.5 版的最大特点是:该版本采用了JIT 加速器,从而使MATLAB 朝运算速度与C 程序相比肩的方向前进了一大步。假如说,在上世纪九十年代,新、老一代教科书的区别性标志是“教材是否包含MATL

50、AB内容”,那末进入二十一世纪后,MATLAB 对教材的影响又以崭新的形式出现:新教材正在更彻底地摒弃那些手工计算、计算尺计算、手摇或电动计算机、电子模拟计算机时代建立的“老的但久被当作经典的”表述、分析和计算方法;而逐步地建立以现代计算工具(包括软硬件)为平台的新的表述、分析和计算方法,其中包括采用交互式图形用户界面去完成各种表述、分析和计算目的。(二) SIMULINKSIMULINK是一个进行动态系统建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。在SIMULINK 提供的图形用户界面GUI上,只要进行鼠标的简单

51、拖拉操作就可构造出复杂的仿真模型。它外表以方块图形式呈现,且采用分层结构。从建模角度讲,这既适于自上而下(Top-down)的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up) 逆程设计。从分析研究角度讲,这种SIMULINK模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。在SIMULINK环境中,用户将摆脱理论演绎时需做理想化假设的无奈,观察到现实世界中摩擦、风阻、齿隙、饱和、死区等非线性因素和各种随机因素对系统行为的影响。在SIMULINK环境中,用户可以在仿真进程中改变感兴趣的

52、参数,实时地观察系统行为的变化。由于SIMULINK环境使用户摆脱了深奥数学推演的压力和烦琐编程的困扰,因此用户在此环境中会产生浓厚的探索兴趣,引发活跃的思维,感悟出新的真谛。二、正弦波发生器的simulink仿真三、幅度调制AM的simulink仿真第四章 仿真结果的VHDL代码转换一、DSP Builder的介绍及安装(一)DSP BUILDER 简介 DSP BUILDER是一个系统级设计工具,它构架在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的有时。DSP BUILDER依赖于MATH WORKS公司的数学分析工具MATLAB/SIM

53、ULINK,以SIMULINK的BLOCKSET出现,可以在SIMULINK中进行图形化设计和仿真,同时又通过SIGNALCOMPILER可以把MATLAB/SIMULINK的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用语控制综合与编译的TCL脚本.而对后者的处理可以由FPGA/CPLD开发工具QUARTUS来完成.(二)安装DSP BUILDER1运行e:DSPBuilder213 dspbuilder-v2.1.3.exe,完成安装,2设置授权文件放置目录,例如设:d:FLEX,3. 使用安装此软件的PC机的C盘硬盘号码,或网卡号向ALTERA公司购买授权

54、文件:license.dat。4. 将文件: license.dat COPY到d:FLEX目录。5. 设置授权文件变量路径如果是WIN2000,右键点击“我的电脑”的“属性”,进入“系统特性”窗, 1.选择“高级”,再选择其中的“环境变量”,2.选择“新建”3.在“新建用户变量”中设变量名为: LM_LICENSE_FILE而变量值为: d: FLEX license.dat二、转换过程及VHDL代码 SIGNAL COMPILER的设置都集中在项目设置选项部分.在“DEVICE”下拉选择框中选择需要的器件系列,默认为STRATIX系列器件,对此可以修改.需要注意的是,在”DEVICE”中只

55、能选择器件系列,不能指定具体的器件型号,这需由QUARTUS自动决定使用该器件系列中的某一个具体型号的器件. “SYNTHESIS”下拉选择框可以选择综合器,共有三个选择: *“LEONARDOSPECTRUM”:MENTOR的LEONARDOSPECTRUM综合器;*“SYNPIFY”:SYNPILICITY的SYNPIFY PRO或SYNPIFY综合器;*“QUARTUS ”:ALTERA 的FPGA/CPLD开发集成环境,内含综合功能.当设置好DEVICE和SYNTHESIS后,硬件编译”HARDWARE COMPILATION”部分就会列出一个操作流程,该流程为: 1.”CONVER

56、MDL TO VHDL”:将.mdl文件转换为VHDL文件; 2.SYNTHESIS:综合; 3.QUARTUS :QUARTUS编译适配,生成编程文件.*幅度调制AM的VHDL代码如下:- DSP Builder (Version 2.1.3 Build 31)- Quartus II development tool and MATLAB/Simulink Interface- Copyright ?2001-2003 Altera Corporation. All rights reserved.- The DSP Builder software, including, without

57、 limitation, the clock-cycle limited - versions of the MegaCore?Logic Functions included therein, may only be used to - develop designs for programmable logic devices manufactured by Altera Corporation - and sold by Altera Corporation and its authorized distributors. IN NO EVENT MAY - SUCH SOFTWARE

58、AND FUNCTIONS BE USED TO PROGRAM ANY PROGRAMMABLE LOGIC DEVICES, FIELD- PROGRAMMABLE GATE ARRAYS, ASICS, STANDARD PRODUCTS, OR ANY OTHER SEMICONDUCTOR - DEVICE MANUFACTURED BY ANY COMPANY OR ENTITY OTHER THAN ALTERA. For the complete - terms and conditions applicable to your use of the software and

59、functions, please - refer to the Altera Program License directorylibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;library dspbuilder;use dspbuilder.dspbuilderblock.all;library lpm;use lpm.lpm_components.all;Entity am is Port(clock:in std_logic;sclrp :in std_logic:=0;iNoises:in

60、std_logic;iSinIns:in std_logic_vector(15 downto 0);oSinDelays:out std_logic_vector(15 downto 0);oStreamMods:out std_logic_vector(18 downto 0);end am;architecture aDspBuilder of am issignalSAStreamModO:std_logic_vector(18 downto 0);signal sclr :std_logic:=0;signalA0W:std_logic;signalA1W:std_logic_vec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论