公务员期刊网 精选范文 vhdl语言范文

vhdl语言精选(九篇)

vhdl语言

第1篇:vhdl语言范文

关键词:VHDL;MAX+PLUSⅡ;仿真;数字电路

中图分类号:TP331文献标识码:A文章编号:1009-3044(2008)21-30573-02

Application of VHDL in Digital Circuit Teaching

WU Xi-qin

(School of Computer and Information,Hefei University of Technology,Hefei 230009,China)

Abstract:VHDL,as a new type of hardware description language,is used to describe ,stimulate and automatically design digital system.Nowdays, it becomes a key technology in electronic design automatic(EDA).The method and process using VHDL to design digital system is presented through an example of modulo-16 counter .The anticipative target is achieved through stimulation.The result shows that VHDL is strong in hardware description and flexible in design method.It could reduce the design difficulty of digital system and improve efficiency.

Key words:VHDL;MAX+PLUSⅡ;stimulation;digital circuit

1 引言

随着电子技术的发展,数字系统的设计正朝着高速度、大容量、小体积的方向发展,用传统的自底而上的设计方法已不能满足要求,迫切需要提高设计效率。VHDL语言是一种对数字电路和数字系统进行性能描述和模拟的语言,是美国国防部在20世纪70年展的电路设计工具,并于1987年成为IEEE的一种标准语言。VHDL是一种面向设计的多领域、多层次IEEE标准硬件描述语言,是目前十分流行的硬件描述工具,并且被大多数EDA工具支持。

2 VHDL优点

1)功能强大,描述力强。可用于门级、电路级甚至系统级的描述、仿真和设计。

2)可移植性好。对于设计和仿真工具采用相同的描述,对于不同的平台也采用相同的描述。

3)研制周期短,成本低。这主要是由于VHDL支持大规模设计的分解和对已有设计的利用,因此加快了设计流程。

4)可以延长设计的生命周期。因为VHDL的硬件描述与工艺技术无关,不会因工艺变化而使描述过时。

5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

3 VHDL的设计流程

VHDL在设计过程中,采用自顶向下的方法,首先从系统设计入手,在顶层进行功能方框图的划分,然后对各模块进行设计并仿真,再进一步综合进行门级仿真,如果没有错误即可下载,最后实现电路,用VHDL设计数字系统的流程如下:

输入源程序编译源程序仿真综合门级仿真物理设计时序仿真

VHDL语言已日益成为一种通用的硬件描述语言,计算机辅助工程软件的供应商已把VHDL作为其CAD或EDA软件输入与输出的标准,其中ALTEKA公司提供了一套十分有特色的综合工具MAX+PLUSⅡ,它提供了全面的逻辑设计能力,从编辑、综合、布线到仿真、下载一气呵成,十分方便。

4 VHDL设计实例及仿真结果

4.1 设计方案

计数器根据时钟信号的作用分为同步计数器和异步计数器。同步计数器是指构成计数器的各触发器状态在同一时钟信号的控制下同时发生变化。下面设计一个具有异步清零功能的四位二进制同步可逆计数器。该计数器有一个上升沿有效的时钟输入端CLK;一个异步清零端CR(CR低有效);一个计数方向控制器UPDOWN(UPDOWN=1时,进行加法运算;UPDOWN=0时,进行减法运算);一个四位数据输出端COUNT;一个进位输出端CO。

4.2VHDL语言设计的源程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITY cnt4b IS

PORT(CLK:IN STD_LOGIC;

CR:IN STD_LOGIC;

UPDOWN:IN STD_LOGIC;

CO: OUT STD_LOGIC;

COUNT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END cnt4b;

ARCHITECTURE behave OF cnt4b IS

SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

CQI

PROCESS(CLK,CR)

BEGIN

IF (CR='0')THENCQI

ELSIF (CLK'EVENT AND CLK = '1')THEN

IF (UPDOWN='1')THEN

IF (CQI>"1111")THENCQI

ELSE

CQI

END IF;

IF (CQI="1111") THEN

CO

ELSE

CO

END IF;

ELSE

IF (CQI

CQI

ELSE

CQI

END IF;

IF (CQI="0000") THEN CO

ELSECO

END IF;

END IF;

END IF;

COUNT

END PROCESS;

END behave;

在程序输入完成后,经MAX+PLUSⅡ中的Compiler编译通过后,可用Stimulator进行仿真。

4.3 仿真结果

仿真结果说明:1)CR为0使计数从0开始;

2)UPDOWN为0时,在每个时钟上升沿使计数器减1;

3)UPDOWN为1时,在每个时钟上升沿使计数器加1;(下转第576页)

(上接第574页)

4)CO滞后于COUNT一个时钟。

5 结束语

VHDL语言具有与硬件无关和与设计平台无关的特性,并具有很强的电路描述和建模能力。目前,VHDL已成为电子设计自动化领域进行自上向下设计的应用方向,是专用数字集成电路设计描述的有力工具,同时也是逻辑综合和优化的重要基础,作为一种重要的高层设计技术,VHDL已成为当代电子设计者们必须掌握的重要工具。

参考文献:

第2篇:vhdl语言范文

关键词:VHDL,电路系统,数据选择器

 

1 引言

VHDL (Very HighSpeed Integrated Circuit Hardware Description Language)是美国国防部在20世纪80年代中期开始推出的一种通用的硬件描述语言。作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,VHDL语言在电子工程领域已成为事实上的通用硬件描述语言。VHDL为设计者提供了一种全新的数字系统的设计途径。使用VHDL语言不只是意味着代码的编写,更是为了便于建立层次结构和元件结构的设计,利用VHDL编写的电路模块可被重复利用。故可以简化设计者的设计工作,大大缩短设计时间,减少硬件设计成本,提高工作效率。

2 VHDL的优点

VHDL主要用于描述数字系统的结构、行为、功能和接口。应用VHDL进行工程设计的优点是多方面的:

(1)具有更强的行为描述能力,是系统设计领域最佳的硬件描述语言。

(2)具有丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。该功能能满足市场大规模系统高效、高速的需要,可替代多人甚至多个组共同工作。

VHDL的许多优点给硬件设计者带来了极大的方便, 自然被广大用户接受, 得到众多厂商的大力支持。使用VHDL设计数字系统已成为当今电子设计技术的必然趋势[4 ] 。

3 “自顶向下”( Top-Down) 的设计方法

随着数字系统设计规模的急剧加大,“自顶向下”的设计方法成为现代EDA设计的趋势。论文参考。传统的系统硬件设计方法是采用自下而上的设计方法。即系统硬件的设计是从选择具体元器件开始的,并用这些元器件进行逻辑电路设计,完成系统各独立功能模块设计,然后再将各功能模块连接起来,完成整个系统的硬件设计。而在VHDL的设计中,采用“自顶向下”( Top-Down) 的设计方法,设计常用流程图如图1所示,系统被分解为各个模块的集合后,可以对设计的每个独立模块指派不同的工作小组,这些小组可以工作在不同地点,甚至可以分属不同的单位,最后将不同的模块集成为最终的系统模型,并对其进行综合测试和评价。论文参考。“自顶向下”设计的基本步骤为:

(1) 分析系统的内部结构并进行系统划分,确定各个模块的功能和接口;

(2) 编写程序,输入VHDL代码,并将其编译成标准的VHDL文件;

(3) VHDL 源代码进行综合优化处理;

