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