VHDL复习资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.填空(每空1分,共20分)

1.MAX+plusII是ALTERA 公司自己开发的EDA 工具软件。

2. VHDL设计实体的基本结构由库、程序包、实体、结

构体、配置等部分构成。

3.在VHDL中最常用的库IEEE 标准库,最常用的包集合是1164。

4.在VHDL的端口声明语句中,端口方向包括输入(in)、输出(out)、

输入|输出(inout)、缓冲

和。

5.VHDL的顺序语句只能出现在进程、函数、过程中,是

按程序书写顺序自上而下,一条一条地执行。

6.VHDL的块语句是并行语句结构,它的内部是由并行语句构成的

7.VHDL的变量(VARIABLE)是一种局部量,只能在进程、函数

和过程中声明和使用。

8.MAX+plusII支持文本、原理图、波形、符号编辑等不同的编辑方

式。

9.MAX+plusII工具软件有功能、时序、仿真等功能。

10.MAX—PLUSⅡ的波形编辑文件分波形输入和波形仿

真,它们的文件扩展名分别是W D F 和S C F。

11.VHDL的实体声明部分指定了设计单元的输入输出端口,它是设计实体对外的通

信界面,是外界可以看到的部分。

12.CPLD和FPGA的含义分别是复杂可编程逻辑器件,现场可编程

门阵列。

13.在VHDL中,含WAIT语句的进程Process的括号不能再加敏感量 ,否则是非

法的.

14.VHDL的Process(进程)语句是由顺序语句组成的,但其本身却是并发语句结

构。

15.VHDL的子程序有函数和过程两种类型。

16.在VHDL中,标准逻辑位数据有 0和1种逻辑值。

17.MAX—PLUSⅡ的仿真分功能仿真和时序仿真。

18.VHDL的变量(VARIABLE)是一个功能变量,只能在进程、函数和过程中声明和使

用。

19.VHDL的数据对象包括常数、变量、信号和文件。

20. 实体和结构体是设计实体的基本组成部分,它们可以构成最基本的VHDL

程序。

20.VHDL语言的字符是以字母的下划线括起来的数字、字母和符号。

二.简答题(每题6分,共 30 分)

1.如何用VHDL语句描述时钟的下降沿和上升沿。

时钟上升沿if clk‘event and clk=“1”then

下降沿if clk‘event and clk =“0” then

2. 在VHDL中的IEEE标准中,预定义的标准是逻辑位数据STD-LOGIC与BIT有何区别。

只有当端口说明为BIT时该端口的信号取值只能是二进制数“0”和“1”

3.VHDL的信号(SIGNAL)与变量(VARIABLE)有什么的区别。

Signal可以在实体构造体等高层次环境中说明,对整个设计实体全局有效

Variable 在进程子函数等低层次环境中说明,只在说明的区域中局部有效

4.叙述一个四位加法器及仿真的全过程。

5.现有两个半加器,一个两输入或门,试画出一个全加器

6.在一个构造体内,其执行语句的顺序有什么特点?

7.卫式BLOCK语句中的条件和PROCESS 语句中的敏感量的区别是什么(顺序),它们的执行过程如

何?

Block块头主要用于信号的映射及参数的定义、process 并行执行进程语句

8.为层次式电路,各层次的功能模块在存盘时要注意什么问题?

(在同一路径的文件夹内)

9.在MAX—PLUSⅡ中一般连线与总线有什么区别,在使用总线时必须注意什么问题?

10、现有一个两输入异或门,一个两输入与门,试画出半加器。

S=A⊕B

11.硬件描述语言描述硬件电路的基本构成是什么?

数字系统的结构,行为和功能;

硬件描述语言设计数字;

电路逻辑电路的过程和方法

12.解释端口方向说明,IN 、 OUT 、 INOUT 、 BUFFER和LINRAGE的含义?

In:输入型,信号从该端口进入实体;

out:输出型,信号从实体内部经该端口输出

Inout:输入输出型,信号既可以从该端口输入也可以输出

Buffer:缓冲型,与out类似但在结构内部可作反馈

Linrage:无指定方向,与任何方向的信号连接

13.数据类型BIT与STD-LOGIC ,BIT_ VECTOR与STD_LOGIC_VECTOR其共同点与不同点是什么?

Std-logic-vector:标准逻辑适量

Std-logic:标准逻辑位量

Bit:为数据类型取值只能是:“0”和“1”

Bit-vector:位矢量,数据类型

三.分析题(共50分)

1.读懂下列程序,指出其完成什么功能?(20分)

(1) library ieee;

use ieee.std_logic_1164.all;

entity aaa is

port ( a,b,c,d: in std_logic;

y:out std_logic) ;

end aaa;

architecture aaa1 of aaa is

begin

p1:process (a,b,c,d)

variable tmp:std_logic_vector (3 downto 0 );

begin

tmp:=a&b&c&d;

case tmp is

when ″0000″=> y<= ′ 1′ ;

when ″0001″=> y<= ′ 1′ ;

when ″0010″= >y<= ′ 1′ ;

when ″0011″= > y<= ′ 1′ ;

when ″0101″=> y<= ′ 1′ ;

when ″0110″= > y<= ′ 1′ ;

when ″0111″=> y<= ′ 1′ ;

when ″1000″=> y<= ′ 1′ ;

when ″1001″=> y<= ′ 1′ ;

when ″1010″=> y<= ′ 1′ ;

when ″1011″=> y<= ′ 1′ ;

when ″1110″= > y<= ′ 1′ ;

when ″1111″=> y<= ′ 0′ ;

when others =>y<=′x′;

end case ;

end process p1;

end aaa1;

与非门

(2) library ieee;

use ieee.ste_logic_1164.all;

entity abc is

port ( clk: in std_logic;

r: in std_logic;

d: in std_logic_vector ( 3 downto 0);

q:out std_logic _vector ( 3 downto 0 ); end abc;

architecture rtl of abc is

signal q_temp :std_logic_vector ( 3 downto 0);

相关文档
最新文档