(4) 配置,即加载设计规定的编程数据到一个或多个LCA器件中的运行过程,以定义器件内的逻辑功能块和其互连的功能。

(5) 下载验证,通过编程器或下载电缆载入将步骤(4) 得到的器件编程文件下载到目标芯片中,以验证设计的正确性。

图1 VHDL工程设计流程图

Fig.1 The design flow based on VHDL

4 VHDL的设计举例

下面以4选1数据选择器为例说明使用VHDL的设计过程。4选1数据选择器框图如图2所示。论文参考。

该数据选择器的VHDL描述如下:

entity sel is

port(a,b,c,d,sel_1:IN bit;

out_1:OUT bit);

end sel;

architectureexample of sel is

begin图2 4选1数据选择器

process((a,b,c,d, sel_0, sel_1) Fig.2 The one-in-four selector

begin

if sel_0=‘0’andsel_1=‘0’then

out_1<=a;

elsef sel_0=‘0’andsel_1=‘1’then

out_1<=b;

elsef sel_0=‘1’andsel_1=‘0’then

out_1<=c;

else

out_1<=d;

end if;

end process;

end example;

利用VHDL强大的仿真功能,经过编译后运行仿真,之后可以产生信号波形,用以分析仿真结果。本例中产生波形如图3所示。仿真结果符合设计功能的要求。

图3 仿真结果

Fig.3The waveform of simulation

5 结束语

本文以4选1数据选择器设计为例,说明利用VHDL设计电路系统的基本方法和过程。用VHDL语言实现电路的设计过程,是一个以软件设计为主,器件配置相结合的过程。这种软件设计与硬件设计的结合,以一片器件代替由多片小规模集成数字电路组成的电路,其优势已经越来越明显。在进行系统设计时,如果系统比较复杂,所需器件数目多,并要求体积小、速度快、功耗低时,首先应该考虑使用VHDL进行芯片设计,然后再进行整体设计。

参考文献

[1] Stafan Sjoholm,Lennart Lindh. 边计年,薛宏熙译. 用VHDL设计电子线路[M]. 北京:清华大学出版社,1999.

[2] 潘松,黄继业. EDA技术实用教程[M]. 科学出版社,2002.

[3] 侯伯亨,顾新. VHDL硬件描述语言与数字逻辑电路设计[M].西安: 西安电子科技大学出版社, 2004.

[4] 赵晨光等. VHDL语言在电子设计实践中的应用. 沈阳航空工业学院学报[J]. 2004,21(1):57-59.

[5] 张利萍, 胡玉兰. 硬件描述语言VHDL应用设计及实例[J]. 沈阳工业学院学报,2002,21(2):70-73.

第3篇:vhdl语言范文

关键词:VHDL语言;电子自动化;运用

VHDL是上个世纪八十年代美国国防部资助下创设的,它的创立于当时电子技术的发展满足不了市场经济的发展有着密切的联系,VHDL和电子自动化的结合取决于两者之间的契合度和各自优势的相适应。

1 VHDL概述

1.1 VHDL语言

VHDL语言在上世纪八九十年代成为了硬件描述语言的标准之一,这解决了当时国际上多种描述性语言不能相互融通的难题,被称为超高速电路硬件描述语言,她的构成内似与计算机高级语言,主要是用于描述书籍系统的结构、行为、性能,他与电子自动化相结合,加速了电子自动化技术的适用速率,从电力的开端、电路的合成至电路的仿真等都设计其中,已经成为了一种通用的信息和数据的交换媒介,目前世界上公布的最新的标准版本是IEEE1076-2002版,它的使用极大的提高了产品开发的速率,降低了产品生产的成本,提高了产品的质量和安全性。

1.2 VHDL语言的特点和优势

VHDL语言的程序一般是由实体(ENTITY)、结构体(architecture)、配置(coxnfiguration)、包(package)和库(library)这五部分相互衔接组成的,其中实体和结构是VHDL语言最基本的组成因素,配置的主要作用提取所需要的信息组成该系统的不同规格和版本,包形象的用来承载每一个设计需要的模块类型的存放,库用来价格已经成功编译的实体、结构体和配置等存放起来,其基本的构成如下:

VHDL程序的基本构成

从其构成以及程序的编译中我们可以得出VHDL语言具有以下的特点。首先,VHDL语言的描述功能强大,其形式也是多种多样。VHDL语言将系统行为级、寄存器传输和门级这三个不同层次的设计结合起来,比起之前的硬件描述语言,VHDL语言能够将一个行为描述的额更加具有逻辑性和条理性,这也是它能够成为电子自动化技术应用的硬件描述语言的重要原因所在。其次,VHDL语言拥有强大的库来存放已经编译的实体等,这种设计方式有利于信息和数据的对此利用和资源的迅速共享,在很大程度上减少了设计同样模块或者重复使用相同模块的工作量,降低了设计的周期,提高了生产效率,增加企业的效益。再者,VHDL语言的编译程序和结构简洁具有逻辑性,尤其是关于寄存器、函数、目标选择器、闹钟系统设计、窗口搜索算法、移位指令等的程序编写有着很强的规律性,知晓其中的规律对于学好和运用这门语言举足轻重,这也就意味着他的可读性好,能够被计算机识别也能够很快的让人们理解它所表达的意思,将复杂的逻辑控制设计简单化,灵活方便且利于保存、交流和大量使用。VHDL语言从其结构我们看出它具有足量的库函数以及仿真语句,这就在程序的运行中一旦出现危机或者存在危险的信息,能够及时的做出反映,提前对系统功能的运行状态进行检测,消除错误和危险,在电子自动化中将大规模的集成电路通过具有逻辑的语句进行检查、分析和调整,实现整套程序的畅通。再者,VHDL语言独立于器件,设计人员不需要首先考虑进行器件设计,只需要进行电路的设计和优化,而且它允许多种类型的器件进行混合搭配实现程序设计的目标。但VHDL语言具有优点的同时也具有一定的局限性,并不是最完美的硬件描述语言,他不能够处理一些动态的机构,在有些方面还有待完善,就目前而言却也是较好的厂商选择。

2 VHDL在电子自动化中的运用

2.1 VHDL语言的应用实例

VHDL语言在电子自动化中的使用可能将近100中形式,举个简单的例子,VHDL移位指令的使用,在控制LED流动显示时,其程序的语法结构有以下规律

赋值运算符

赋值运算符用来给信号、变量和常数赋值。

:=用于对VARIABLE,CONSTANT和GENERIC赋值,可用于赋初始值;

=>用于对矢量中的某些位赋值,或对某些位之外的其他位赋值(常用OTHERS表示)。

例:

SIGNAL x:STD_LOGIC;

VARIABLE y:STD_LOGIC_VECTOR(3 DOWNTO 0);C最左边的位是MSB

SIGNAL w:STD_LOGIC_VECTOR(0 TO 7);C最右边的位是MSB

x

y:=“0000”;

w

w‘1’,OTHERS=>‘0’);CLSB位是1,其他位是0

再者,如果想要VHDL中将一个数向左移四位,便可以用这种表达方式:b(3 downto 0):=a(7 downto 4);b(7 downto 4):=(others=>;a(7));这样简洁的语言便可以达到我们的目的。

2.2 VHDL语言和电子自动化的结合

电子自动化技术伴随这计算机的发展近年来发展迅速,在多个领域得到宽广的使用,在电子自动化的应用中,此语言已经成为了主要的描述语言,在较多的厂商中得到认可,但是在使用中依旧需要注意一些问题。

