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

下载本文档

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

文档简介

中文摘要

本文主要介绍了在目前被广泛用于许多科学中进行科学计算和工程计算的功能强大的

数学分析工具MATLAB/Simulink的环境下,利用现代DSP开发的核心工具DSPBuilder

的实现通信相关仿真的FPGA实现,包括DSP系统设计模型的建立、仿真测试、VHDL转换

等一系列开发过程。所使用的硬件环境为GW48-GK2/PK2o

关键词

FPGA;Matlab;仿真;VHDL语言

Abstract

Thispapermainlyintroduceunderthepowerfulmathanalyzetoolwhichhadusedformany

sciencecomputesandprojectscomputes-MATLAB/Simulink,usingthemodernDSP

developmenttool:DSPBuildertocompletethesimulinkaboutthecommunicationSystemand

usingtheresultsforbuildoneFPGAsystem.Includeestablishthemodemtestthe

simulink,VHDLlanguagetransitionandsoon.Thehardwaresupport:GW48-GK2/PK2.

Keyword

FPGA;Matlab;simulink;VJDLlanguage

目录

中文摘要.....................................................................i

关键词.......................................................................i

Abstract...........................................................................................................................................ii

Keyword..........................................................................................................................................ii

第一章概述................................................................1

一、引言................................................................1

二、设计思想............................................................1

第二章FPGA开发平台(GW48-GK2/PK2).......................................................................2

一、FPGA的介绍........................................................2

二、VHDL语言.........................................................4

'F台的^3...........................................................................................................6

四、软件MAX+plusU与平台的联合调试...................................9

第三章基于Matlab的仿真的实现...........................................18

一、Matlab/simulink的介绍...............................................18

二、正弦波发生器的Simulink仿真.......................................20

三、幅度调制AM的Simulink仿真........................................22

第四章仿真结果的VHDL代码转换..........................................23

一、DSPBuilder的介绍及安装..........................................23

二、转换过程及VHDL代码.............................................25

结论.......................................................................29

致谢.......................................................................30

参考文献...................................................................31

基于仿真软件的FPGA实现

基与仿真软件的FPGA的实现

第一章基与仿真软件的FPGA的实现概述

一、引言

当前,通信讯技术的发展日新月异,通信系统建设可采用的技术有多种选择,同

时,通信系统的功能要求也越来越高,系统建设愈加复杂,系统建设经费不断增加。传统

的试验设计手段已经不能适应技术发展的需要。而通信系统的计算机模拟仿真技术日益显

示出其巨大的优越性,通信原理课程教学中,在硬件电路实验的同时增加计算机仿真实验,

不仅能够帮助学生理解和掌握课程原理,而且对培养学生的科研创新能力具有十分重要的

意义,同时也大大节省了便件电路实验中的设备更新的不断投资。

随着CPLD/FPGA被越来越多应用于通信、DSP、微机等系统,对设计软件的仿真功

能提出了更高的要求。MAX+PLUSH是Altera公司推出的功能强大的设计及仿真软件,

提供了从多种方法输入、编译一直到仿真的一系列配套功能,其中手工设计仿真输入节点

只适用于输入信号比较简单的情况,对于像随机噪声这样的复杂信号就无能为力了。

MATLAB是Mathworks公司推出的一种面向科学与工程计算的高级语言软件,它集科学计

算、自动控制、信号处理、神经网络、图像处理等于一体,可以方便地产生各种信号,进

行各种变换、统计。它的这些特点正好可以弥补MAX+PLUSII在仿真功能上的缺陷。因

此,可以利用MATLAB来产生MAX+PLUSII复杂仿真的输入信号。

数字信号处理技术日新月异,从早期的单片机到目前正在广泛应用的DSP技术,不断

向着高处理速度,高输入输出带宽方向发展。随着大规模集成电路技术的日益成熟,不同

种类的DSP均已达到相当高的处理能力,能够满足日常生产,生活乃至通讯,雷达等特殊

应用的需要。现在的设计技术人员越来越多的将目光转向数字信号处理平台技术的易用

