基于FPGA的多功能波形发生器设计课程设计 联系客服

发布时间 : 星期一 文章基于FPGA的多功能波形发生器设计课程设计更新完毕开始阅读

4程序分析

4.1VHDL语言分析

一个VHDL语言的设计程序描述的是一个电路单元,这个电路单元可以是一个门电路,或者是一个计数器,也可以是一个CPU,一般情况下,一个完整的VHDL语言程序至少包括实体、结构体和程序包三个部分。实体给出电路单元的外部输入输出接口信号和引用信息,结构体给出了电路单元的内部结构和信号的行为特点,程序包定义在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等。 第一部分是程序包,程序包是用VHDL语言编写的共享文件,定义在设计结构体和实体中将要用到的常数、数据类型、子程序和设计好的电路单元等,放在文件目录名称为IEEE的程序包库中。 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;

第二部分是程序的实体,定义电路单元的输入/输出引脚名称。程序的实体名称可以任意取,但必须与VHDL程序的文件名称相同。实体的标示符是ENTITY,实体以ENTITY开头,以END结束。

ENTITY fulladder IS

PORT(a,b,Ci:in std_logic; Co,s: out std_logic_vector(7 downto 0)); END fulladder;

其中,定义了a,b, Ci为输入信号引脚,定义Co,s为输出信号引脚。

第三部分是程序的结构体,具体描述电路的内部结构和逻辑功能。结构体有三种描述方式,分别是行为(BEHAVIOR)描述方式、数据流(DATAFLOW)描述方式和结构描述方式。其中数据流描述方式又被称为寄存器(RTL)描述方式。结构体以表示ARCHITECHTURE开头,以END结尾。结构体的名称可以任取。 architecture behav of fulladder is BEGIN

s<=a xor b xor Ci;

Co<=(a and b)or(a and Ci)or(b and Ci); END fulladder

上面程序段中结构体的描述方式属于程序流描述方式。

4.2主要函数语句分析

在程序设计中,主要使用的函数语句有两种:If-else语句和case-when语句。这两种语句也是VHDL程序设计中常用的语句。二者都属于流程控制语句。流程控制语句通过条件控制开关决定是否执行一条或几条语句或重复执行一条或

几条语句或跳过一条或几条语句 。

IF语句是一种条件语句,它根据语句中所设置的一种或多种条件,有选择地执行指定的顺序语句。IF语句的语句结构有以下三种: IF 条件句 Then -- 第一种IF语句结构 顺序语句 END IF

IF 条件句 Then -- 第二种IF语句结构 顺序语句 ELSE 顺序语句 END IF

IF 条件句 Then -- 第三种IF语句结构 顺序语句

ELSIF 条件句 Then 顺序语句 ... ELSE 顺序语句 END IF

CASE语句根据满足的条件直接选择多项顺序语句中的一项执行,CASE语句的结构如下:

CASE 表达式 IS

When 选择值 => 顺序语句 When 选择值 => 顺序语句 ...

END CASE

当执行到CASE语句时,首先计算表达式的值,然后根据条件句中与之相同的选择值。执行对应的顺序语句,最后结束 CASE语句。表达式可以是一个整数类型或枚举类型的值,

也可以是由这些数据类型的值构成的数组。

5小结

通过这次FPGA课程设计,我对FPGA的基本原理有了进一步的认识。 FPGA的基础就是数字电路和VHDL语言,其开发需要从顶层设计、模块分层、逻辑实现、软硬件调试等多方面着手。开发环境常用的有Altera公司的Quartus II 和Xilinx公司的ISE,本次课程设计选用的是Quartus II 。

此次课程设计暴露了我平时学习中的许多不足。在设计的过程中我遇到了一些问题,比如对Quartus软件的使用还不太熟悉,在编译的时候出现的错误不知道怎么解决,请教了很多同学才弄明白。还有进行仿真之前需要自己建立仿真波形文件,才能进行仿真等等,但在和老师、同学的交流下,最后我都解决了问题。

另一方面我也感受到动手实践的重要性。动手实践是理论知识得以灵活运用的必要前提,也是今后走上工作岗位之后能够很好的完成设计工作的技术保证。FPGA是实用性很强的课程,只有多学多用,边学边用,才能促进提高自己的能力。虽然课设完成了,但是我意识到,我对FPGA技术仅仅只是停留在入门的阶段,想要有更大的发展,更深入的研究,还需要更多的努力与实践。

6参考文献

【1】潘松 黄继业. EDA技术与VHDL(第二版).北京:清华大学出版社,2005.7 【2】康华光.电子技术基础.北京:高等教育出版社.2006.1 【3】付家才. EDA工程实践技术.北京:化学工业出版社,2007.1 【4】汉泽西. EDA技术及其应用.北京:北京航空航天大学出版社,2004.5 【5】赵刚.EDA技术简明教程.成都:四川大学出版社,2004.6

【6】章彬宏 周正林.EDA应用技术.北京:北京理工大学出版社,2007.7 【7】刘艳萍 高振斌 李志平.EDA实用技术及应用.北京:国防工业出版社,2006.1