一是我们在使用前一定要熟悉VHDL语言的一些语句的表达和规律,了解它的构造,尤其是对此种语言的性能进行详细的了解,这样才能更好的将VHDL语言和自动化技术联系起来,同时,我们应该牢记VHD语言是基于模拟的语言建设的,它所使用的描述方式和手段都是为了建立专用的模型而非综合性的模型,在与自动化技术的结合中一定要注意两者之间的衔接,尤其是语句的程序设计。

VHDL语言在电子自动化中的应用,创新的将程序代码和计算机设备结合起来,借助语言强大的描述,将设施和程序结合起来促进系统的完整运行,方便掌握和使用,安全性能提高的同时有效的避免了风险的扩大和出现,在电子自动化技术使用的多领域已经得到运用,例如水利工程管理、医疗管理等。

3 总结语

VHDL与电子自动化技术的结合,在电子技术、计算机技术不断发展的今天已经成为了一种必然趋势。两者的结合降低了成本,提噶了效率,缩短了产品的生产周期,虽有不足但我们深信未来科技的改革和进步将一定会将两者得到完美的结合,促进技术的进步。

参考文献

[1] 孙华锦.基于VHDL语言的电子设计自动化及其应用[D].西北工业大学,2001.

[2] 张淼,张晓琦.VHDL与电子自动化[J].辽宁师专学报(自然科学版),2002,02:46-48+100.

[3] 张晓军,解大,陈陈.VHDL语言在电子设计自动化中的应用[J].电力自动化设备,2002,05:32-34.

第4篇:vhdl语言范文

随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、航天、医学、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中EDA技术的含量正以惊人的速度上升;电子类的高新技术项目的开发也逾益依赖于EDA技术的应用。即使是普通的电子产品的开发EDA技术常常使一些原来的技术瓶颈得以轻松突破从而使产品的开发周期大为收缩、性能价格比大幅提高。不言而喻EDA技术将迅速成为电子设计领域中的极其重要的组成部分。

100Hz频率计数器的主要功能是在一定时间内对频率的计算。在数字系统中,计数器可以统计输入脉冲的个数,实现计时、计数、分频、定时、产生节拍脉冲和序列脉冲。而本篇论文主要介绍了频率计数器的实现:系统以MAX+PULSLLII为开发环境,通过VHDL语言作为硬件描述语言实现对电路结构的描述。在VHDL语言中采用了一系列的语句,例如:if语句、case语句、loop语句等。这些语句对程序中的输入输出端口进行了解释,并给出实现代码和仿真波形。相关的一些关键词:100Hz;分频;计数;MAX+PULSLLII;VHDL;编译;仿真等。

前言

VHDL是超高速集成电路硬件描述语言(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)的缩写在美国国防部的支持下于1985年正式推出是目前标准化程度最高的硬件描述语言。IEEE(TheInstituteofElectricalandElectronicsEngineers)于1987年将VHDL采纳为IEEE1076标准。它经过十几年的发展、应用和完善以其强大的系统描述能力、规范的程序设计结构、灵活的语言表达风格和多层次的仿真测试手段在电子设计领域受到了普遍的认同和广泛的接受成为现代EDA领域的首选硬件描述语言。目前流行的EDA工具软件全部支持VHDL它在EDA领域的学术交流、电子设计的存档、专用集成电路(ASIC)设计等方面担任着不可缺少的角色。

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。

本文用VHDL在CPLD器件上实现一种2b数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。

目录

摘要………………………………………………………………………1

前言……………………………………………………………………2

目录……………………………………………………………………3

第一章设计目的………………………………………………………5

1.1设计要求……………………………………………………5

1.2设计意义……………………………………………………5

第二章设计方案………………………………………………………6

第三章产生子模块……………………………………………………7

3.1分频模块……………………………………………………7

3.2分频模块源代码………………………………………………8

3.3仿真及波形图…………………………………………………9

第四章计数模块………………………………………………………9

4.1.计数模块分析…………………………………………………9

4.2.计数模块源代码………………………………………………10

4.3计数模块的仿真及波形图……………………………………12

第五章显示模块……………………………………………………12

5.1七段数码管的描述……………………………………………13

5.2八进制计数器count8的描述…………………………………14

5.3七段显示译码电路的描述……………………………………15

5.4计数位选择电路的描述………………………………………16

5.5总体功能描述……………………………………………18

5.6显示模块的仿真及波形图………………………………19

第六章顶层文件…………………………………………………20

6.1顶层文件设计源程序…………………………………………20

6.2顶层文件的仿真及波形图………………………………………21

结语…………………………………………………………22

参考文献……………………………………………………23

致谢…………………………………………………………24

附件…………………………………………………………25

第一章设计目的

1.1设计要求

a.获得稳定100Hz频率

b.用数码管的显示

c.用VHDL写出设计整个程序

1.2设计意义

a.进一步学习VHDL硬件描述语言的编程方法和步骤。

b.运用VHDL硬件描述语言实现对电子元器件的功能控制

c.熟悉并掌握元件例化语句的使用方法

d.熟悉数字式频率的基本工作原理。

第5篇:vhdl语言范文

关键词:EDA技术,项目化教学方法,课程改革

 

EDA技术是以数字电子技术课程知识为基础,具有较强实践性、工程性的专业课程。将数字电路设计从简单元器件单元电路设计,EWB软件仿真提到了更高一级的可编程操作平台上,进一步巩固和提高学生电子电路综合设计能力。但是,传统的教学模式是将两门课程分开,先上数字电路,后上EDA技术,分两学期授课。这样的教学模式存在弊端,减弱了课程之间的联系,降低了学生对数字电路理论的认识程度。通过对EDA技术课程的教学改革,以实训的方式采用项目教学法,使学生在较短的时间内掌握EDA技术基础及其实验系统,从数字系统的单元电路,如译码器、计数器等入手,加深对数字电路基础理论的认识,逐渐完成数字系统设计。

1. EDA技术及其在教学中的应用

1.1 EDA技术

EDA技术即电子设计自动化(Electronic DesignAutomation)是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果而形成的一门新技术毕业论文格式,是一种能够设计和仿真电子电路或系统的软件工具。采用”自顶向下”的层次化设计,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。图1为一个典型的EDA设计流程。

图1 EDA设计流程图

1.2 EDA技术在教学中的应用

在教学过程中,EDA技术利用计算机系统强大的数据处理能力,以及配有输入输出器件(开关、按键、数码管、发光二极管等)、标准并口、RS232串口、DAC和ADC电路、多功能扩展接口的基于SRAM的FPGA器件EDA硬件开发平台,使得在电子设计的各个阶段、各个层次可以进行模拟验证,保证设计过程的正确性。从而使数字系统设计起来更加容易,让学生从传统的电路离散元件的安装、焊接、调试工作中解放出来,将精力集中在电路的设计上。同时,采用EDA技术实现数字电路设计,不但提高了系统的稳定性,也增强了系统的灵活性,方便学生对电路进行修改、升级,让实验不在单调的局限于几个固定的内容,使教学更上一个台阶,学生的开发创新能力进一步得到提高。

2.课程教学改革实施

2.1课程改革思路