性,灵活性和可扩展性,以及系统平台的低成本,期待着一种应用方便,能够灵活配置,

可根据用户需求做相应设计和扩展的处理平台的出现。因此,传统的FPGA处理技术近年

来越来越得到市场重视。

二、设计思想

本设计主要想利用在巨前被广泛用于许多科学中进行科学计算和工程计算的功能强大

的数学分析工具MATLAB/Simulink来建立通信系统的仿真模型,然后利用现代DSP开发

的核心工具DSPBuilder来实现通信相关仿真的FPGA实现。

1

基于仿真软件的FPGA实现

具体包括:

1.DSP系统设计模型的建立(本设计主要介绍:正弦波发生器及AM幅度调制)

2.熟悉硬件环境GW48-GK2/PK2及FPGA芯片

3.仿真测试(软件)

4.VHDL语言的学习及模型的VHDL程序转换

5.程序下载及测试(硬件)

等一系列开发过程

第二章FPGA开发平台(GW48-GK2/PK2)

一、FPGA的介绍

FPGA一现场可编程门阵列技术是二十年前出现,而在近几年快速发展的可编程逻辑器

件技术。这种基于EDA技术的芯片正在成为电子系统设计的主流。大规模可编程逻辑器

件FPGA是当今应用最广泛的可编程专用集成电路(ASIC)o设计人员利用它可以在办公

室或实验室里设计出所需的专用集成电路,从而大大缩短了产品上市时间,降低了开发成

本.此外,FPGA还具有静态可重复编程和动态在系统重构的特性.使得硬件的功能可以

像软件一样通过编程来修改。因此,FPGA技术的应用前景非常广阔。

□FPGA

BDSP

口单片机

FPGA发展历史和趋势

美国赢通系统公司(WincomSystems)推出一款令人惊叹的服务器。这款专为网站运

行而设计的服务器尺寸仅有DVD播放机大小,工作能力却相当于,甚至超过50台戴尔、IBM

或SUN公司售价5000美元的服务器。

2

基于仿真软件的FPGA实现

赢通公司的这款服务器并未采用目前电脑中不可或缺的微处理器。

传统的个人电脑及服务器通常采用英特尔的奔腾处理器或SUN计算机系统公司的

SPARC芯片作为中央处理单元。而赢通的这一产品却没有采用微处理器,而是由FPGA芯片

驱动。

FPGA芯片的运行速度比奔腾处理器慢,但可并行处理多项任务,而微处理器一次仅能处

理一项任务。因此,赢通公司的服务器只需配置几个价格仅为2000多美元的FPGA芯片,

便可击败SUN计算机系统公司的服务器或采用英特尔处理器的电脑,“我们的服务器处理

速度要比普通服务器快50到300倍”。

FPGA芯片在一定程度上正在蚕食微处理器的市场。FPGA芯片也开始用于消费类的电子

设备中,包括手机和数码相机。飞利浦、诺基亚、Palm及索尼均在其消费类的电子产品中

采用了FPGA芯片。

XILINX的首席执行官W.Roclandts亲眼目睹了FPGA如何改变电脑构架。50多年前,匈

牙利数学家纽曼(JohnvonNeumann)提出了电脑的设计构想---通过中央处理器从存储

器中存取数据,并逐一处理各项任务。现在,通过采用可编程芯片FPGA取代微处理器,

电脑可并行处理多项任务.

W.Roelandts说,“由纽曼提出的电脑架构己经走到尽头”,“可编程芯片将掀起下一

轮应用高潮。

尽管FPGA芯片的时钟频率要低于奔腾处理器,但是由于FPGA芯片可并行处理各种不同

的运算,所以可完成许多复杂的任务。例如网页显示,全球天气建摸及基因组合核对等,

而且处理速度比奔腾处理器或数字信号处理器快得多。在通用计算方面,FPGA仍然不敌

Intel的处理器。对于那些只需要进行重复单任务操咋的机器而言,使用FPGA芯片显然是

大材小用。

