eda与vhdl复习资料

更新时间:2023-11-10 07:02:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

选择题练习

一、VHDL基本结构

1. 一个项目的输入输出端口是定义在

A. 实体中 B. 结构体中 C. 任何位置 D. 进程中

2. 描述项目逻辑功能的是

A. 实体 B. 结构体 C. 配置 D. 进程

3. 关键字ARCHITECTURE定义的是 A. 结构体 B. 进程 C. 实体 D. 配置

4.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库: A.IEEE库 B.VITAL库

C.STD库 D.WORK工作库 5. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述是 A.器件外部特性; B.器件的内部功能; C.器件的综合约束;

D.器件外部特性与内部功能。

6. 在VHDL中,库可以包含一个或多个 A. 程序包 B. 结构体 C. 输入 D. 输出

7. 一个能为VHDL综合器接受,并能作为一个独立的设计单元的完整的VHDL程序成为 A. 设计输入 B. 设计输出 C. 设计实体 D. 设计结构

8. Q为输出信号,但内部设计会用到其反馈信号,其正确的端口说明是:

A. Q:IN BIT; B. Q:OUT BIT; C. Q:INOUT BIT; D. Q:BUFFER BIT;

9.VHDL语言程序结构的特点是把一个设计实体分成 A.外部和内部 B.实体和实体说明

C.结构体和结构体说明 D.图形部分和文本部分

10. VHDL设计文件的实体说明部分描述的是 A.电路系统的内部结构 B.电路系统的逻辑功能 C.电路系统的主要参数 D.电路系统的外部端口

11.VHDL语言程序结构中必不可少的部分是:

A.库 B.程序包 C.配置 D.实体和结构体

12. 下列选项中,哪些项在VHDL程序设计文件中属于可选部分 A.库和实体 B.实体和结构体 C.结构体和配置 D. 库、程序包和配置

13. 关于VHDL中实体说明的格式,以下叙述不正确的是

A.实体说明以“ENTITY 实体名 IS”开头,以“END 实体名”结束 B.实体说明中包含类属表和端口说明两部分 C.端口说明中只需要规定端口的模式即可 D.实体名一定要与设计文件同名

14. 在VHDL的实体说明中,端口名表的作用是 A.列出所有输入端口的名称 B.列出所有输出端口的名称

C.说明实体输入、输出端口的信号类型及端口模式 D.只定义输入、输出端口的数目

15. 在VHDL中,为了使已声明的数据类型、子程序、元件能被其他设计实体调用或共享,可以把它们汇集在 中。

A.设计实体 B.配置 C.结构体 D.库和程序包

16.在包含多个结构体的VHDL程序中,必须使用 来选择用于综合和仿真的结构体。 A.If语句 B.Case语句 C.Configuration语句 D.While语句

17.在VHDL的端口声明语句中,用 声明端口为双向方向 A.IN B.OUT C.INOUT D.BUFFER

18. 类属说明的正确格式是:

A.GENERIC(delay:TIME=20us); B.GENERIC(delay:TIME:=20us); C.GENERIC(delay TIME=20us); D.GENERIC(delay=TIME:=20us);

19. VHDL的设计实体可以被高层次的系统 ,成为系统的一部分 A.输入 B.输出 C.仿真 D.调用

20.VHDL常用的库是( )标准库

A.IEEE B.STD C.WORK D.PACKAGE

21.VHDL的实体声明部分用来指定设计单元的

A.输入端口 B.输出端口 C.引脚 D.以上均可

22.以下关于VHDL中的程序包,说法错误的是

A.程序包可定义一些子程序、常量和用户数据类型,供多个设计实体共享 B.用户只能使用VHDL预定义的标准程序包,不能由用户自己定义程序包 C.程序包由程序包声明单元和程序包体单元两部分构成

D.在实体中引用一个程序包的格式为:Use 库名.程序包名.项目名;