课程改革本着体现巩固数字电路基础,掌握现代电子设计自动化技术的原则来处理和安排EDA技术教学内容。打破传统的从EDA技术概述、VHDL语言特点、VHDL语句等入手的按部就班的教学方法,以设计应用为基本要求,开发基于工作过程的项目化课程,以工作任务为中心组织课程内容,让学生在完成具体项目的过程中来构建相关理论知识。将EDA技术分为四个方面的内容,即:可编程逻辑器件、硬件描述语言、软件开发工具、实验开发系统,其中,可编程逻辑器件是利用EDA技术进行电子系统设计的载体,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动设计工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。采用项目化教学方法,以实训的方式展开,让学生在“学中做,做中学”。

2.2课程改革措施

以电子线路设计为基点,从实例的介绍中引出VHDL语句语法内容。在典型示例的说明中,自然地给出完整的VHDL描述,同时给出其综合后的表现该电路系统功能的时序波形图及硬件仿真效果。通过一些简单、直观、典型的实例毕业论文格式,将VHDL中最核心、最基本的内容解释清楚,使学生在很短的时间内就能有效地掌握VHDL的主干内容,并付诸设计实践。这种教学方法突破传统的VHDL语言教学模式和流程,将语言与EDA工程技术有机结合,以实现良好的教学效果,同时大大缩短了授课时数。表1为课程具体内容及实训学时分配。

 

能力

目标

学习情境

项目载体

课时

QuartusⅡ开发工具使用能力

QuartusⅡ开发环境、实验系统

二选一音频发生器设计

6

VHDL语言编程能力

VHDL语言基本结构

计数器电路设计

6

VHDL语言并行语句

8位加法器设计

8

VHDL语言顺序语句

7段数码显示译码器设计

8

VHDL语言综合运用

数控分频器的设计

8

层次化调用方法

4位加减法器的设计

4

综合开发调试能力

8位16进制频率计设计;

十字路口交通灯设计;

数字钟设计;

波形信号发生器设计,等。

(任选一题)

20

总计

 

第6篇:vhdl语言范文

论文摘要:从数字系统设计的性质出发,结合目前迅速发展的芯片系统,比较、研究各种硬件描述语言;详细阐述各种语言的发展历史、体系结构和设计方法;探讨未来硬件描述语言的发展趋势,同时针对国内eda基础薄弱的现状,在硬件描述语言方面作了一些有益的思考。

现在,随着系统级fpga以及系统芯片的出现。软硬件协调设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。硬件描述语言为适应新的情况,迅速发展,出现了很多新的硬件描述语言,像superlog、systemc、cynlib c++等等。究交选择哪种语言进行设计,整个业界正在进行激烈的讨论。因此,完全有必要在这方面作一些比较研究,为eda设计做一些有意义的工作,也为发展我们未来的芯片设计技术打好基础。

1、目前hdl发展状况

目前,硬件描述语言可谓是百花齐放,有vhdl、superlog、verilog、systemc、cynlib c++、c level等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。

而比较一致的意见是,hdl和c/c++语言在设计流程中实现级和系统级都具有各自的用武之地。问题出现在系统级和实现级相连接的地方:什么时候将使用中的一种语言停下来,而开始使用另外一种语言?或者干脆就直接使用一种语言?现在看来得出结论仍为时过早。

在2001年举行的国际hdl会议上,与会者就使用何种设计语言展开了生动、激烈的辩论。各方人士各持己见:为verilog辩护者认为,开发一种新的设计语言是一种浪费;为systemc辩护者认为,系统级芯片soc快速增长的复杂性需要新的设计方法;c语言的赞扬者认为,verilog是硬件设计的汇编语言,而编程的标准很快就会是高级语言,cynlib c++是最佳的选择,它速度快、代码精简;supedog的捍卫者认为,superlog是verilog的扩展,可以在整个设计流程中仅提供一种语言和一个仿真器,与现有的方法兼容,是一种进化,而不是一场革命。

当然,以上所有的讨论都没有提及模拟设计。如果想设计带有模拟电路的芯片,硬件描述语言必须有模拟扩展部分,像verilog hdl-a,既要求能够描述门级开关级,又要求具有描述物理特性的能力。

2、几种代表性的hdl语言

2.1 vhdl

早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行vhdl的开发。1987年。由ieee(in,stitute of electrical and electro-nics engineers)将vhdl制定为标准。参考手册为ieee vhdl语言参考手册标准草案1076/8版,于1987年批准,称为ieee 1076-1987。应当注意,起初vhdl只是作为系统规范的一个标滞,而不足为设计而制定的。第二个版本是在1993年制定的,称为vhdl-93,增加了一些新的命令和属性。

虽然有“vhdl是一个4亿美元的错误”这样的说法。但vhdl毕竟是1995年以前唯一制订为标准的硬件描述语言,这是它不争的事实和优势;但同时它确实比较麻烦,而且其综合库至今也没有标准化,不具有晶体管开关级的描述能力和模拟设计的描述能力。目前的看法是,对于特大型的系统级数字电路设计,vhdl是较为合适的。

实质上,在底层的vhdl设计环境是由verilog hdl描述的器件库支持的,因此,它们之间的互操作性十分重要。目前,verilog和vdhl的两个国际组织ovi、ⅵ正在筹划这一工作,准备成立专门的工作组来协调vhdl和verilog hdl语言的互操作性。ovi也支持不需要翻译,由vhdl到verilog的自由表达。

2.2 verilog hdl

venlog hdl是在1983年,由gda(gateway design au-tomation)公司的phil moorby首创的。phil moorby后来成为verilog-xl的主要设计者和cadence公司的第一合伙人。在1984“1985年,phil moorby设计出了第一个名为venlog-xl的仿真器;1986年,他对verilog hdl的发展义作出了另一个巨大的贡献:提出了用于快速门级仿真的xl算法。

随着verilog-xl算法的成功,verilog hdl语言得到迅速发展。1989年,cadence公司收购了gda公司,verilog hdl语言成为cadence公司的私有财产。1990年,cadence公司决定公开verilog hdl语言,于是成立了ovi(open verilog internauonal)组织,负责促进verilog hdl语言的发展。基于verilog hdl的优越性,ieee于1995年制定了verilog hdl的ieee标准,即verilog hdl 1364-1995;2001年了verilog hdl 1364-2001标准。在这个标准中,加入了verilog hdl-a标准,使verilog有了模拟设计描述的能力。

2.3 superlog

开发一种新的硬件设计语言,总是有些冒险,而且未必能够利用原来对硬件开发的经验。能不能在原有硬件描述语言的基础上,结合高级语言c、c++甚至java等语言的特点,进行扩展,达到一种新的系统级设计语言标准呢?

superlog就是在这样的背景下研制开发的系统级硬件描述语言。verilog语言的首创者phil moorby和peter flake等硬什描述语言专家,在一家叫co-design automation的eda公司进行合作,开始对verilog进行扩展研究。1999年,co-design公司了superlogtm系统设计语言,同时了两个开发工具:systemsimtm和systemextm。一个用于系统级开发,一个用于高级验证。2001年,co-design公司向电子产业标准化组织accellera了superlog扩展综合子集ess,这样它就可以在今天verilog语言的rtl级综合子集的基础上,提供更多级别的硬件综合抽象级,为各种系统级的eda软件工具所利用,

至今为止。已超过15家芯片设计公司用superlog来进行芯片设计和硬件开发。superlog是一种具有良好前景的系统级硬件描述语言。但是不久前,由于整个it产业的滑坡,eda公司进行大的整合,co-design公司被synopsys公司兼并,形势又变得扑朔迷离。

2.4 systemc