位于内华达州的TimeLogic公司也间接受益于FPGA。戴尔和SLN公司生产的某些标准服

务器采用了ALTERA公司的FPGA芯片。TimeLogic公司对这些标准服务器加以改进之后,

生产了一种用于基因研究的高速处理设备。“我们的设备比原来的产品至少快1000倍”,

TimeLogic公司总监ChristopherHoover说。该公司的这一设备售价25万美元。

马里兰州的AnnapolisMicroSystems公司在其电脑芯片电路板中也集成了XILINX的

FPGA芯片,以提高产品性能。又如加州的BlueArc公司用ALTERA的FPGA开发出一种存储

器产品,其速度比NetworkAppliance和EMC公司的竞争产品更快。华盛顿州Bellevue

市的MidStreamTechnologies公司采用XILINX的FPGA,为有限电视运营商开发视频流服

3

基于仿真软件的FPGA实现

务器。这款服务器高仅3.5英尺,采用了2片FPGA芯片,可同时提供425路视频流信号,

比基于通用微处理器的服务器速度更快。

超级电脑是科技世界中的极品:售价奇高,速度飞快,集成了数以千计的微处理器。

但这种超级电脑也浪费了非常多的芯片资源,每个处理器只能进行单任务操作,大部分功

能难以充分发挥。现在有了另一种更为简洁的设计:设计工程师开始采用FPGA芯片来武

装超级电脑,取代了原先大量的英特尔奔腾处理器。经过编程,FPGA芯片可并行处理多项

任务,从而使所有电路都能随时发挥作用。FPGA芯片还可以反复编程,而且几乎可瞬时完

成。在某一时刻它可以为美国国防部预报全球天气状况,下一时刻又可根据高盛公司

(GoldmanSachs)做的主要利率对冲情况来评估债券市场的风险。

下一代超级电脑将基于可编程逻辑器件,这种机器的功能将比目前最大的超级电脑还

要强大许多。其中的秘诀在于,设计者可以把自己的想法编成程序代码,然后让FPGA芯

片去实现。

犹他州的StarBridgeSystems公司声称已经解决了这一问题。该公司使用FPGA和

自己的Viva编程语言开发出了“超级电脑(hypercomputer):“运行速度无与伦比”。

对该超级电脑进行测试的美国国家航空航天局(NASA)科学家表示,这一产品的性能

令人过目难忘。美国加州大学伯克利分校(UniversityofCalifornia,Berkeley)和杨

百翰大学(BrighamYoungUniversity)的研究员也正在设计基于FPGA的电脑,这些电

脑可在运行中实现动态重配置。这对定位危险目标等军事应用和面容识别一类的计算密集

型安全应用十分有用。

二、VHDL语言

(Very-High-SpcedIntegratedCircuitHardwareDescriptionLanguage)

VHDL的英文全名是Vcry-High-SpccdIntegratedCircuitHardwarcDcscription

Language,诞生于1982年°1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语

言。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推

出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子

设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE

4

基于仿真软件的FPGA实现

对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版

本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为

IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,己成为事

实上的通用硬件描述语言,有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大

部分的数字系统设计任务C

VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件

特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。

VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块

或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体

的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成

后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL

系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。