23.在VHDL中,为了使已声明的数据类型、子程序、元件能被其他设计实体调用或共享,可以把它们汇集在 中。

A.设计实体 B.程序库 C.结构体 D.程序包

24.如果信号a定义为标准逻辑矢量,要使a<=a+1;语句合法,则需要打开下面哪些程序包

① std_logic_1164 ② std_logic_unsigned ③ std_logic_arith ④ std_logic_signed

A. ①和② B. ②和③ C.①和③ D. ②和③

二、VHDL基本语法

(一) 标识符

1. 1987标准的VHDL语言对大小写是 A. 敏感的 B. 只能用小写 C. 只能用大写 D. 不敏感

2. 关于1987标准的VHDL语言中,对标识符描述正确的是 A. 必须以英文字母开头 B. 可以使用汉字开头 C. 可以使用数字开头 D. 任何字符都可以

3. 1987标准的VHDL语言中,对合法的标识符描述不正确的是 A. 下划线不能用在开头 B. 下划线不能连用 C. 不能使用下划线 D. 下划线不能用在结尾

4. 符合1987标准VHDL的标识符是 A. A_2 B. A+2 C. 2A D. 22

5. 符合1987VHDL标准的标识符是 A. a_2_3 B. a__ ___2 C. 2_2_a D. 2a

6. 不符合1987标准VHDL的标识符是 A. a_1_in B. a_in_2 C. 2_a D. asd_1

7. 不符合1987 标准VHDL的标识符是 A. a2b2 B. a1b1 C. ad12 D. P

8. 下列标识符中, 是不合法的标识符。

A. State0 B. 9moon C. Not_Ack_0 D. signall

9. 在VHDL的IEEE标准库中,预定义的标准逻辑位STD_LOGIC的数据类型中是用什么 表示的。

A. 小写字母和数字 B. 大写字母数字 C. 大或小写字母和数字 D. 全部是数字

10. 下面哪一个可以用作VHDL中的合法的实体名 。 A. OR B. VARIABLE C. SIGNAL D. OUT1

11. 以下关于VHDL中标识符的说法不正确的是

A.标识符由26个英文字母和数字0~9以及下划线组成 B.标识符必须由英文字母开始,且不能以下划线结束 C.标识符中可以包含空格

D.标识符不允许与VHDL中的关键字重合

(二)数据类型

1. 对于大多数主流的VHDL综合器,一般不支持哪个数据类型 A.TIME B.BIT C.STRING D.INTEGER

2. 在VHDL中,乘“*”和除“/”算术运算的操作数据是 数据类型 A. 整型 B. 实型 C. 整型和实型 D.比特型

3.如定义SIGNAL b:BIT_VECTOR(0 TO 0),则信号b的位宽是几位? A. 0 B. 1 C. 2 D. 非法语句

4. 下面哪个数据类型不能够被综合,仅能用于仿真。 A. STD_LOGIC B. INTEGER C. BIT D. REAL

5. 下面哪个数据类型只有“真”和“假”两种状态。

A. STD_LOGIC B. INTEGER C. BIT D. BOOLEAN

6. 关于VHDL数据类型,正确的是 A. 数据类型不同不能进行运算 B. 数据类型相同才能进行运算 C. 数据类型相同或相符就可以运算 D. 运算与数据类型无关

7. 下面数据中属于实数的是 A. 4.2 B. 3 C. ‘1’ D. “11011” 8. 下面数据中属于位矢量的是 A. 4.2 B. 3 C. ‘1’ D. “11011”

9. 有如下定义:

signal a: character 则下面哪个赋值语句是正确的

A. a<=” 11”; B. a<=” zz” C. a<=’z’ D.a<=’Z’;

10. 关于VHDL数据类型,不正确的是

A. “STD_LOGIC” 是IEEE预定义数据类型 B. “BIT_VECTOR”是IEEE预定义数据类型 C. 布尔型数据类型的取值是FALSE和TRUE D. 数据类型为字符型的标识符是区分大小写的。