随着半导体技术的迅猛发展,soc已经成为当今集成电路设计的发展方向。在系统芯片的各个设计中,像系统定义、软硬件划分、设计实现等,集成电路设计界一直在考虑如何满足soc的设计要求,一直在寻找一种能同时实现较高层次的软件和硬件描述的系统级设计语言。

systemc正是在这种情况下,由synopsys公司和coware公司积极响应目前各方对系统级设计语言的需求而合作开发的。1999年9月27日,40多家世界著名的eda公司、lp公司、半导体公司和嵌入式软件公司宣布成立“开放式systemc联盟”。著名公司cadence也于2001年加入了systemc联盟。systemc从1999年9月联盟建立初期的0.9版本开始更新,从1.0版到1.1版,一直到2001年10月推出了最新的2,0版。

3、各种hdl语言的体系结构和设计方法

3.1 systemc

实际使用中,systemc由一组描述类库和一个包含仿真核的库组成。在用户的描述程序中,必须包括相应的类库,可以通过通常的ansi c++编译器编译该程序。systemc提供了软件、硬件和系统模块。用户可以在不同的层次上自由选择。建立自己的系统模型,进行仿真、优化、验证、综合等等。

3.2 supeflog

superlog集合了verilog的简洁、c语言的强大、功能验证和系统级结构设计等特征,是一种高速的硬件描述语言。

①verilog 95和verilog 2k。superlog是verilog hdl的超集,支持最新的verilog 2k的硬件模型。

②c和c++语言。superlog提供c语言的结构、类型、指针,同时具有c++面对对象的特性。

③superlog扩展综合子集ess。ess提供一种新的硬件描述的综合抽象级。

④强大的验证功能。自动测试基准,如随机数据产生、功能覆盖、各种专有检查等。

superlog的系统级硬件开发工具主要有co-design au-mmation公司的systemsimtm和systemextm,同时可以结合具它的eda工具进行开发。

3.3 verilog和vhdl

这两种语言是传统硬件描述语言,有很多的书籍和资料叫以查阅参考,这里不多介绍。

4、目前可取可行的策略和方式

按传统方法,我们将硬件抽象级的模型类型分为以下五种:

(1)系统级(system)-用语言提供的高级结构实现算法运行的模型:

(2)算法级(aigorithm)-用语言提供的高级结构实现算法运行的模型:

(3)rtl级(register transfer level)-描述数据在寄存器之间流动和如何处理、控制这些数据流动的模型。

(4)门级(gate-level)-描述逻辑门以及逻辑门之间的连接模型。

(5)开关级(swish-level)-描述器件中三极管和存储节点以及它们之间连接的模型。

根据目前芯片设计的发展趋势。验证级和综合抽象级也有可能成为一种标准级别。因为它们适合于ip核复用和系统级仿真综合优化的需要,而软件(嵌入式、固件式)也越来越成为一个和系统密切相关的抽象级别。

目前,对于一个系统芯片设计项目,可以采用的方案包括以下几种:

①最传统的办法是,在系统级采用vhdl,在软件级采用c语言,在实现级采用verilog。目前,vhdl与verilog的互操作性已经逐步走向标准化,但软件与硬件的协凋设计还是一个很具挑战性的工作。因为软件越来越成为soc设计的关键。该力案的特点是:风险小,集成难度大,与原有方法完全兼容,有现成的开发工具:但工具集成由开发者自行负责完成。

②系统级及软件级采用superlog,硬件级和实现级均采用verilog hdl描述,这样和原有的硬件设计可以兼容。只要重新采购两个superlog开发工具systemsimtm和systemextm即可。该方案特点是风险较小,易于集成,与原硬件设计兼容性好。有集成开发环境。

③系统级和软件级采用systemc,硬件级采用systemc与常规的verilog hdl互相转换,与原来的软件编译环境完全兼容。开发者只需要一组描述类库和一个包含仿真核的库,就可以在通常的ansi c++编译器环境下开发;但硬件描述与原有方法完全不兼容。该方案特点是风险较大,与原软件开发兼容性好,硬件开发有风险。

5、未来发展和技术方向

微电子设计工业的设计线宽已经从0.251um向0.18um变迁,而且正在向0.13um和90nm的目标努力迈进。到0.13um这个目标后,90%的信号延迟将由线路互连所产生:为了设计工作频率近2ghz的高性能电路,就必须解决感应、电迁移和衬底噪声问题(同时还有设计复杂度问题)。

未来几年的设计中所面临的挑战有哪些?标准组织怎样去面对?当设计线宽降到0.13um,甚至更小尉,将会出现四个主要的趋势:设计再利用;设计验证(包括硬件和软什);互连问题将决定剥时间、电源及噪声要求;系统级芯片设计要求。

满足来来设计者需要的设计环境将是多家供应商提供解决方案的模式,因为涉及的问题面太广且太复杂,没有哪个公司或实体可以独立解决。实际上,人们完全有理由认为,对下一代设计问题解决方案的贡献,基础研究活动与独立产业的作用将同等重要。

以后eda界将在以下三个方面开展工作。

①互用性标准。所有解决方案的基础,是设计工具开发过程的组件一互用性标准。我们知道。eda工业采用的是工业上所需要的标准。而不管标准是谁制定的。但是,当今市场的迅速发展正在将优势转向那些提供标准时能做到快速适应和技术领先的组织。处于领先的公司正在有目的地向这方面投资,那些没有参加开发这些标准的公司则必须独自承担风险。

第7篇:vhdl语言范文

论文摘要:从数字系统设计的性质出发,结合目前迅速发展的芯片系统,比较、研究各种硬件描述语言;详细阐述各种语言的发展历史、体系结构和设计方法;探讨未来硬件描述语言的发展趋势,同时针对国内eda基础薄弱的现状,在硬件描述语言方面作了一些有益的思考。

现在,随着系统级fpga以及系统芯片的出现。软硬件协调设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。硬件描述语言为适应新的情况,迅速发展,出现了很多新的硬件描述语言,像superlog、systemc、cynlib c++等等。究交选择哪种语言进行设计,整个业界正在进行激烈的讨论。因此,完全有必要在这方面作一些比较研究,为eda设计做一些有意义的工作,也为发展我们未来的芯片设计技术打好基础。

1、目前hdl发展状况

目前,硬件描述语言可谓是百花齐放,有vhdl、superlog、verilog、systemc、cynlib c++、c level等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。

而比较一致的意见是,hdl和c/c++语言在设计流程中实现级和系统级都具有各自的用武之地。问题出现在系统级和实现级相连接的地方:什么时候将使用中的一种语言停下来,而开始使用另外一种语言?或者干脆就直接使用一种语言?现在看来得出结论仍为时过早。

在2001年举行的国际hdl会议上,与会者就使用何种设计语言展开了生动、激烈的辩论。各方人士各持己见:为verilog辩护者认为,开发一种新的设计语言是一种浪费;为systemc辩护者认为,系统级芯片soc快速增长的复杂性需要新的设计方法;c语言的赞扬者认为,verilog是硬件设计的汇编语言,而编程的标准很快就会是高级语言,cynlib c++是最佳的选择,它速度快、代码精简;supedog的捍卫者认为,superlog是verilog的扩展,可以在整个设计流程中仅提供一种语言和一个仿真器,与现有的方法兼容,是一种进化,而不是一场革命。

