《EDA技术与VHDL》 选择题Word格式.docx
《《EDA技术与VHDL》 选择题Word格式.docx》由会员分享,可在线阅读,更多相关《《EDA技术与VHDL》 选择题Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
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.INB.OUTC.INOUTD.BUFFER
18.类属说明的正确格式是:
A.GENERIC(delay:
TIME=20us);
B.GENERIC(delay:
TIME:
=20us);
C.GENERIC(delayTIME=20us);
D.GENERIC(delay=TIME:
19.VHDL的设计实体可以被高层次的系统,成为系统的一部分
A.输入B.输出C.仿真D.调用
20.VHDL常用的库是()标准库
A.IEEEB.STDC.WORKD.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_2B.A+2
C.2AD.22
5.符合1987VHDL标准的标识符是
A.a_2_3B.a_____2
C.2_2_aD.2a
6.不符合1987标准VHDL的标识符是
A.a_1_inB.a_in_2
C.2_aD.asd_1
7.不符合1987标准VHDL的标识符是
A.a2b2B.a1b1
C.ad12D.%50
8.下列标识符中,是不合法的标识符。
A.State0B.9moonC.Not_Ack_0D.signall
9.在VHDL的IEEE标准库中,预定义的标准逻辑位STD_LOGIC的数据类型中是用什么
表示的。
A.小写字母和数字B.大写字母数字C.大或小写字母和数字D.全部是数字
10.下面哪一个可以用作VHDL中的合法的实体名。
A.ORB.VARIABLEC.SIGNALD.OUT1
11.以下关于VHDL中标识符的说法不正确的是
A.标识符由26个英文字母和数字0~9以及下划线组成
B.标识符必须由英文字母开始,且不能以下划线结束
C.标识符中可以包含空格
D.标识符不允许与VHDL中的关键字重合
(二)数据类型
1.对于大多数主流的VHDL综合器,一般不支持哪个数据类型
A.TIMEB.BITC.STRINGD.INTEGER
2.在VHDL中,乘“*”和除“/”算术运算的操作数据是数据类型
A.整型B.实型C.整型和实型D.比特型
3.如定义SIGNALb:
BIT_VECTOR(0TO0),则信号b的位宽是几位?
A.0B.1C.2D.非法语句
4.下面哪个数据类型不能够被综合,仅能用于仿真。
A.STD_LOGICB.INTEGERC.BITD.REAL
5.下面哪个数据类型只有“真”和“假”两种状态。
A.STD_LOGICB.INTEGERC.BITD.BOOLEAN
6.关于VHDL数据类型,正确的是
A.数据类型不同不能进行运算B.数据类型相同才能进行运算
C.数据类型相同或相符就可以运算D.运算与数据类型无关
7.下面数据中属于实数的是
A.4.2B.3C.‘1’D.“11011”
8.下面数据中属于位矢量的是
9.有如下定义:
signala:
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和TRUED.数据类型为字符型的标识符是区分大小写的。
11.下列哪个数据类型不必事先声明而可以直接引用
A.STD_LOGICB.STD_LOGIC_VECTOR
C.BITD.前面三个答案都是错误的
12.STD_LOGIG_1164中定义的高阻是字符
A.XB.x
C.zD.Z
13.要使用std_logic数据类型,必须对IEEE中的程序包进行声明。
A.std_logic_signedB.std_logic_unsignedC.std_logic_arithD.std_logic_1164
14.在STD_LOGIG_1164中字符Z定义为
A.高阻B.弱信号0
C.弱信号1D.初始值
15.使用STD_LOGIG_1164使用的数据类型时
A.可以直接调用B.必须在库和包集合中声明
C.必须在实体中声明D.必须在结构体中声明
16.关于转化函数正确的说法是
A.任何数据类型都可以通过转化函数相互转化B.只有特定类型的数据类型可以转化
C.任何数据类型都不能转化D.前面说法都是错误的
17.有如下定义:
TYPEweekIS(sun,mon,tue,wed,thr,fri,sat);
则week的数据类型是
A.字符B.BITC.STD_LOGICD.枚举
18.关于VHDL中的数字,请找出以下数字中数值最小的一个:
A.2#1111_1110#B.8#276#
C.10#170#D.16#E#E1
19.关于VHDL中的数字,请找出以下数字中最大的一个:
。
A.2#1110_1110#B.8#376#
10#170#D.16#E#E1
20.在VHDL的IEEE标准库中,预定义的标准逻辑数据STD_LOGIC有种逻辑值。
A.2B.3C.9D.8
(三)运算符
1.关于VHDL运算符优先级的说法正确的是
A.逻辑运算的优先级最高B.关系运算的优先级最高
C.逻辑运算的优先级最低D.关系运算的优先级最低
2.关于VHDL运算符优先级的说法正确的是
A.NOT的优先级最高B.AND和NOT属于同一个优先级
C.NOT的优先级最低D.前面的说法都是错误的
3.关于VHDL运算符优先级的说法正确的是
A.括号不能改变优先级B.不能使用括号
C.括号的优先级最低D.括号可以改变优先级
4.下面哪个不是VHDL运算符。
A.算术运算符B.连接运算符C.关系运算符D.赋值运算符
5.转换函数TO_BITVECTOR(A)的功能是
A.将STDLOGIC_VECTOR转换为BIT_VECTORB.将REAL转换为BIT_VECTOR
C.将TIME转换为BIT_VECTORD.将INTEGER转换为BIT_VECTOR
6.如果a=1,b=0,则逻辑表达式(aANDb)OR(NOTbANDa)的值是
A.0B.1C.2D.不确定
7.关于关系运算符的说法正确的是
如果a和b都是字符型数据,则不能用“=””关系运算符
B.关系运算只用于整数类型的数据
C.关系运算的数据类型必须相同
D.关系运算的数据类型可以不相同
8.布尔表达式Y=AB+C的正确VHDL表达式是
A.Y<
=AANDBORC;
B.Y<
=AAND(BORC)
C.Y<
=AC+CD.Y<
=AANDB+C
9.执行下列语句后Q的值等于。
……
SIGNALE:
STD_LOGIC_VECTOR(2TO5);
SIGNALQ:
STD_LOGIC_VECTOR(9DOWNTO2);
E<
=(2=>
’0’,4=>
’0’,OTHERS=>
’1’);
Q<
E
(2),4=>
E(3),5=>
’1’,7=>
E(5),OTHERS=>
E(4));
A.“11011011”B.“00110100”C.“11011001”D.“00101100”
10.逻辑操作符XNOR表示逻辑。
A.异或B.或非C.与非D.同或
11.在VHDL中,不需要进行说明而可直接使用的数据类型是
A.标准定义的数据类型B.用户自定义的数据类型
C.IEEE预定义标准数据类型D.以上均不可以
12.在VHDL中,45_234_287属于()数据类型
A.整数型B.比特型C.实数D.字符型
13.在VHDL中,加“+”和减“一”算术运算的操作数据是数据类型。
A.整型B.实型C.整型或实型D.任意类型
14.如果语句c<
=a&
b;
合法,则c数据类型可能是
A.整数(Integer)B.Boolean类型C.矢量(Vector)型D.实型(Real)
15.如果a=1,b=1,则逻辑表达式(aXORb)OR(NOTbANDa)的值是
(四)顺序语句(IF/CASE/LOOP)
1.VHDL中顺序语句放置位置说法正确的是
A.可以放在进程语句中B.可以放在子程序中
C.不能放在任意位置D.前面的说法都正确
2.下面哪个语句不属于顺序语句
A.IF语句B.LOOP语句
C.PROCESS语句D.CASE语句
3.在VHDL中,可以用下面哪个语句来表示检测clock下降沿
A.ifclock’eventthenB.ifclock’eventandclock=’1’then
C.ifclock=’0’thenD.ifclock’eventandclock=’0’then
4.在VHDL语言中,下列对时钟边沿检测描述中,错误的是
A.ifclk’eventandclk=‘1’then
B.iffalling_edge(clk)then
C.ifclk’eventandclk=‘0’then
D.ifclk’stableandnotclk=‘1’then
5.下面哪个不是顺序语句使用的程序部分
A.进程内部B.函数内部C.过程内部D.结构体内部
6.下面哪个不是顺序语句
A.processB.ifC.caseD.loop
7.下面哪个不是顺序语句
A.blockB.ifC.caseD.wait
8.下面哪个不是顺序语句
A.componentB.ifC.caseD.loop
9.在VHDL中,IF语句中至少应有1个条件句,条件句必须由表达式构成。
A.BITB.STD_LOGICC.BOOLEAND.LOGIC
10.在VHDL中,IF语句中至少应有1个条件句,条件句必须由哪个表达式构成。
A.BITB.STD_LOGICC.BOOLEAND.INTEGER
11.在VHDL的CASE语句中,条件句中的“=>
”不是操作符号,它只相当与作用。
A.IFB.THENC.ANDD.OR
12.在VHDL的顺序语句中中,下面的哪个语句具有优先级。
A.IFB.CASEC.FOR_LOOPD.WHILE_LOOP
13.下列关于CASE语句的说法不正确的是。
A.条件句中的选择值或标识符所代表的值必须在表达式的取值范围内。
B.CASE语句中必须要有WHENOTHERS=>
NULL;
语句。
C.CASE语句中的选择值只能出现一次,且不允许有相同的选择值的条件语句出现。
D.CASE语句执行必须选中,且只能选中所列条件语句中的一条。
14.在VHDL的FOR_LOOP语句中的循环变量是一个临时变量,属于LOOP语句的局部;
变量,事先声明。
A.必须B.不必C.其类型要D.其属性要
15.在VHDL中,语句”FORIIN0TO7LOOP”定义循环次数为几次。
A.8B.7C.0D.1
16.过程调用前需要将过程的过程首和过程体装入中。
A.源程序B.结构体C.程序包D.设计实体
17.使用下面哪个语句可以使FOR_LOOP语句跳到循环的起点。
A.nextB.exitC.breakD.continue
18.使用下面哪个语句可以使FOR_LOOP语句跳到循环的终点。
19.下面有关while_loop语句说法正确的是
A.while_loop循环次数已知;
B.一般综合工具都支持while_loop语句;
C.循环变量不需要事先定义;
D.以上说法都不正确。
(五)并行语句
1.在VHDL中,PROCESS结构内部是由语句组成的。
A.顺序B.顺序和并行C.并行D.任何
2.在VHDL中,PROCESS本身是语句。
A.顺序B.顺序和并行C.并行D.任何
3.在元件例化语句中,用哪个符号实现名称映射,将例化元件端口声明语句中的信号与PORTMAP()中的信号名关联起来。
A.=B.:
=C.<
=D.=>
4.在VHDL中,含WAIT语句的进程PROCESS的括弧中再加敏感信号,否则则是非法的。
A.可以B.不能C.必须D.有时可以
5.以下对于进程PROCESS的说法,正确的是:
A.进程之间可以通过变量进行通信
B.进程内部由一组并行语句来描述进程功能
C.进程语句本身是并行语句
D.一个进程可以同时描述多个时钟信号的同步时序逻辑
6.进程中的信号赋值语句,其信号更新是。
A.按顺序完成;
B.比变量更快完成;
C.在进程的最后完成;
D.以上都不对。
7.下面有关进程中敏感信号的说法正确的是
A.全部敏感信号的变化,才将启动进程。
B.同步进程的敏感信号表中只有时钟信号。
C.异步进程敏感信号表中除时钟信号外,还有其它信号。
D.如果有WAIT语句,则不允许有敏感信号表。
8.在下面程序结构中执行的语句是并行语句:
A.进程B.函数C.过程D.结构体
9.在VHDL中,条件信号赋值语句WHEN_ELSE属于语句。
A.并行和顺序B.顺序C.并行D.不存在的
10.下面有关块语句的说法不正确的是
A.块语句本身是并行语句,并且块内部所包含的语句也是并行语句。
B.块语句的使用不影响逻辑功能。
C.块嵌套时,子块声明与父块声明的对象同名时,父块声明将忽略掉子块声明。
D.块语句将一系列并行描述语句进行组合,目的是改善并行语句及其结构的可读性。
11.进程内不能定义:
A.常量B.变量C.信号D.子程序
12.下列哪种语句不属于并列语句
A.块语句B.进程语句C.结构体配置语句D.子程序调用语句
13.VHDL中对象属性的引用格式为()。
A.对象:
属性B.对象<
=属性C.对象′属性D.对象:
=属性
14.以下关于VHDL语言中顺序语句和并行语句的区别,不正确的是
A.顺序语句按语句的排列顺序执行;
并行语句的执行顺序与书写顺序无关。
B.并行语句体现了硬件电路的并行性。
C.顺序语句可直接构成结构体;
而并行语句则不能。
D.顺序语句可用于描述模块的算法;
并行语句可用于描述模块间的连接关系。
15.以下语句不属于并行语句的是
A.进程语句B.元件例化语句C.生成语句D.循环控制语句
16.在进程PROCESS的括弧中,如果已经有敏感信号,则不能含有语句否则是非法的。
A.IFB.WAITC.LOOPD.CASE
17.在VHDL中,条件信号赋值语句WHEN_ELSE属于语句。
A.并行兼顺序B.顺序C.并行D.非法
18.在元件例化(COMPONENT)语句中,用符号实现名称映射,将例化元件端口声明语句中的信号名与PORTMAP()中的信号名关联起来。
A.=B.:
=C.<
=D.=>
19.在使用元件例化语句时,如采用的是位置关联的方式,则例化的端口表达式(信号)与元件声明语句中的端口。
A.名称必须一致,顺序可以不一致;
B.名称可以不一致,顺序必须一致;
C.名称必须一致,顺序也必须一致;
D.名称可以不一致,顺序也可以不一致。
20.进程语句中敏感信号列表的作用是
A.说明进程运行的结果B.决定进程运行的先后顺序
C.决定进程语句的启动与否D.实现进程语句的独立性
21.元件例化语句的作用是
A.描述元件模块的算法
B.改善并行语句及其结构的可读性
C.产生一个与某元件完全相同的一组并行元件
D.在高层次设计中引用前面已经设计好的元件或电路模块
22.关于元件例化语句的元件声明的作用,以下说法中正确的是
A.说明所引用元件的逻辑功能B.说明所引用元件的端口信息
C.说明所引用元件的个数D.说明所引用元件的存储位置
23.下列语句中,不属于并行语句的是:
A.进程语句B.CASE语句
C.元件例化语句D.WHEN…ELSE…语句
24.进程语句中敏感信号列表的作用是
A.说明进程运行的结果B.决定进程运行的先后顺序
C.决定进程语句的启动与否D.实现进程语句的独立性
25.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是
A.PROCESS为一无限循环语句;
敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动。
B.敏感信号参数表中,应列出进程中使用的所有输入信号;
C.进程由说明部分、结构体部分、和敏感信号参数表三部分组成;
D.当前进程中声明的变量也可用于其他进程。
26.下面有WITH_SELECT语句的说法不正确的是
A.不能有重叠的条