11. 下列哪个数据类型不必事先声明而可以直接引用 A. STD_LOGIC B. STD_LOGIC_VECTOR C. BIT D. 前面三个答案都是错误的

12. STD_LOGIG_1164中定义的高阻是字符 A. X B. x C. z D. Z

13. 要使用std_logic数据类型,必须对IEEE中的 程序包进行声明。 A. std_logic_signed B. std_logic_unsigned C. std_logic_arith D. std_logic_1164

14. 在STD_LOGIG_1164中字符Z定义为 A. 高阻 B. 弱信号0 C. 弱信号1 D. 初始值

15. 使用STD_LOGIG_1164使用的数据类型时

A. 可以直接调用 B. 必须在库和包集合中声明 C. 必须在实体中声明 D. 必须在结构体中声明 16. 关于转化函数正确的说法是

A. 任何数据类型都可以通过转化函数相互转化 B. 只有特定类型的数据类型可以转化

C. 任何数据类型都不能转化 D. 前面说法都是错误的

17. 有如下定义:

C. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的。

D. 综合是纯软件的转换过程,与器件硬件结构无关;

13. 将设计的系统或电路按照EDA开发软件要求的某种形式表现出来,并送入计算机的过程称为:

A.设计输入 B.设计输出 C.仿真 D.综合

14. 在EDA工具中,能完成在目标系统器件上布局布线软件称为 A.仿真器 B.综合器 C.适配器 D.下载器

15. 在EDA工具中,能将硬件描述语言转换为硬件电路的重要工具软件称为 A.仿真器 B.综合器 C.适配器 D.下载器

16. 当前最流行的并成为IEEE标准的硬件描述语言包括VHDL和 A.Verilog HDL语言 B.ABEL语言 C.AHDL语言 D.C语言

17. 基于硬件描述语言HDL的数字系统设计,目前最常用的设计方法称为 方法。 A.自底向上 B.自顶向下 C.积木式 D.顶层

18. 基于可编程器件EDA技术主要包括四大要素:大规模可编程器件、硬件描述语言、实验开发系统和

A.软件开发工具 B.监控程序模块 C.模拟器件及接口 D.硬件电路仿真器件测试

19. VHDL属于 描述语言。

A. 硬件 B.行为 C.高级 D.低级

20. VHDL的设计文体可以被高层次的系统 ,成为系统的—部分。 A. 调用 B.输入 C.输出 D.仿真

21. 下面哪个不是VHDL常用的描述风格。 A. 行为 B. 结构化 C. 数据流 D. 逻辑

22. 下面可以多次编程的器件是_______: A.PROM B.PLA C.PAL D.GAL

23. 对CPLD器件特点描述正确的是:

A.不能多次编程 B.集成度低于PAL和GAL C.内部触发器少 D.可以加密

24. 对FPGA器件特点描述正确的是: A.采用EEPROM工艺 B.采用SRAM工艺

C.集成度比PAL和GAL低 D.断电后配置数据不丢失

25. 下面只能一次编程的器件是: A.PAL B.GAL C.CPLD D.FPGA

26. 可以进行在系统编程的器件是: A.EPROM B.PAL C.GAL D.FPGA

27. 在系统可编程器件一般使用计算机的( )编程: A.串口 B.并口 C.USB口 D.VGA口

判断题练习

1. VHDL属于强数据类型语言。 ( ) 3. 在进程中任意交换语句的顺序,对执行结果有影响。 ( ) 5. 数100在VHDL语言中既可以表示整数又可以表示实数。 ( ) 6. WAIT FOR 语句后面要求接敏感信号。 ( )

( )

8. 过程中的输入输出参数都应列在紧跟过程名的括号内。 ( )

( )

10. 在端口方向的描述中,BUFFER定义的信号不能供构造体再使用,而OUT定义的信号

则可以再供构造体使用 ( )