当然,以上所有的讨论都没有提及模拟设计。如果想设计带有模拟电路的芯片,硬件描述语言必须有模拟扩展部分,像verilog hdl-a,既要求能够描述门级开关级,又要求具有描述物理特性的能力。

2、几种代表性的hdl语言

2.1 vhdl

早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行vhdl的开发。1987年。由ieee(in,stitute of electrical and electro-nics engineers)将vhdl制定为标准。参考手册为ieee vhdl语言参考手册标准草案1076/8版,于1987年批准,称为ieee 1076-1987。应当注意,起初vhdl只是作为系统规范的一个标滞,而不足为设计而制定的。第二个版本是在1993年制定的,称为vhdl-93,增加了一些新的命令和属性。

虽然有“vhdl是一个4亿美元的错误”这样的说法。但vhdl毕竟是1995年以前唯一制订为标准的硬件描述语言,这是它不争的事实和优势;但同时它确实比较麻烦,而且其综合库至今也没有标准化,不具有晶体管开关级的描述能力和模拟设计的描述能力。目前的看法是,对于特大型的系统级数字电路设计,vhdl是较为合适的。

实质上,在底层的vhdl设计环境是由verilog hdl描述的器件库支持的,因此,它们之间的互操作性十分重要。目前,verilog和vdhl的两个国际组织ovi、ⅵ正在筹划这一工作,准备成立专门的工作组来协调vhdl和verilog hdl语言的互操作性。ovi也支持不需要翻译,由vhdl到verilog的自由表达。

2.2 verilog hdl

venlog hdl是在1983年,由gda(gateway design au-tomation)公司的phil moorby首创的。phil moorby后来成为verilog-xl的主要设计者和cadence公司的第一合伙人。在1984“1985年,phil moorby设计出了第一个名为venlog-xl的仿真器;1986年,他对verilog hdl的发展义作出了另一个巨大的贡献:提出了用于快速门级仿真的xl算法。

随着verilog-xl算法的成功,verilog hdl语言得到迅速发展。1989年,cadence公司收购了gda公司,verilog hdl语言成为cadence公司的私有财产。1990年,cadence公司决定公开verilog hdl语言,于是成立了ovi(open verilog internauonal)组织,负责促进verilog hdl语言的发展。基于verilog hdl的优越性,ieee于1995年制定了verilog hdl的ieee标准,即verilog hdl 1364-1995;2001年了verilog hdl 1364-2001标准。在这个标准中,加入了verilog hdl-a标准,使verilog有了模拟设计描述的能力。

2.3 superlog

开发一种新的硬件设计语言,总是有些冒险,而且未必能够利用原来对硬件开发的经验。能不能在原有硬件描述语言的基础上,结合高级语言c、c++甚至java等语言的特点,进行扩展,达到一种新的系统级设计语言标准呢?

superlog就是在这样的背景下研制开发的系统级硬件描述语言。verilog语言的首创者phil moorby和peter flake等硬什描述语言专家,在一家叫co-design automation的eda公司进行合作,开始对verilog进行扩展研究。1999年,co-design公司了superlogtm系统设计语言,同时了两个开发工具:systemsimtm和systemextm。一个用于系统级开发,一个用于高级验证。2001年,co-design公司向电子产业标准化组织accellera了superlog扩展综合子集ess,这样它就可以在今天verilog语言的rtl级综合子集的基础上,提供更多级别的硬件综合抽象级,为各种系统级的eda软件工具所利用,

至今为止。已超过15家芯片设计公司用superlog来进行芯片设计和硬件开发。superlog是一种具有良好前景的系统级硬件描述语言。但是不久前,由于整个it产业的滑坡,eda公司进行大的整合,co-design公司被synopsys公司兼并,形势又变得扑朔迷离。

2.4 systemc

随着半导体技术的迅猛发展,soc已经成为当今集成电路设计的发展方向。在系统芯片的各个设计中,像系统定义、软硬件划分、设计实现等,集成电路设计界一直在考虑如何满足soc的设计要求,一直在寻找一种能同时实现较高层次的软件和硬件描述的系统级设计语言。

systemc正是在这种情况下,由synopsys公司和coware公司积极响应目前各方对系统级设计语言的需求而合作开发的。1999年9月27日,40多家世界著名的eda公司、lp公司、半导体公司和嵌入式软件公司宣布成立“开放式systemc联盟”。著名公司cadence也于2001年加入了systemc联盟。systemc从1999年9月联盟建立初期的0.9版本开始更新,从1.0版到1.1版,一直到2001年10月推出了最新的2,0版。

3、各种hdl语言的体系结构和设计方法

3.1 systemc

实际使用中,systemc由一组描述类库和一个包含仿真核的库组成。在用户的描述程序中,必须包括相应的类库,可以通过通常的ansi c++编译器编译该程序。systemc提供了软件、硬件和系统模块。用户可以在不同的层次上自由选择。建立自己的系统模型,进行仿真、优化、验证、综合等等。

3.2 supeflog

superlog集合了verilog的简洁、c语言的强大、功能验证和系统级结构设计等特征,是一种高速的硬件描述语言。

①verilog 95和verilog 2k。superlog是verilog hdl的超集,支持最新的verilog 2k的硬件模型。

②c和c++语言。superlog提供c语言的结构、类型、指针,同时具有c++面对对象的特性。

③superlog扩展综合子集ess。ess提供一种新的硬件描述的综合抽象级。

④强大的验证功能。自动测试基准,如随机数据产生、功能覆盖、各种专有检查等。

superlog的系统级硬件开发工具主要有co-design au-mmation公司的systemsimtm和systemextm,同时可以结合具它的eda工具进行开发。

3.3 verilog和vhdl

这两种语言是传统硬件描述语言,有很多的书籍和资料叫以查阅参考,这里不多介绍。

4、目前可取可行的策略和方式

按传统方法,我们将硬件抽象级的模型类型分为以下五种:

(1)系统级(system)-用语言提供的高级结构实现算法运行的模型:

(2)算法级(aigorithm)-用语言提供的高级结构实现算法运行的模型:

(3)rtl级(register transfer level)-描述数据在寄存器之间流动和如何处理、控制这些数据流动的模型。

(4)门级(gate-level)-描述逻辑门以及逻辑门之间的连接模型。

(5)开关级(swish-level)-描述器件中三极管和存储节点以及它们之间连接的模型。

根据目前芯片设计的发展趋势。验证级和综合抽象级也有可能成为一种标准级别。因为它们适合于ip核复用和系统级仿真综合优化的需要,而软件(嵌入式、固件式)也越来越成为一个和系统密切相关的抽象级别。

目前,对于一个系统芯片设计项目,可以采用的方案包括以下几种:

①最传统的办法是,在系统级采用vhdl,在软件级采用c语言,在实现级采用verilog。目前,vhdl与verilog的互操作性已经逐步走向标准化,但软件与硬件的协凋设计还是一个很具挑战性的工作。因为软件越来越成为soc设计的关键。该力案的特点是:风险小,集成难度大,与原有方法完全兼容,有现成的开发工具:但工具集成由开发者自行负责完成。

②系统级及软件级采用superlog,硬件级和实现级均采用verilog hdl描述,这样和原有的硬件设计可以兼容。只要重新采购两个superlog开发工具systemsimtm和systemextm即可。该方案特点是风险较小,易于集成,与原硬件设计兼容性好。有集成开发环境。

