搜档网
当前位置:搜档网 › VHDL考试试题(1)

VHDL考试试题(1)

VHDL考试试题(1)
VHDL考试试题(1)

一、填空题(20分,每空格1分)

1、一个完整的VHDL语言程序通常包含实体(entity),结构体(architecture),

配置(configuration),包集合(package)和库(library)5各部分。

2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用out 表示;双向端口是用inout 表示;构造体内部可再次使用的输出是用buffer 表示;

3、VHDL的客体,或称数据对象包括了常数、变量variable 和信号signal 。

4、请列出三个VHDL语言的数据类型,如实数、位等。位矢量,字符,布尔量。

5、VHDL程序的基本结构包括库、程序包、实体

和结构体。

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

variable标识符合法吗?不合法。

7、信号的代入通常用<= ,变量用:= 。

8、表示‘0’‘1’;两值逻辑的数据类型是bit(位),表示‘0’‘1’‘Z’等九值逻辑的数据类型是std_logic(标准逻辑),表示空操作的数据类型是NULL 。

9、<=是小于等于关系运算符,又是赋值运算操作符。

10、设D0为'1', D1为'0', D2为'1', D3为'0', D3 & D2 & D1 & D0的运算结果是“0101”,D1 & D2 & D3 & D4的运算结果是“1010”。

11、VHDL程序的基本结构至少应包括实体、结构体两部分和对

库的引用声明。

12、1_Digital标识符合法吗?否,\12 @ +\ 呢?合法。

13、在VHDL的常用对象中,信号、变量可以被多次赋予不同的值,

常量只能在定义时赋值。

14、实体的端口模式用来说明数据、信号通过该端口的传输方向,端口模式有in 、

Out 、inout 、buffer 。15、VHDL语言中std_logic类型取值‘Z’表示高阻,取值‘X’表示不确定。

16、位类型的初始化采用(字符/字符串)字符、位矢量用字符串。

17、进程必须位于结构体内部,变量必须定义于进程/包/子程序内部。

18、并置运算符& 的功能是把多个位或位向量合并为一个位向量。

19、进程执行的机制是敏感信号发生跳变。

20、判断CLK信号上升沿到达的语句是if clk’event and clk = ‘1’ then .

21、IF 语句各条件间具有不同的优先级。

22、VHDL是否区分大小写?不区分。

23、digital_ _8标识符合法吗?不合法。12_bit标识符合法吗?不合法。signal标识符合法吗?不合法。

24、结构体有三种描述方式,分别是数据流、行为、和结构化。

25、请分别列举一个常用的库和程序包library ieee 、use ieee.std_logic_1164.all 。

26、一个信号处于高阻(三态)时的值在VHDL中描述为‘Z’。

27、/=是不相等操作符,功能是在条件判断是判断操作符两端不相等。

28、设D0为'0', D1为'1', D2为'1', D3为'0', D3 & D2 & D1 & D0的运算结果是

“0110”,(D3 or D2)and(D1 and not D0)的运算结果是:‘1’。

29、赋值语句是(并行/串行)并行执行的,if语句是(并行/串行)串行执行的。

30、8digital标识符合法吗?不合法。

31、信号的代入通常用<= ,变量用:= 。

32、标准逻辑(std_logic)是一个具有九值逻辑的数据类型。

33、定义一个变量a,数据类型为4位位向量variable a : bit_vector(3 downto 0) 。

34、<=是小于等于关系运算符,又是赋值运算操作符。

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

36、IF语句根据指定的条件来确定语句执行顺序,共有3种类型:用于门闩控制的IF语句、用于二选一控制的IF语句、用于多选择控制的IF语句。

二、判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确答案3分)

1、传统的系统硬件设计方法是采用自上而下(top down)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自下而上(bottom up)的设计方法。(×)传统的系统硬件设计方法是采用自下而上(bottom up)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自上而下(top down)的设计方法

2、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(√)

3、一个VHAL程序中仅能使用一个进程(process)语句。(×)

可以使用多个进程语句。

4、VHDL语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。

(×)

逻辑运算符<关系运算符<乘法运算

5、进程语句中,不管在何时,process语句后面必须列出敏感信号(×)

包含wait语句的进程语句可不列出敏感信号。

6、VHDL语言与计算机C语言的没有差别。(×)

7、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。(×)

“变量(VARIABLES)”改为“信号”。

8、CONSTANT T2:std_logic <= ’0’;(×)改正:把<= 换为:= 。

9、若某变量被定义为数值型变量,未赋初始值时默认值为‘0’。

(错)改正:把‘0’的单引号去掉。

10、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。

(错)改正:“变量(VARIABLES)”改为“信号”。

library ieee;

use ieee.std_logic_arith.all;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

以上库和程序包语句有无错误?有,有的话请在原程序相应位置改正。(2)entity rom is

port(

addr: in std_logic_vector(0 to 3);

ce: in std_logic;

data:out std_logic_vector(7 downto 0);

)

end rom;

以上port语句有无错误?有,有的话请在原程序相应位置改正。(4)

三、简答(20分,每小题5分)

1、简述VHDL程序的基本结构。

库(1)library ieee;

程序包(2)use ieee std_logic_1164.all;

实体(3)entity 实体名is

结构体(5)architecture 结构体名of 实体名is若答出配置也可加1分

配置

2、简述信号与变量的区别。

信号延时赋值,变量立即赋值(2)

信号的代入使用<=,变量的代入使用:=;(4)

信号在实际的硬件当中有对应的连线,变量没有(5)

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

●它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号;(1)

●进程结构中的所有语句都是按顺序执行的;(2)

●为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者包含一个wait

语句;(4)

●进程之间的通信是通过信号量的传递来实现的。(5)

四、编程题(共50分)

1、请补全以下二选一VHDL程序(本题10分)

Entity mux is

port(d0,d1,sel:in bit;

q:out BIT ); (2)

end mux;

architecture connect of MUX is (4)

signal tmp1, TMP2 ,tmp3:bit; (6)

begin

cale:

block

begin

tmp1<=d0 and sel;

tmp2<=d1 and (not sel)

tmp3<= tmp1 and tmp2;

q <= tmp3; (8)

end block cale;

end CONNECT ; (10)

2、用IF语句编写一个四选一电路,要求输入d0~d3, s为选择端,输出y。(本题10分)entity MUX4 is

port(

s: in std_logic_vector(1 downto 0);

d: in std_logic_vector(3 downto 0);

y: out std_logic

);

end MUX4; (3)

architecture behave of MUX4 is

begin

process(s)

begin

if (s="00") then

y<=d(0); (4)

elsif (s="01") then

y<=d(1); (5)

elsif (s="10") then

y<=d(2); (6)

elsif (s="11") then

y<=d(3); (7)

else

null; (9)

end if;

end process;

end behave; (10)

相关主题