(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成

为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻

辑行为上描述和设计大规模电子系统的重要保证。

(2)VI1DL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系

统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和己

有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个

代发组共同并行工作才能实现。

(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,

并自动的把VHDL描述设计转变成门级网表。

(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理

最终设计实现的目标器件是什么,而进行独立的设计。

5

基于仿真软件的FPGA实现

三、开发平台的介绍

GW48系统主板结构与使用方法

该系统的实验电路结沟是可取利目标标幡爆信乌相巴

石侧的3列目标板初座信号相H

控的。即可通过控制接口键黑屋:牌;歌;同眠:

PIO64ooPIO65PIO72ooPIO73

,一、.一、一,、、.,.PIO66ooPIO67PIO74ooPIO75

SW9,使之改变连接万式以适应p'O76Lo^JPIO77PIO78[oo]PIO79

C0N1COM2

不同的实验需要。因而,从物理鹿::a燃mG©

TMS00SELO00

结构上看,实验板的电路结构是嚅:忧溃।a―5ooBAeBlast(M>/)

PIOOoo33VooCL0CK2

m,,r“》人人4〜25Vo°PI01SPEYERooCLOCKOTCK00GND

固定的,但其内部的信息流在主PI0200PI0300TO000

PI04ooPI05PIO48ooPIO49

PI0600PI07PIO4600PIO47TMS00SELO

控器的控制下,电路结构洛发生将。::胱普线沆1胧OSTA00SEL1

PIO1200PIO13PIO4000PIO41TDI00

变化。这种“多任务重配置”设麒::牒知::知

J嘎

PI018ooPI019PIO34ooPIO35生钱编程

计方案的目的有3个:1.适应更场::竭瑞索瑞

PIO24ooPIO25PIO28ooPIO29

,工r,—十一―――GNDooVCCPIO26ooPIO27

多的实验与开发项目:2.道应更3仁我3^—ko

目标板插座1目标板插座2

多的PLD公司的器件;3.适应附图GW48-GK/PK系统目标板插座引脚信・号图

更多的不同封装的FPGA和

CPLD器件。系统板面主要部件及其使用方法说明如下(请参看相应的实验板板面和附图

l-lA)o

附表在线编程坐各引脚与不同PLD公司器件编程下载接口说明

PLD公司LATTICEALTERA/ATMELXILINXVANTIS

编程座引脚IspLSICPLDFPGACPLDFPGACPLD

TCK(1)SCLKTCKDCLKTCKCCLKTCK

TDO(3)MODETDOCONF_DONETDODONETMS

TMS(5)ISPENTMSnCONFIGTMS/PROGRAMENABLE

nSTA(7)SIX)nSTATUSTDO

TDI(9)SI)ITDIDATAOTDIDINTDI

SELOGNDVCC*VCC*GNDGNDVCC*

SEL1GNDVCC*VCC*VCC*VCC*GND

以下是对GW48系统主板功能块的注释,但请注意,有的功能块仅GW48-GK或

GW48-PK系统存在:

(1)SW9:按动该键能使实验板产生12种不同的实验电路结构。这些结构如第二

节的13张实验电路结构图所示。例如选择了“N0.3”图,须按动系统板上的SW9键,直

6

基于仿真软件的FPGA实现

至数码管SWG9显示“3”,于是系统即进入了N0.3图所示的实验电路结构。

(2)B2:这是一块插于主系统板上的目标芯片适配座。对于不同的目标芯片可配

不同的适配座。可用的目标芯片包括目前世界上最大的六家FPGA/CPLD厂商几乎所有CPLD、

FPGA和所有ispPAC等模拟EDA器件。

(3)混合工作电压使用:对于低压FPGA/CPLD目标器件,在GW48系统上的设计方法

与使用方法完全与5V器件一致,只是要对主板的跳线作一选择(对GW48-GK/PK系统不用

跳线):JVCC/VS2:跳线JVCC(GW48—GK/PK型标为“VS2”)对芯片I/O电压3.3V(VCCT0)

或5V(VCC)作选择,对5V器件,必须选“5.0V”。例如,若系统上插的目标器件是

即1K30/50/100或EPF10K30E/50E等,要求将主板上的跳线座“JVCC”短路帽插向“3.3V”

一端;将跳线座“JV2”短路帽插向”+2.5V”一端(如果是5V器件,跳线应插向“5.0V端。

(4)并行下载口:此接口通过下载线与微机的打印机口相连。来自PC机的下载控

制信号和CPLD/FPGA的目标码将通过此口,完成对目标芯片的编程下载。编程电路模块能

自动识别不同的CPLD/FPGA芯片,并作出相应的下载适配操作。

(5)键「键8:为实验信号控制键,此8个键受“多任务重配置”电路控制,它在

每一张电路图中的功能及其与主系统的连接方式随SN9的模式选择而变,使用中需参照第

二节中的电路图。

(6)键9~键12:实验信号控制键(仅GW48-GK/PK型含此键)此4个键不受“多

任务重配置”电路控制,使用方法参考“实验电路结构NO.5”。

(7)数码管1~8/发光管D1~D16:也受“多任务重配置”电路控制,它们的连线形

式也需参照第二节的电路图。

(8)数码管9~14/发光管D17~D22:不受“多任务重配置”电路控制(仅GW48—GK/PK

型含此发光管),它们的连线形式和使用方法参考“实验电路结构NO.5”。

(9)扬声器SL目标芯片的声讯输出,与目标芯片的“SPEAKER”端相接,即PI050。

通过此口可以进行奏乐或了解信号的频率。

(10)PS/2接口:通过此接口,可以将PC机的键盘和/或鼠标与GW48系统的目标芯

片相连,从而完成PS/2通信与控制方面的接口实验,GW48-GK/PK含另一PS/2接口,参见

实验电路结构N0.5o

(IDVGA视频接口:通过它可完成目标芯片对VGA显示器的控制。

(12)单片机接口器件:它与目标板的连接方式也已标于主系统板上:连接方式可参

见附图2-13。

7

基于仿真软件的FPGA实现

注意1,对于GW48-GK/PK系统,实验板左侧有一开关,向上拨,将RS232通信口直接

与FPGA的PI031和PI030相接;向下拨则与89C51单片机的P30和P31端口相接。于是

通过此开关可以进行不同的通信实验,详细连接方式可参见附图2-13。平时此开关向下打'

不要影响FPGA的工作。

(13)RS-232串行通讯接口:此接口电路是为单片机与PC机通讯准备的,由此可以

使PC机、单片机、FPGA/CPLD三者实现双向通信。当目标板上FPGA/CPLD器件需要直接与

PC机进行串行通讯时,可参见附图273,和实验电路结构图NO.5,将实验板右侧的开关

向上打“TOFPGA”,从而使目标芯片的PTO31和PTO3O与RS232口相接,即使RS232的通

信接口直接与目标器件FPGA的PI030/PI031相接。而当需要使PC机的RS232串行接口与

单片机的P3.0和P3.1口相接时,则应将开关向下打“TOMCU”既可(平时不用时也应保

持在个位置)。

(14)“AOUT”D/A转换:利用此电路模块(实验板左下侧),可以完成FPGA/CPLD

目标芯片与D/A转换器的接口实验或相应的开发。它们之间的连接方式可参阅“实验电路

结构NO.5":D/A的模拟信号的输出接口是“AOUT”,示波器可挂接左下角的两个连接端。

当使能拨码开关8:“滤波1”时,D/A的模拟输出将获得不同程度的滤波效果。

注意,进行D/A接口实验时,需打开左侧第2个开关,获得+/T2伏电源,实验结束

后关上此电源。

(15)系统复位键:此键是系统板上负责监控的微处理器的复位控制键,同时也与

接口单片机的复位端相连c因此兼作单片机的复位键。

(16)下载控制开关:在系统板的左侧第3个开关。当需要对实验板上的目标芯片下

载时必须将开关向上打(即“DLOAD");而当向下打(LOCK)时,将关闭下载口,这时可

以将下载并行线拔下而作它用(这时已经下载进FPGA的文件不会由于下载口线的电平变

动而丢失);例如拔下的25芯下载线可以与GWAK30+适配板上的并行接口相接,以完成类

似逻辑分析仪方面的实验C

(17)跳线座SPS:短接“TF”可以使用在系统频率计。频率输入端在主板右侧标有

“频率计”处。模式选择为“A”。短接“PTO48”时,信号PTO48可用,如实验电路结构

图NO.1中的PI048。平时应该短路“PI048”

(18)目标芯片万能适配座C0N1/2:在目标板的下方有两条80个插针插座(GW48-CK

系统),其连接信号如附悭1TB所示,此图为用户对此实验开发系统作二次开发提供了条

件。此一座的位置设置方式和各端口的信号定义方式与综合电子设计竞赛开发板GWDVP-B

8

基于仿真软件的FPGA实现

完全兼容!口

(19)拨8X8数码点阵:在右上角的模拟EDA器件下载板上还附有一块数码点阵显

示块,是通用供阳方式,需要16根接插线和两根电源线连接。详细方法请看“实验演示”

的POWERPOINTo

四、软件MAX+plusll的开发平台的联合调试

虽然本节介绍的是基于MAX+plus工工的文本输入设计方法,但其基本设计流程是具有一

般性,因而,设计的基本方法也完全适合于其它EDA工具软件。本节将介绍利用MAX+plusll

进行VHDL文本输入设计的基本方法和流程。

L编辑输入并存盘VHDL原文件

首先应该建立好工作库目录,以便设计工程项目的存储。作为示例,在此设立目录为:

E:\muxfile,作为工作库。以便将设计过程中的相关文件存储在此。任何一项设计都是一

项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,

此文件夹将被EDA软件默认为工作库(WorkLibrary)。一般不同的设计项目最好放在不同

的文件夹中,注意,一个设计项目可以包含多个设计文件,如频率计。

XIF>1«AttiOption*

图4T进入Max+plus工工,建立一个新的设计文件

可利用WINDOWS资源管理潜,新建一个文件夹。假设本项设计的文件夹取名为

muxfile,在E盘中,路径为:E:\muxfile注意,文件夹不能用中文。接下去是打开

MAX+plusll,选择菜单“File”今“New…”,出现如图4-1所示的对话框,在框中选

中“TextEditortil㊀",按“0K”按钮,即选中了文本编辑方式。在出现的“Untitled

9

基于仿真软件的FPGA实现

-TextEditor”文本编辑窗(图4-2)中键入图6-13所示的VHDL程序(2选1多路

选择器),输入完毕后,选择菜单“FilefSave",即出现如图4-2所示的“Sav㊀As”对

话框。首先在"Directories”目录框中选择自己已建立好的存放本文件的目录E:\MUXFILE

(用鼠标双击此目录,使其打开),然后在“FileNarre”框中键入文件名MUX21A.VHD,按

“0K”按钮,即把输入的文件放在目录E:\MUXF工LE中了。

2.将当前设计设定为工程

为了使Max+plusII能对输入的设计项目按设计者的要求进行各项处理,在编译/综合

MUX21A.VHD之前,需要设置此文件为顶层文件(最二层文件),或称工程文件:Project,

或者说将此项设计设置成工程。

选择菜单“File”->?roject->“SetProjecttoCurrentFile”,当前的设

计工程即被指定为MUX21Ao也可以通过选“Fill今"Project"分"Name”,在跳

出的“ProjectNam㊀”窗中指定E:\MUXF工LE下的MUX21A.VHD为当前的工程。设定后

可以看见MAX+plusII主窗左上方(图4-3)的工程项目路径指向为:

"e:\muxfile\mux21a,,o这个路径指向很重要!

如果设计项目由多个设计文件组成,则应该将它们的主文件,即顶层文件设置成

Projecto如果要对其中某一底层文件进行单独编译、仿真和测试,也必须首先将其设置成

Projceto

D自10昌亳上飞?公国左

HeName:|MUX21AVHD

Directoryis:e:\mu%ile

LIBRARYIEEE;

*.vhdDitectcxies:

USEIEEE.STD_L0GIC_1164.fiLL;Ftes:

ENTITVnux21aISmux21&vhd

P0RT(a,b:INSTD_L0GIC;

s:INSTD_L0GIC;

y:OUTSTD_L0GIC

);

ENDENTITVmux21a

ARCHITECTUREoneOFmux21a

BEGIN

PROCESS(a,b,s)

feutorftaiicExtension

BEGIN

IFSTHENQK

y<-a;

ELSEy<=b;

EHDIF;0

ENDPROCESS;

ENDARCHITECTUREone;plusII

Line8ICol18►r

图4-2在文本编辑窗中输入VHDL文件并存盘

10

基于仿真软件的FPGA实现

MlAX+plusII一e:\Buxfile\aux21a

MAX+plusIIFileEditTemplatesAssignUtilitiesOptionsWindowKelp

□Bia昌公质百52/园国蠹解邮

^■ux21a.vhd-TextEditor

LIBRARYIEEE;上

USEIEEE.STD_L0GIC_1164.ALL;二

FNTTTVmnv91^TS

图4-3设定当前文件为工程

为了获得与目标器件对应的,精确的时序仿真文件,在对文件编译前必须诜定最后实现本

设计项目的目标器件,在Max+plus工工环境中主要选Altera公司的FPGA或CPLD。在

设定工程文件后,应该选择用于编程的目标芯片:选择菜单“Assign”T"Device…”,

在弹出的对话框中的“Deuic㊀Family”下拉栏中,例如选择FLEX10K,此窗口(图

4-4)的DeviceFamily是器件序列栏,应该首先在此拦中选定目标器件对应的序列名,

如EPM7128S对应的是MAX7000S系歹I」;ACEX1K对应的是ACEX系歹I」等。为了选择

EP1K30TC144-3器件,应将此栏下方标有ShowonlyFastestSpeedGrades的

勾消去,以便显示出所有速度级别的器件。完成器件选择后,按OK键。

nux21a,c,

Ia.b

[TVnu>

:TURE(

逐S(d,

S='(

y<-<

ELSE

IF;

>ROCE$$

:HITEC1

图4-4设定当前文件为工程

3.选择VHDL文本编译版本号和排错

选菜单aMAX+plus工工"今"Compiler”菜单(图4-5),

W«l>AX*>Iusn■

11

基于仿真软件的FPGA实现

图4-6设定VHDL编译版本号

出现编译窗图(4-5)后,需要根据自己输入的VHDL文本格式选择VHDL文本编译版

本号。

选择如图4-6所示界面上方的"interfaces"->“VHDLNetlistReader

Settings^,在弹出的窗口中选“VHDL,1987”或“VHDI/1993”。这样,编译器将

支持87或93版本的VHDL语言。这里,文件MUX21A.VHD属于93版本的表述。由于

综合器的VHDL,1993版本兼容VHDLZ1987版本的表述,所以如果设计文件含有

VHDL,1987或混合表述,都应该选择“VHDL,1993”项。

在按“START”键运行编译前,还需要作一件事,即在进入编辑窗,选择Processing

项,选“FitterSetting",进入如图4-7的窗口,消去最上的"UseQuartusFitter…”

CompilerDatabaseLogic

NetlistBuilderSynthesizerPartitionerFitter

Extractor

xj

厂U$eQwartuzFiteifor:l£X10KandA£EX1KDevcei

Gerie(dlFittei$e(bnas

"NoimalFifing(No:rrolAi/oLCELLInscfbcn。码)-

「TiyH&dw/LonBCompU60nFilings

,UoLCELLiMeiiknRuzOihetOp6o<n|=

s='0-THEN

y<■a;

ELSEy<-b

图4-7消去“UseQuartusFitter...”项

最后按“START”键,运行编译器。

如图4-2所示,MUX21A.VHD文件中的实体结束语句没有加分号“;”,在编译时出现

了如图4-7所示的出错信息指示。有时尽管只有1、2个小错,但却会出现大量的出错信

息,确定错误所在的最好办法是找到最上一排错误信息指示,用鼠标点成黑色,然后点击

如图4-7所示窗口左下方的“Locate”错误定位钮,就能发现在出现文本编译窗中闪动的

光标附近找到错误所在。纠正后再次编译,直至排除所有错误。

注意闪动的光标指示错误所在只是相对的,有的错误比较复杂,很难用此定位。

12

基于仿真软件的FPGA实现

Start

"Cu*pi1»r

Error:Line9:Filee:\muxfile\mux21a.vhd:VHDLsyntaxerror:entitydeclarationmusthavebutfound

ARCHITECTUREinstead_____________________________________________________________

Info:InformationonEntityMUX21Awasnotstored

Error:Une9:Filee:VnuxfileVnux21a.vhd:VHDLsyntaxerror:expectedentity”mux21a“forarch,ectu>e“one"二

<Message►1of10l-LocateinFloorplanEditor|H殳IponMessageJ

<Locate►0of1|Loi:dfc蒯

山ne8ICOI18|~W<||>广]

图4-8确定设计文件中的错误

VHDL文本编辑中还可能出现许多其它错误,如:

1、错将设计文件存入了根目录,并将其设定成工程,由于没有了工作库,报错信息如下:

Error:Can*topenVHDL"WORK”

2、错将设计文件的后缀写成.tdf而非.vhd,在设定工程后编译时,报错信息如下:

Error:Linel,Filee:\muxfile\mux21a.tdf:TDFsyntaxerror:...

3、未将设计文件名存为其实体名,如错写为muxa.vhd,设定工程编译时,报错信息如

下:

Error:Linel,...VHDLDesignFile"muxa.vhd"mustcontain...

4.时序仿真

接下来应该测试设计项目的正确性,即逻辑仿真,具体步骤如下:

1、建立波形文件。为此设计建立一个波形测试文件。根据图4-3选择File项及其

New,再选择New窗中的WaveformEditor..项,打开波形编辑窗。

2、输入信号节点。在图4-9所示的波形编辑窗的上方选择Node项,在下拉菜单中

选择输入信号节点项EnterNodesfromSNF。在弹出的窗口(图4T0)中首先点击

List键,这时左窗口将列出该项设计所以信号节点,由于设计者有时只需要观察其中部

分信号的波形,因此要利用中间的“=>”键将需要观察的信号选到右栏中,然后点击OK

键即可将测试信号s(工)、b(1)、a(工)和y(0)输入仿真波形编辑窗。。

图4-9从SNF文件中输入设计文件的信号节点

13

基于仿真软件的FPGA实现

图4-10列出并选择需要观察的信号节点

hiiHAXIpluvII-•21a

RAX*plusIIExitEdityievFod@AnicnUtilitiesQptiomY,nd”Help

图4-11在Options选项中消去网格对齐SnaptoGrid的选择(消去勾)

3、设置波形参量。图4-11所示的波形编辑窗中已经调入了半加器的所有节点信号,

在为编辑窗的半加器输入信号a和b设定必要的测试电平之前,首先设定相关的仿真参数。

如图4-11所示,在0Ptions选项中消去网格对齐SnaptoGrid的选择(消去勾),

以便能够任意设置输入电平位置,或设置输入时钟信号的周期。

4、如图4-12,4-13所示,设定仿真时间宽度。选择File项及其Endtime选项,

在Endtime选择窗中选择适当的仿真时间域,如可选80us(80微秒),以便有足够长

的观察时间。

5、加上输入信号。图4-11显示了波形编辑窗各按钮的功能。

IIrrtervit11500M

1000(1,

%-

-泥

图4-12设定仿真时间宽度

UX*plusIIFileEditViewNodeAssignVtilitiesOptionsWindowKelp

口宜用?3g,?公闻眄悬留高£

QRef|0Ons|臼司Time[00ns]1正倘:[0Ons

14

基于仿真软件的FPGA实现

图4-13设定仿真时间宽度

4Wpls口!、】•£411ViewModeAisipiUt&litiesQFtioniVindovKelp

Q岁RdXtfePj出金屋品524因因蹇,藏蹙然81

Start|l.94us□DEnd|337usIrMerval43us

输入文字

11nsI0

口$Igus2Qus2Qus3Qu$3gu4Ous45u55Ous

x此也项夕效激

徜入信

x导节点::I:::::::::::;:;:了::夕与£大:;::二交::;交:::::::;:

放大腐小将某段

总就推为了设定此

赋值守黑,由段波黑为高

赋值T此按钮电,用反标

赋值不定值'X'敏值施黑,再按

赋值高用宓乞‘左

温馨提示

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

评论

0/150

提交评论