③系统级和软件级采用systemc,硬件级采用systemc与常规的verilog hdl互相转换,与原来的软件编译环境完全兼容。开发者只需要一组描述类库和一个包含仿真核的库,就可以在通常的ansi c++编译器环境下开发;但硬件描述与原有方法完全不兼容。该方案特点是风险较大,与原软件开发兼容性好,硬件开发有风险。

5、未来发展和技术方向

微电子设计工业的设计线宽已经从0.251um向0.18um变迁,而且正在向0.13um和90nm的目标努力迈进。到0.13um这个目标后,90%的信号延迟将由线路互连所产生:为了设计工作频率近2ghz的高性能电路,就必须解决感应、电迁移和衬底噪声问题(同时还有设计复杂度问题)。

未来几年的设计中所面临的挑战有哪些?标准组织怎样去面对?当设计线宽降到0.13um,甚至更小尉,将会出现四个主要的趋势:设计再利用;设计验证(包括硬件和软什);互连问题将决定剥时间、电源及噪声要求;系统级芯片设计要求。

满足来来设计者需要的设计环境将是多家供应商提供解决方案的模式,因为涉及的问题面太广且太复杂,没有哪个公司或实体可以独立解决。实际上,人们完全有理由认为,对下一代设计问题解决方案的贡献,基础研究活动与独立产业的作用将同等重要。

以后eda界将在以下三个方面开展工作。

①互用性标准。所有解决方案的基础,是设计工具开发过程的组件一互用性标准。我们知道。eda工业采用的是工业上所需要的标准。而不管标准是谁制定的。但是,当今市场的迅速发展正在将优势转向那些提供标准时能做到快速适应和技术领先的组织。处于领先的公司正在有目的地向这方面投资,那些没有参加开发这些标准的公司则必须独自承担风险。

第8篇:vhdl语言范文

【关键词】项目化教学;FPGA开发与应用;VHDL

1 基于FPGA的数字系统设计简介

FPGA是Field Programmable Gate Array的缩写,即现场可编程门阵列,它完全由用户通过软件进行编程和配置,从而完成某种特定的功能,且可以反复擦写的新型器件。传统的数字系统设计方法是自底向上的设计方法,它是以各种不同的中小规模集成电路芯片为基础,按照功能要求在印刷电路板上将不同的芯片连接起来,构成实现某种功能的电子系统。基于FPGA[1]的数字系统设计方法采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元。它以FPGA芯片为核心,通过编程的方式完成系统功能的设计并将设计写入FPGA芯片内,使芯片具有设计的功能。设计过程中通过不同阶段的仿真可以及时检查设计的正确性,电路的修改只需要通过修改程序并重新下载到FPGA中即可。因此基于FPGA的数字系统设计易于测试和修改,设计周期短,便于移植。

2 项目化教学实施过程

“FPGA开发与应用”这门课是针对大三计算机网络工程专业学生开设的一门专业课,学生在前期已学过《电路》、《数字电路》、《模拟电路》、《C语言程序设计》等课程。通过该门课,使学生掌握VHDL语言(超高速集成电路硬件描述语言)的编程方法,能熟练应用ISE平台进行数字系统设计,理解自顶向下的系统设计方法,积累数字系统设计经验。

传统的教学方法重在介绍VHDL语言的语法规则和语句,知识点较零散,学起来较枯燥,而且不知如何应用这些语句。而项目化教学重在将知识点融在项目中理解,学生通过做一个小项目可以掌握相应的知识点,并通过3-4人一组协作完成,培养其团队合作能力、沟通能力和语言表达能力等。项目化教学真正实现了三个转变:以教师为中心转变为以学生为中心;以课本为中心转变为以项目为中心;以课堂为中心转变为以实际经验为中心[2]。

下面将通过“点亮两位数字”项目分析如何实施项目化教学[3][4]。“点亮两位数字”项目即利用Xilinx公司的ISE软件平台进行系统设计,通过VHDL语言编程实现显示两位数字的功能,并最终生成二进制文件,下载到Basys2开发板上验证。

2.1 项目立项阶段

教师先向学生展示最终要完成的效果,讲明项目任务,再对学生进行分组,尽量采取自愿原则,教师可对小组成员适当调整,保证每组中至少有一人学习情况较好,并任命一人为组长。

2.2 需求分析阶段

根据项目要求,分析最终要呈现的效果,确定程序的功能模块和性能需求。比如要用两个数码管显示、动态扫描问题、译码问题等。

2.3 系统设计阶段

首先每个小组要确定总体方案设计,例如分哪几个模块、每个模块要实现什么功能,再进行详细设计,包括用Visio软件绘制系统功能结构图(如图1所示)、每个模块如何用VHDL语言实现等。在详细设计中,涉及每个模块具体的功能,写出详细的系统设计报告,以此进行编码和测试,从而保证系统设计的可靠性。可以由组长分配任务,让每个组员完成一个模块的编写工作。

2.4 编码、测试阶段

教师检查每组的系统功能结构图,若无问题,则可以开始编程。在用VHDL语言编程阶段,学生可根据系统功能结构图分模块进行调试,先将底层三个模块(分频器、控制模块、译码器)都编好后,通过ISE软件编译检查语法错误、并进行仿真,若无问题,再进行顶层文件编写;若有问题,则需修改源代码,直至无错误为止。顶层文件主要是通过元件例化语句将底层三个模块进行连接,编好后,也需要经过ISE软件编译检查语法错误。

2.5 下载、验证阶段

最后将生成的二进制文件下载到basys2开发板上验证,若能正确显示两位数字,即成功。若不能正常显示,则需返回到ISE软件中,修改底层文件或顶层文件,直至验证成功为止。

2.6 验收阶段

在编写代码的过程中,教师可适当给予指导,给学生提供一些参考资料或相似的例子,帮助学生完成项目。教师要检查各组最终能否实现“显示两位数字”,协助并指导各组,完成编写“显示两位数字”项目文档,并对各组进行成绩评定。各组组长向全班汇报、展示本组的作品,并列举项目开发中遇到的各种问题,其他组的学生可以提问,最后教师对各组进行点评。各组组长根据小组成员的贡献对小组成员进行打分,教师根据小组成绩和组长对各成员的打分,确定每位学生的成绩。

3 总结

由于传统的教学方法重在介绍VHDL语言的语法和语句,学生学起来较枯燥,因此结合《FPGA开发与应用》课程的特点,通过“显示两位数字”项目,展示如何在《FPGA开发与应用》课程中实施项目化教学。通过项目化教学,不但能使学生掌握VHDL语言的编程方法和自顶向下的系统设计方法,熟悉真实项目的实施过程,而且通过分组协作完成一个项目,可以锻炼学生的团队协作能力、沟通能力、语言表达能力等,从而激发学生的学习兴趣,提高学生的自主学习能力。

【参考文献】

[1]陈学英,李颖.FPGA应用实验教程[M].国防工业出版社,2013,05.

[2]张学琳,陈齐超,段珊,胡波.项目教学法在“C语言课程设计”中的研究与应用[J].实验技术与管理,2011,28(02):164-167.

第9篇:vhdl语言范文

关键词:DDS;直接数字频率合成;调频;扫频;VHDL

中图分类号:TN99 文献标识码:B 文章编号:1004373X(2008)1503002

Generation of Linear Frequency Modulation Signal Based on DDS

ZHANG Xianzhi

(Unit 63891 PLA,Luoyang,471003,China)