11. 在vhdl语言中,端口输入信号在程序中不仅能被引用,而且能被赋值。 ( ) 12. VHDL语言中,逻辑运算左右有优先级别,且是从左至右运算( ) 13. 进程(process)本身是并行语句,但进程内部语句是顺序执行语句。 ( ) 14. 构造体描述电路端口,实体描述具体内部电路。 ( )

16. 在元件例化语句中,用=>符号实现名称映射,将例化元件端口声明语句中的信号与17. 在vhdl语言中的顺序语句只能出现在进程和过程子程序中。 ( ) 18. 当一个源程序中具有多个实体时,每个实体前都应加库说明语句 ( ) 19. s’STABLE属性不可以用来判断信号有没有事件发生。 ( ) 20. 变量的使用范围不仅限于定义在的进程和子程序中,还包括在整个结构体中 ( ) 21. 字符串由单引号括起来的一个字符序列,它也称字符矢量或字符串数组。

( )

22. vhdl 可以采用层次化的设计,一个高层的结构体中可以调用低层的实体

2. 一个结构体中有且只能有一个进程(process) ( )

4. 进程中敏感信号列表可以不用包含进程中用到的所有输入信号( )

7. 在IF语句的条件表达式中只能使用关系运算操作及逻辑运算操作的组合表达式

9. 在进程中,可以允许同一个信号有多个驱动源,但其结果只有最后一个驱动源被启动。

15. 并行简单信号赋值语句的书写格式:赋值目标:=表达式。 ( )

PORT MAP( )中的信号名关联起来。 ( )

( )

23. 不确定状态“X”在VHDL源程序中只能用大写,而不能用小写。

( )

24. 信号是全局变量,可是使用在定义实体的整个结构体中 ( ) 25. SIGNAL t2:std_logic <= '0’; ( ) 26. 一条信号代入语句,不能用一个进程来描述。 ( ) 27.并行条件信号赋值语句的表达格式:赋值目标<=表达式 when 赋值条件;

Else表达式 赋值条件;

?

表达式; ( )

填空练习

1、一个完整的VHDL语言程序通常包含 实体(entity) , 构造体(architecture), 配置(configuration), 包集合(package)和 库(library) 5各部分。 2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用 out 表示;双向端口是用 inout 表示;构造体内部可再次使用的输出是用 buffer 表示;

3、一个构造体可以使用几个子结构,即相对比较独立的几个模块来构成。VHDL语言可以有以下3种形式的子结构描述语句: BLOCK 语句结构; PROCESS 语句结构和SUBPROGRAMS结构。

4、VHDL的客体,或称数据对象包括了常数、 变量variable 和 信号signal 。 5、请列出三个VHDL语言的数据类型,如实数、位等。 位矢量 , 字符 , 布尔量 。

6、设D0为'0', D1为'0', D2为'1', D3为'0', D0 & D1 & D2 & D3的运算结果是“0010”, D3 & D2 & D1 & D0的运算结果是“0100”。

7、构造体的描述方式包括三种,分别是 寄存器传输(RTL)描述方法或称数据流 ; 构造体的结构描述方式 和 构造体的行为描述方式 。

8、试举出两种可编程逻辑器件 CPLD 、 FPGA 。

9、VHDL程序的基本结构包括 库 、 程序包 、 实体 和 结构体 。

10、more_ _11标识符合法吗? 不合法 。8bit标识符合法吗? 不合法 。

variable标识符合法吗? 不合法 。 11、信号的代入通常用 <= ,变量用 := 。

12、表示‘0’‘1’;两值逻辑的数据类型是 bit(位) ,表示‘0’‘1’‘Z’等九值逻辑的数据类型是 std_logic(标准逻辑),表示空操作的数据类型是 NULL 。 13、定义一个信号a,数据类型为4位标准逻辑向量 signal a : std_logic_vector(3 downto 0) 定义一个变量b,数据类型为2位位向量 variable b : bit_vector(1 downto 0) 。

本文来源:https://www.bwwdw.com/article/wszv.html

Top