VHDL重点 (修订版) - 范文中心

VHDL重点 (修订版)

11/25

• 问答题20分 填空题10分 选择题10分 程序分析题30分 编程题30分

简答题

1. VHDL 的全称是什么?利用它设计硬件电路有哪些优点?

答:VHDL 的全称Very High Speed Integrated Circuit Hardware Description Language(超高速

集成电路硬件描述语言,利用VHDL 设计硬件电路具有以下特点:

(1) 设计文件齐全、方法灵活、支持广泛

(2) 系统硬件描述能力强

(3) VHDL 语言可以与工艺无关编程

(4) VHDL 语言标准、规范、易于共享和复用

2. 一个完整的VHDL 语言程序由哪几个部分构成,每个部分作用是什么。

答:一个完整的VHDL 语言程序由库,包集合,实体,构造体和配置五个部分组成。库包

含若干个包集合,确定程序所需要调用的函数,数据类型等;包集合内存有具体函数,数据

类型的定义;实体说明系统的端口与类属参数;构造体完成系统内部逻辑关系与具体电路的

实现;配置则说明实体与构造体的连接关系,通过配置,同一实体可搭配不同构造体。

3. 简述VHDL 语言构造体的描述方式及各自特点。

答:行为描述,RTL 描述方式,结构描述方式。行为描述主要是对系统数学模型的描述,

一般进行仿真难以进行逻辑综合;RTL 描述主要是对系统内部构造与逻辑关系的描述,可

以进行逻辑综合;结构描述大量使用模块化描述方式,采用component 语句,block 语句,便

于实现积木化结构,能够进行逻辑综合。

4.VHDL 语言中客体的概念及使用范围

VHDL 语言中可以赋予一个值的对象称为客体;客体主要包括三种:信号、常数、变量;

信号和常数为全局量,变量为局部量

5. 请从申明格式、赋值符号、赋值生效时间、作用范围等方面对信号和变量进行比较分析。 答: ① 申明时关键字不一样,变量为:V ARIABLE ;信号为:SIGNAL 。但申明时赋初值

均用“:=”符号。

②赋值符号不同:信号赋值用“﹤=”;变量赋值用“:=”。

③赋值生效时间:信号赋值△延时后生效;变量赋值立即生效。

④声明引用范围:信号在构造体内(进程外)申明,整个构造体内有效;变量主要在进程内

申明,只在进程内有效。

6.Bit 数据类型和std_logic数据类型有什么区别。

• 答:Bit 表示一位的信号值,取值只能为1或0; std-logic 取值为9值逻辑系统有1,

0,X, 高阻态等;std-logic 前需要加入下列语句:Library ieee;Use

ieee.std_logic_1164.all; Bit 前不需要加。

7. 写出五种以上的VHDL 语言的标准数据类型。

布尔(BOOLEAN)数据类型、位(BIT)数据类型、位矢量(BIT_VECTOR)数据类型

字符(CHARACTER)数据类型、整数(INTEGER)数据类型、实数(REAL)数据类型

字符串(STRING)数据类型、时间(TIME)数据类型

8. 说明下列各定义的意义:

SIGNAL A , B , C : BIT : =’0’;

CONSTANT m1 , m2 : TIME : 10ns ;

V ARIABLE temp1,temp2 : STD_LOGIC :=’x ’;

答:○1定义3个位数据类型的信号A 、B 、C, 它们取值为0;

○2定义2个时间数据类型的常量m1、m2, 它们值为10ns;

○3定义3个标准逻辑位 STD_LOGIC数据类型的变量temp1、temp2, 它们的值是X 。

9、 顺序语句和并行语句有什么区别?VHDL 编程中需要注意些什么?

答:并行语句主要有一般信号赋值语句、条件信号赋值语句、选择信号赋值语句; 顺序语

句主要有顺序控制语句(如:if 语句、case 语句、循环语句等)和wait 语句。

并行语句存在于进程外,并发执行,与语句所处的位值无关;顺序语句存在于进程内,语句

按顺序执行,与语句所处的位值有关。VHDL 编程中,顺序控制语句(如:if 语句、case 语

句、循环语句等)必须存在于进程内。

10. 简述VHDL 语言中端口模式 IN ,OUT ,BUFFER 和INOUT 各自的特点及OUT 与 BUFFER 的主要区别?

答:端口模式中各自的含义与特点为:IN :输入;OUT :输出;BUFFER :带反馈的输出,可读可写;INOUT :双向。

OUT ,BUFFER 的区别:OUT 模式下的信号,在程序中只能作为对象被赋值,不能作为源

赋给其他信号;BUFFER 模式下的信号,在程序中既可作为对象被赋值,又可作为源赋给其

他信号,对象和源是同时发生,是同一个信号。

11. 进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。

答:a. 它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号; b. 进程结构中

的所有语句都是按顺序执行的 c. 为了启动进程,在进程结构中必须包含一个显式的敏感信

号量表或者包含一个wait 语句;d. 进程之间的通信是通过信号量的传递来实现的

12. 简述元件例化语句的作用、组成及格式?

答:把已经设计好的设计实体称为一个元件或一个模块,它可以被高层次的设计调用。调用

时就会用到元件声明和元件例化语句。二者缺一不可。

元件声明格式如下

COMPONENT 元件实体名

PORT(元件端口信息) ;

END COMPONENT;

元件例化格式如下

标号名:元件名 PORT MAP (端口列表);

判断题

1. 数100在VHDL 语言中既可以表示整数又可以表示实数。(×)

2. 在进程中任意交换语句的顺序,其执行结果不变。(×)

3. WAIT FOR 语句后面要求接敏感信号量。(×)

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

5. 在使用进程时,敏感信号量必须跟在PROCESS ()的括号中。(√)

6. WORK库是现行作业库。设计者所描述的VHDL 语句不需要任何说明,将都存放在WORK

库中。(√)

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

可以再供构造体使用。(×)

8. 一条信号代入语句,不能用一个进程来描述。(×)

9. 代入符号两边信号量只要求数据类型一致。(×)

10.VHDL 语言中,逻辑运算左右有优先级别,且是从左至右运算(×)

1. 硬件描述语言HDL 给PLD 和数字系统的设计带来了更新的设计方法和理念,产生了目前

最常用的并称之为 的设计法。(选填 自顶向下 /自底向上 )

2. 一个构造体可以使用几个子结构,即相对比较独立的几个模块来构成。VHDL 语言可以有

以下3种形式的子结构描述: BLOCK 语句; PROCESS 语句; UBPROGRAMS语句结构。

3. 目前可编程逻辑器件的两种主要类型是 EPGA (现场可编程门阵列) 和 CPLD

(复杂可编程逻辑器件)

4. 实体说明 和 构造体 是设计实体的基本组成部分,它们可以构成最基本的

VHDL 程序。

5. COMPONENT语句中映射方式包括 位置 和 名称 。

6. VHDL有 逻辑 、 算术 、 关系 、 并置 四类运算操作

符。

7. 一个时钟信号CLK 的上升沿条件表示为 clk’event and clk=’1’ 。一个时钟信

号CLK 的下降沿条件表示为 clk’event and clk=’0’ 。

8. 设D0为‘0’, D1为‘0’, D2为‘1’, D2 & D1 & D0 的运算结果是 100 。

9.VHDL 的基本描述语句包括一系列 顺序 和 并行 两大基本描述语句。

10. NOT是 逻辑 运算符,表示 取反 ,在所有操作符中优先级—最高。

11. 数字3在VHDL 中的整数表示和实数表示分别是 3 和 3.0 。

12.bit 类型和std_logic类型的数值状态分别是 2位 和 9位 。

13. VHDL中操作符“&”的具体名称是:并置运算符,它的基本功能是:用于位的连接。

14. 在VHDL 中最常用的库是 IEEE 标准库,最常用的数据包是 STD LOGIC_1164 。

15.VHDL 的标识符名必须以 字母开头 ,后跟若干字母、数字或单个下划线构成,但最

后不能为下划线

16. 程序中为变量赋值的符号是 := 为信号赋值的符号是

17. 在一个实体的端口方向说明时,输入使用in 表示,那么构造体内部不能再使用的输出

是用 OUT 表示;双向端口是用 INOUT 表示;构造体内部可再次使用的输出是用 表示 BUFFER

18. 运算操作符是有优先级的,逻辑操作符 NOT 在所有的操作符中优先级最高。

19. 当前最流行的并成为IEEE 标准的硬件描述语言包括___VHDL___ 和___Verilog-HDL___ 。

20. 表示‘0’‘1’;两值逻辑的数据类型是 BIT ,表示‘0’‘1’‘X ’‘Z ’等九值逻辑的数据类型是_STD-LOGIC____ 。表示空操作的数据类型是 __null___ 。

21. VHDL程序的基本结构由 实体说明 、 构造体 、 包集合 、 库 、和__配置 _五部分组成。

22. 构造体的描述方式包括三种,分别是 行为 、 寄存器传输 、和 结构 。

23. 在VHDL 的端口声明语句中,端口方向包括 in 、 out 、 inout 、和___buffer_。

24. VHDL 的客体包括是 信号 、 常数 、和 变量 ,它们是用来存放各种类型数据的容器。

1. 以下哪一种数据类型不属于VHDL 的标准数据类型: C

(A )ASCII 字符 (B )错误等级

(C )STD_LOGIC (D )字符串

2. wait until clk ’event and clk=’0’ 的程序解释是:__A_。

A. 等待clk 信号产生下降沿 B.等待clk 信号产生上升沿

C. 等待clk 信号变成高电平 D.等待clk 信号变成低电平

3. 以下关于客体的论述,正确的是: A

(A )常数一经赋值就无法改变 (B )变量的物理载体是系统的中间连线

(C )信号是局部量 (D) 变量用“

4. 以下关于进程语句的描述,错误的是: D

(A )进程语句的执行与挂起决定于敏感信号量的变化

(B )进程与进程之间是并发的,进程内部的语句是顺序执行的

(C )进程语句可以不设敏感信号量,而使用WAIT 语句代替

(D )并发信号代入语句不能用进程语句来代替

5. VHDL最常用的库是 A 。

A 、IEEE ;B 、STD ;C 、WORK; D、PACKAGE 。

6. 以下对于WAIT 语句的使用,哪一项是正确的: ( D )

(A )process(a,b) (B )process

begin begin

Y

wait on a,b; wait for a,b;

end process; end process;

(C)process (a,b) (D )process

begin begin

Y

wait for a, b; wait on a,b;

end process; end process;

7、在下列标识符中,()是VHDL 合法的标识符。 C

A、4h_adde B、h_adde_; C、h_adder; D、_h_adde

8、基于硬件描述语言的数字系统设计目前最常用的设计方法称为 ( B ) 设计法。

A、自底向上; B、自顶向下;C 、积木式;D 、顶层。

9、在VHDL 中,( D)的数据传输是立即发生的,不存在任何延时的行为。

A、信号; B、常量; C、数据; D、变量

10、在VHDL 中,( A)的数据传输是不是立即发生的,目标信号的赋值需要一定的延时时间。

A、信号; B、常量; C、数据; D、变量

11、在VHDL 中,为目标变量赋值的符号是(C )。

A、=: ; B、= ; C、:= ; D、

12、VHDL 的实体声明部分用来指定设计单元的(D )

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

13. 下面数据中属于实数的是( A ) 。

A. 4.2 B. 3 C. ‘1’ D. “11011”

14、一个设计实体可以拥有一个或多个( B )

A、设计实体; B、构造体; C、输入; D、输出

15、在元件例化语句中,用( C )符号实现名称映射,将例化元件端口声明语句中的信号名与PORT MAP中的信号名关联起来。

A、=; B、:=; C、=>; D、

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

A、设计实体; B、程序库; C、构造体; D、包集合

17、 VHDL中,FOR LOOP语句中的循环变量是一个临时变量,属于LOOP 语句的局部变量,( B )事先声明。

A、必须; B、不必; C、其类型要; D、其属性要

18. 在VHDL 中,语句“FOR i IN 0TO7LOOP”定义循环次数为( A)

A、8; B、7; C、0; D、1

19. WITH_SELECT语句属于 ( C ) 语句。

A 、顺序 B、顺序或并行 C、并行 D、二者都不是

20. 下面数据中属于位矢量的是 ( D) 。

A. 1.1 B. 5 C. ‘0’ D. “1011”

21. IF语句是 A_

A. 顺序语句 B.顺序或并行 C. 并行语句 D. 其它

22. 在VHDL 中,含WAIT语句的进程PROCESS的括号中后( B )再加敏感信号,否则是非法的。

A、可以; B、不能; C、任意; D、只能

23. VHDL语言共支持四种常用库,其中哪种库是用户的VHDL 设计现行工作库:__D___

A .IEEE 库 B.VITAL库 C. STD库 D. WORK工作库

24、如果a=0,b=0,则逻辑表达式(a AND b) OR( NOT b AND a)的值是 A 。

A. 0 B. 1 C. 2 D. 不确定

25. 如果a=1,b=0,则逻辑表达式(a XOR b) OR( NOT b AND a)的值是 B 。

A. 0 B. 1 C. 2 D. 不确定

分析题举例

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

entity JS64 is

port(clk,clr,updn: in std_logic;

qa,qb,qc,qd,qe,qf: out std_logic);

end entity JS64;

architecture rtl of JS64 is

signal count_6:std_logic_vector(5 downto 0);

begin

qa

qb

qc

qd

qe

qf

process(clr,clk) is

begin

if (clr=’1’) then

count_6’0’);