Abstract:DDS is a new technology which advanced theory and method of digital processing into frequency synthesis.VHDL is a kind of hardware description language,it is used to describe the function of circuit hardware,the connection relationship of signal and the timing relationship.So,it is applied broadly in the field of electron engineering.The fundamental and modulation characteristics of DDS are introduced.Besides,DDS is implemented by programming in VHDL language.A sort of linear FM signal based on DDS technology is implemented.Then,simulation result of the main part of them is given,and its correctness is verificated.

Keywords:DDS;direct digital frequency synthesis;FM;sweep frequency;VHDL

1 DDS(直接数字式频率合成器)的基本原理

直接数字频率合成是从相位概念出发直接合成所需波形的一种频率合成技术。DDS把一系列数字量形式的信号通过数模转换器(DAC)转换成模拟量形式的信号,其基本结构如图1所示。

图1 DDS结构示意图DDS由相位累加器、加法器、波形存储器(ROM)、数字乘法器、D/A转换器和低通滤波器(LPF)组成。DDS的核心是相位累加器,由一个加法器和一个相位寄存器(REG)级联构成。在参考时钟fc的控制下,相位累加器对频率控制字K进行线性累加,输出的和再与相位控制字P相加后作为地址,对ROM进行寻址。ROM中存放的是经过采样、量化处理后的某种周期性连续信号一个周期波形的幅度值,也就是与一个周期的相位采样相对应的函数波形查找表,不同的相位地址对应这种周期信号的不同幅度值编码。ROM输出的幅度值编码通过数字乘法器被幅度控制字A加权,加权后的幅度值编码经D/A转换器变成相应的阶梯波,再经低通滤波器平滑后就可以得到所合成信号的模拟波形。合成的信号波形取决于ROM中存放的幅度值数据,因此用DDS可以产生任意波形。

设相位累加器的字长为N,则DDS的输出频率fo和频率分辨率(即最小输出频率)Δfmin分别为:fo=K・fc2N

Δfmin=fc2N 只要N足够大,DDS可以得到很小的频率分辨率。要改变DDS的输出频率,只要改变频率控制字K即可。

值得注意的是,根据Nyquist采样定理,在对连续信号进行采样的一个周期内,采样频率不能改变,故利用DDS进行信号合成时,在信号合成的一个周期内,频率控制字K不能发生变化,也就是K在每次改变之前至少应该持续2N/K个DDS时钟周期,即2N/K/fc。

通过改变相位控制字P可以控制输出信号的相位参数,设相位加法器的字长为M,当相位控制字由0变到P(P≠0)时,ROM的输入为相位累加器的输出与相位控制字P之和,因此其输出的幅度值相位会增加2πP/2M,从而使最后输出的模拟信号产生相移。

DDS输出信号的幅度可以通过在ROM之后加入一个数字乘法器来实现,幅度控制字A起到对ROM所输出的幅度值编码进行加权的作用。

由此可见,当DDS的相位累加器字长和相位加法器字长确定后,通过改变K,P,A就可以有效地控制DDS输出的模拟信号的频率、相位和幅度,这就是DDS技术的调制特性。

2 VHDL语言实现的DDS

为简单起见,下面所描述的DDS仅设置了频率控制字K,相位控制字P和幅度控制字A都未予以考虑,其处理可以类推。DDS的输出为正弦波信号。

由于正弦波关于π奇对称,关于π/2与3π/2偶对称,因此波形存储器(ROM)中只需存储其1/4个周期的幅度值编码。具体地,ROM中存储正弦波0~π/2相位范围内的256个采样点的幅度值,采用8位编码。而DDS的输出为9位,最高位作为符号位,用以区分幅度值的正负,“0”表示正,“1”表示负。ROM为8位地址寻址,而相位累加器的字长采用10位。最高位用以区分正弦波的前、后半周期,“0”为前半周期,幅度值为正,“1”为后半周期,幅度值为负。次高位用以区分正弦波前、后半周期的前、后1/4周期,“0”为前1/4周期,寻址地址为相位累加器的低8位,“1”为后1/4周期,寻址地址为相位累加器低8位的取反。

用VHDL实现DDS的源程序的核心部分如下:

process (clk)

begin

if clk′event and clk = ′1′ then

if addr (8) = ′1′ then

taddr

else

taddr

end if;

if taddr = x"00" then

dsin (8)

else

dsin (8)

end if;

case taddr is

when x"00" => dsin (7 downto 0)

when x"01" => dsin (7 downto 0)

when x"02" => dsin (7 downto 0)

…… ……

when x"FE" => dsin (7 downto 0)

when x"FF" => dsin (7 downto 0)

when others => dsin (7 downto 0)

end case;

addr

end if;

end process;

在Xilinx ISE 8.2i开发环境中对其进行仿真的结果,如图2所示。

图2 DDS仿真结果3 扫频信号的产生

利用DDS技术的调制特性可以方便地产生扫频信号,仅需控制DDS的频率控制字K,让其随预期设计的规律变化即可。

为了采用DDS实现扫频信号扫频带宽范围内的各个频点fi,需要为其确定相应的频率控制字Ki,从而很容易地计算出所需的一系列Ki值。与DDS的基本原理类似,将符合设计要求的一系列Ki值存储在一张查找表中。再利用一个计数器循环计数,将其输出作为查找表的寻址地址,以此不断地循环读取查找表中的各个Ki。这样就可以使受Ki控制的DDS的输出始终在所预期设计的各个频点fi上变化,达到扫频的目的。其中,计数器循环一次的时间就是所要实现的扫频信号的扫频周期,而计数器的计数范围则与扫频信号扫频带宽范围内的频点个数相对应。

以上就是利用DDS实现扫频信号的基本思路,以下是实现此思路的VHDL源程序的主要部分:

process (clk)

begin

if clk′event and clk = ′1′ then

case t is

when o"0" => dcs

when o"1" => dcs

when o"2" => dcs

when o"3" => dcs

when o"4" => dcs

when o"5" => dcs

when o"6" => dcs

when o"7" => dcs

when others => dcs

end case;

t

end if;

end process;

在Xilinx ISE 8.2i开发环境中对其进行仿真的结果如图3所示。

图3 产生频率控制字的仿真结果4 结 语

VHDL是IEEE的工业标准硬件描述语言,可以描述硬件电路的功能、信号连接关系及定时关系,在电子工程领域用来描述、验证和设计电子线路得到了广泛的接受和应用。利用DDS技术的调制特性产生各种调制信号简单方便,容易实现。从文中不难看出,将VHDL语言与DDS技术结合起来设计生成调频信号,直观快捷,可操作性很强,必将得到更加广泛的应用。

参 考 文 献

[1]张顺兴.数字电路与系统设计[M].南京:东南大学出版社,2004.

[2]黄智伟.射频电路设计[M].北京:电子工业出版社,2006.

[3]姜宇柏,游思晴.软件无线电原理与工程应用[M].北京:机械工业出版社,2006.

[4]谭会生,瞿遂春.EDA技术综合应用实例与分析[M].西安:西安电子科技大学出版社,2004.

[5]潘松,黄继业,王国栋.现代DSP技术[M].西安:西安电子科技大学出版社,2003.

[6]邓延安.直接数字频率合成单象限存储结构的VHDL语言实现[J].安徽工程科技学院学报,2006,21(1):37-39.

[7]李逢玲,郑飞.基于EDA技术的调频信号发生器的设计[J].现代电子技术,2006,29(8):10-12.

[8]DDS原理简介[EB/OL]..cn.

精选范文推荐