填空题1、一个标准的VHDL语言程序由库、实体和结构体组成。
2、个完整的VHDL语言描述是以对一个功能元件的完整描述为基础的3、实体相当于电路图中一个器件符号。
4、端口说明( PORT )是对设计实体与外部接口的描述,也可以说是设计实体的外部引脚的名称,它为实体与外部环境的动态通信提供通道5、缓冲( BUFFER )端口描述模式和 INOUT 双向模式的区别在于只能接受一个驱动源,不允许多重驱动。
6、 VHDL语言的结构体的这些子结构互相之间是并行的。
7、将 VHDL语言的行为描述语句转换为门级描述由VHDL开发工具自动完成,是VHDL 语言综合器的任务。
8、数据流描述也称为RTL (寄存器传输级)描述方式,它类似于布尔方程,它既表示某种行为,又隐含结构信息,主要指非结构化的并行语句描述。
9、在结构描述中,元件间的连接是通过定义的端口界面来实现的。
10、结构描述的缺点是程序表示的是电路的结构连接关系,不能直观的得到设计电路的逻辑功能。
综述题1、写出实体的结构。
答案:ENTITY 实体名IS[GENERIC( 类属表 );][PORT( 端口表 );]END ENTITY实体名;2 、在 IEEE 库中定义了哪四种VHDL 语言的端口模式?答案:IN :输入。
OUT :输出。
INOUT :双向,输入输出。
BUFFER :缓冲,其实质也是双向的,但是只能接受一个驱动源。
3、写出结构体的结构。
?2 ?答案:ARCHITECTURE 结构体名OF 实体名IS[ 说明语句 ]BEGIN[ 功能描述语句]END ARCHITECTURE结构体名;4 、写出结构体的功能性描述语句的5 种子结构。
答案:块语句、进程语句、子程序调用语句、信号赋值语句和元件例化语句。
5 、 VHDL 有哪四种描述风格?答案:行为描述、数据流描述、结构描述以及由前三种组合的混合描述。
实验题实验【一】编写一个实体实验目的:熟悉实体的编写方法。
实验任务:在 Quartus II 中建立一个 VHDL 语言文件,编写一个实体,该实体要求如下:实体名: TEST 。
输入端口: INPUTA , INPUTB ,数据类型为BIT 。
输出端口: OUTPUT ,数据类型为BIT 。
没有类属说明。
答案:ENTITY TEST IS -- 实体PORT(INPUTA,INPUTB: in bit; OUTPUT: out bit); --2 个输入引脚,类型BIT--1 个输出引脚,类型BITEND TEST;实验【二】编写一个结构体实验目的:熟悉结构体的编写方法。
? 3 ?实验任务:在 Quartus II 中建立一个 VHDL 语言文件,编写一个结构体,该结构体要求如下:实体名: TEST 。
结构体名: RTL 。
没有功能描述语句。
答案:ARCHITECTURE RTL OF TEST IS-- 结构体,名称为RTL ,对应实体为TESTBEGIN--无逻辑语句END RT;?4 ?第一章EDA 开发技术基础在EDA 开发中,用户以计算机为工具,在对应的集成开发环境中,用硬件描述语言完成设计文件,然后由计算机自动地完成逻辑编译、综合、优化、布局、布线和仿真等工作,并且对于特定目标芯片进行适配编译、逻辑映射和编程下载。
本章将介绍EDA 开发技术的基础知识,包括EDA 的发展历史、可编程逻辑语言的分类和特点,可编程逻辑器件的种类和开发方法,使用EDA 进行设计的流程等。
1.1 EDA 技术基础EDA 是电子设计自动化(Electronic Design Automation )的缩写,是在20 世纪 60 年代中期从计算机辅助设计( CAD )、计算机辅助制造( CAM )、计算机辅助测试( CAT )和计算机辅助工程( CAE )的概念发展而来的。
1.1.1EDA 技术简介EDA 技术是现代电子信息工程领域中一门发展迅速的新技术。
它是以计算机为工作平台,其以EDA 软件工具为开发环境,以硬件描述语言为主要表达方式,以大规模可编程器件为设计载体,以ASIC 、SOC、FPGA 芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。
EDA 技术有广义和狭义之分。
从广义来说EDA技术包括半导体工艺设计自动化、可编程器件设计自动化、电子系统设计自动化、印制电路板设计自动化、仿真与测试故障诊断自动化等,例如PSPICE、EWB 、MATLAB等计算机辅助分析CAA 技术和 PROTEL 、ORCAD 等印刷制版计算机辅助设计等。
从狭义来说EDA技术就是电子设计自动化,即通过相关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、化简、分割、综合、优化、以及布局布线、逻辑仿真等工作,最终完成对于特定目标芯片的适配编译、逻辑映射、编程下载,从而形成集成电子系统,不包含电子生产自动化。
EDA 技术在电子系统设计中具有以下特点,所以的到了广泛应用:● 用软件的方式设计硬件。
● 用软件方式设计的系统到硬件系统的转换是由相关软件自动完成的。
● 在设计过程中可以用软件进行各种仿真进行验证。
●现代 EDA 工具具有高层综合和优化功能,能够在系统级进行综合、优化和方针,从而缩短设计周期,提高工作效率。
● 系统可以现场编程,在线升级。
? 5 ?第二章Quartus II 集成开发环境Altera公司的Quartus Ⅱ集成开发环境根据设计者的需求提供了一个完整的多平台开发环境,其包含了整个可编程逻辑器件设计阶段的所有解决方案,提供了完整的图形用户界面可以完成可编程片上系统的整个开发流程的各个阶段,包括输入、综合、仿真等,在其中设计者可以方便的完成数字系统设计的全过程。
本章将介绍如何在Quartus II 集成开发环境应用VHDL语言进行数字系统的开发。
注意: Quartus II 集成开发环境的最新版是V12.0 ,但是在最新版中其去掉了直接输入波形文件进行仿真的功能,取而代之的是使用ModelSim 的仿真文件进行仿真,为了便于读者快速上手学习,不增加难度,本书采用了依然可以使用波形文件进行仿真的V9.1版本,读者可以在Altera 的网站上免费下载到该版本的Web Edtion 版;另外值得一说的是 Quartus II 有完整版和Web Edtion 两个版本,前者收费而后者收费,前者对于后者而言只是多了很多内部集成的IP 核,所以对于普通入门级用户而言直接下载免费使用的后者即可。
2.1 Quartus II 应用基础设计输入包括基于块的设计、系统级设计和软件开发综合布局、布线调试时序分析工程变动管理仿真时序逼近编程、配置图 1.2Quartus Ⅱ设计流程?6 ?第三章VHDL 语言基础VHDL语言的应用程序都是由几个固定的部分组成的,通常来说缺一不可,并且其代码会具有一些固定的样式即描述风格。
本章以一个使用VHDL语言来实现三态门的简单实例来介绍VHDL语言程序的一些基础知识,包括VHDL语言的组成,VHDL语言的实体, VHDL 语言的结构体和VHDL 语言的描述风格等。
3.1 VHDL 语言程序的结构和普通的应用语言程序一样, VHDL 语言的程序也有自己的结构,或者说组成部分。
一个简单的用 VHDL 语言实现的三态门如例 3.1 所示,各个语句对应的模块结构如右侧注释所示。
【例 3.1 】一个简单的VHDL语言程序和其结构LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;IEEE 库使用说明ENTITY tri_gate ISPORT(DIN,EN:IN std_logic;DOUT:OUT std_logic); END tri_gate;ARCHITECTURE rtl OF tri_gate IS BEGINPROCESS(DIN,EN)BEGINIF(EN='1') THENDOUT<=DIN;ELSEDOUT<='Z';END IF;END PROCESS; END rtl;器件外部接口信号实体:说明,相当于器件的引脚器件内部工作逻辑结构体:描述,即为实体描述的器件功能结构该应用代码对应的RTL 文件如图 3.1 所示。
? 7 ?第四章VHDL 语言的基本要素和其他编程语言一样,硬件描述语言VHDL 也有自己的文字规则。
作为编程语句的基本单元, VHDL语言的语言要素反映了其重要的语言特点。
能够正确理解的文字规则和熟练掌握VHDL语言要素的基本含义及用法,是利用VHDL VHDL 语言硬件描述语言进行数字系统设计的基础,本章将就这些方面进行详细的介绍。
4.1 VHDL 语言文字的命名规范使用 VHDL 语言进行数字系统设计,必须在编程过程中严格遵守VHDL文字规则,如其特有的表达方式等,VHDL 语言的文字(Literal )主要包括数值型文字和标识符。
● 数值型文字:包括数字型、字符串型和位串型。
● 标识符:用于定义常数、变量、信号、子程序或参数的名字。
4.1.1数值型文字数值型文字的值主要有以下几种表达方式:●整数型文字:整数文字都是十进制的数,如:1,123,987 ,518E2 ,12_345_678等。
其中,下划线并无特殊含义,其唯一的作用就是增加文字的可读性,且不影响文字本身的值。
● 实数型文字:实数型文字与整数型文字一样都是十进制的数,但是他必须带有小数点。
如:12.3, 34.502, 0.0 ,6.5E-2 ( =0.065 ), 123_456.789_321 等。
● 以数制基数表示的文字:用这种表示方法的文字由五部分构成。
第一部分,用十进制数来表示的数制基数;第二部分,数制隔离符号“#”;第三部分,要表达的文字的数值表示;第四部分,指数隔离符号“#”;第五部分,用十进制表示的指数部分,当指数为0 时,这部分可以省略不写,如下所示:SIGNAL A,B,C : INTEGER RANGE 0 TO 255;A <=B <= 2#1100_1111#;10#158#2;-- 表示二进制计数,即十进制的-- 表示十进制计数,且指数为2072,即十进制的158*158C <= 8#375#; -- 表示八进制计数,即十进制的253●物理量文字:此类型文字带有单位,如60s,1km ,300pf描述中,可以进行行为仿真,但是在综合时被忽略,不能被等。
这些文字用于行为VHDL综合器综合形成与之对应的硬件结构。
注意:在这些数值型文字中,整数可综合实现,实数一般不能被综合,而物理量则完全不可综合。
?8 ?第五章VHDL 语言的顺序描述语句从执行顺序上划分,VHDL 语言可以分为顺序描述语句(Sequential Statements )和并行描述语句( Concurrent Statements )两大类,前者在执行过程中是按照书写顺序依次执行的,而后者则是在同一时间同步执行的,在本章将详细地介绍顺序描述语句,包括其特点和分类以及赋值语句、代入语句和流程控制语句等顺序描述语句的使用方法。