elsif (clk’event and clk=’1’) if (updn=’1’) then

count_6

else

count_6

end if;

end if;

end process;

end architecture rtl;

该程序采用if 多嵌套语句描述的是一个64进制的可逆计数器。

clk 是时钟信号;clr 是高电平信号有效的复位信号;UPDN 为控制端,当其为“1”时,进行加法计数,为“0”时进行减法计数。 qa,qb,qc,qd,qe,qf 为6位输出位。程序第三行调用了标准逻辑无符号程序包。构造体内部使用了进程语句。进程语句内使用if 语句,复位信号优先级别最高,时钟信号次之。该计数器是异步复位。

编程题有三道,能根据真值表写出VHDL 程序;能根据电路原理图写出VHDL 程序;一般常用的编程语句能熟练运用

1. 课本中第八章中逻辑电路设计,是考试重点,一些程序和类似程序会在考试中以程序分析题和编程题形式出现。(以课本及上课PPT 为参考)

2. 除了第八章外,例1-1 例1-2 例5-2 例5-5例6-8 例6-9 例6-10 例6-12 例6-13,这些程序也很经典,


相关内容

  • 出租车计费器的设计
    EDA 课 程 设 出租车计费器的设计 小组成员:XXX 计 目录 摘要................................................................ 3 关键词.............. ...
  • VHDL语言中的信号.变量与常量异同比较
    VHDL语言中的信号.变量与常量异同比较 在VHDL中,对象是指用来保持数据的一些客体单元.VHDL中的对象主要有4种:常量(CONSTANT).变量(VARIABLE).信号(SIGNAL)和文件(FILE).本文主要讨论前面三种在实际应 ...
  • EDA实验七人表决器的操作步骤
    写出了综合设计的第一个实验的详细步骤,主要是介绍用QuartusII 软件设计由多个模块构成的数字系统的主要步骤,及注意事项.希望对前几个实验未能完全掌握的同学有所帮助. 3.3.2实验内容 基于QuartusII 软件及VHDL 语言实现 ...
  • 电子设计自动化技术课件答案
    第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现:FPGA和CPLD是实现这一途径的主流器件.FPGA和CPLD通常也被称为可编 ...
  • 雷达检测波门的设计方法与原理_于振华
    第25卷第5期舰船电子对抗2002, 25(5) :29-31 雷达检测波门的设计方法与原理 于振华 (船舶重工集团公司723所, 扬州225001) 摘要 主要介绍了雷达检测波门总的设计方法与原理, 以及用F L EX10K 系列的PL ...
  • 加法器实验报告
    实验三 加法器的设计与仿真 一.实验目的 熟悉quartus ⅱ仿真软件的基本操作,用逻辑图和vhdl 语言设计加法器并验证. 二.实验内容 1.熟悉quartus ⅱ软件的基本操作,了解各种设计输入方法(原理图设计.文本设计. 波形设计) ...
  • 针对软件研发.软件测试等软件类工程师的简历
    个 人 简 历 个人信息 姓名:王海锋 手机:134-2600-5634 Email:wanghaifeng410@126.com 地址:北京市海淀区西土城路10号北京邮电大学学六楼409室 邮编:100876 求职意向 教育背景 2008 ...
  • 自动售货机控制系统
    Xuzhou Institute of Technology 可编程器件及应用 课程设计报告 设计名称: 自动售货机控制系统 学 院: 信电工程学院 专业班级: 13电信 学生姓名: 学 号: 指导教师: 贾燕玲 2016 年 6 月 30 ...
  • 乒乓球游戏机(1)
    <EDA设计与应用> 课程设计报告 题 目: 乒乓球游戏机 姓 名: 专 业: 班 级: 学 号: 指导教师: 二0一五年6月26日 目录 1.设计目的 --------------------.1 2.设计原理 ------- ...
  • 技术团队介绍宣传
    团队介绍 算法仿真语言: Matlab 软件开发语言:C/C++ 硬件描述语言: VHDL, Verilog HDL 嵌入式开发语言:C/C++ 硬件开发平台: DSP, FPGA, ARM, 单片机 团队在下面几个方面具有深厚的理论功底和 ...