当前位置:首页 > 第3部分-计算机程序员(FPGA嵌入式应用) - 3级 - 理论知识复习题练习OO
23. 下列关于Verilog HDL语言中数据类型综述,说法错误的是( D)。
A.
Verilog HDL有两大类数据类型:线网类型、寄存器类型。 B.
线网数据类型表示结构实体之间的物理连接,线网类型的变量不能存储值。 C.
寄存器数据类型的关键字是reg,通过赋值语句可以改变寄存器存储的值,其作用与改变触发器存储的值相当。 D.
如果没有驱动元件连接到线网,线网的缺省值为X。
24. 下列关于Verilog HDL语言中数据类型说法错误的是( B)。
A.
线网类型数据表示Verilog结构化元件间的物理连线,它的值由驱动元件的值决定。 B.
寄存器数据类型表示一个抽象的数据存储单元,它只能在always语句中被赋值。 C.
线网类型数据包含不同种类的线网子类型,如:wire型、tri型等。 D.
Verilog HDL中存在5种不同的寄存器类型:reg型、integer型、time型、real型和realtime型
25. 下列关于Verilog HDL语言中线网类型数据说法错误的是( C)。
A.
线网类型数据表示Verilog结构化元件间的物理连线,它的值由驱动元件的值决定,如果没有驱动元件连接到线网,线网缺省值为z。 B.
简单的线网类型说明语法为:net_kind [msb:lsb] net1, net2, ... ,netn; 其中net_kind是线网类型名,msb和lsb是用于定义线网范围的常量表达式。 C.
当一个线网有多个驱动器时,即对一个线
网有多个赋值时,不同的线网产生的行为相同。
D.
wire型数据常用来表示以assign关键字指定的组合逻辑信号,Verilog程序模块中输入、输出信号类型默认时自动定义为wire型。
26.
下列关于Verilog HDL语言中线网类型数据说法错误的是( B)。
A.
在进行线网类型数据说明时,如果没有定义线网的范围,缺省的线网类型为1位。B.
在Verilog HDL中,有可能不必声明某种线网类型,在这种情况下,缺省线网类型为8位线网。
C.
用于连接单元的连线是最常见的线网类型,连线与三态线网语法和语义一致,三态线可以用于描述多个驱动源驱动同一根线的线网类型。
D. 线网数据类型包含不同种类的线网子类型,如:wire、tri、wor、trior等。
27.
下列关于Verilog HDL语言中寄存器类型数据说法错误的是( A )。
A.
寄存器类型数据表示一个抽象的数据存储单元,它只能在always语句中被赋值,寄存器类型的变量具有X的缺省值。 B.
寄存器类型数据有5种不同的寄存器类型:reg型、integer型、time型、real型和realtime型。 C.
寄存器可以取任意长度,寄存器中的值通常被解释为无符号数。 D.
寄存器数据类型reg是最常见的数据类型,使用保留字reg加以说明。
28.
下列Verilog HDL语言中寄存器类型数据定义与注释矛盾的是( D)。
A.
reg [3:0] sat //sat为4位寄存器
B. reg cnt //cnt为1位寄存器 C.
reg [0:3] mymem [0:63] //mymem为64个4位寄存器的数组
D.
reg [1:5] dig //dig为4位寄存器
29.
下列关于非阻塞赋值运算方式(如b<=a;)说法错误的是( B )。
A. 块结束后才完成赋值操作 B. b的值立刻改变
C.
在编写可综合模块时是一种比较常用的赋值方式 D.
非阻塞赋值符“<=”与小于等于符“<=”意义完全不同,前者用于赋值操作,后者是关系运算符,用于比较大小。
30. 下列关于阻塞赋值运算方式(如b=a;)说法错误的是(D)。
A. 赋值语句执行完后,块才结束
B. b的值在赋值语句执行完后立刻就改变的 C.
在沿触发的always块中使用时,综合后可能会产生意想不到的结果 D.
在“always”模块中的reg型信号都采用此赋值方式
31. 下列不属于Verilog HDL算术运算符的是( D)。
A. + B. - C. % D.
=
32. 下列关于Verilog HDL语言中基本的算术运算符说法错误的是( A )。
A.
进行取模运算时,结果值的符号位采用模运算式中第二个数的符号位 B.
在除法运算中,结果要略去小数部分,保留整数部分 C.
在进行算术运算操作时,如果某一操作数中有不确定的值x,则整个结果也为不定
值x
D.
在Verilog HDL语言中,算术运算符又称为二进制运算符
33.
下列关于Verilog HDL语言中逻辑运算符说法错误的是(A )。
A.
Verilog HDL语言中逻辑运算符全为二目运算符 B.
逻辑运算符中“&&”和“||”的优先级低于关系运算符,“!”高于算术运算符 C.
Verilog HDL语言中逻辑运算符包括“&&”,“||”和“!” D.
为提高程序的可读性,明确表达各运算符间的运算关系,可使用括号
34.
逻辑操作符&&的功能是( A)。
A.
与 B. 或 C. 非 D.
异或
35.
在进行关系运算时,如果声明的关系是假的,则返回值是( C )。
A. 1 B. 不定值 C. 0 D.
不返回
36.
下列关于Verilog HDL语言中关系运算符说法错误的是( B )。
A.
Verilog HDL语言中关系运算符共有4种,即“<”,“>”,“<=”和“>=” B. 进行关系运算时,返回值只能是1或0 C.
所有关系运算符优先级相同,均低于算术运算符的优先级 D.
语句“a 37. 在下列Verilog HDL运算符中,属于三目运算符的是( C )。 A. && B. !== C. ?: D. === 38. 当a <0时,s的值是( C )。 assign s = (a >=2 ) ? 1 : (a < 0) ? 2: 0; A. 0 B. 1 C. 2 D. 其他 39. 下列关于Verilog HDL语言的位运算符说法错误的是( C )。 A. 位运算符中除了“~”是单目运算符以外,均为二目运算符。 B. 位运算符中的二目运算符要求对两个操作数的相应位进行运算操作。 C. 不同长度的数据进行位运算时,系统会自动地将两者按左端对齐,位数少的操作数会在相应的高位用0填满,以使两个操作数按位进行操作。 D. Verilog HDL提供了取反,按位与,按位或等5种位运算符。 40. 执行语句“rega=' b1010; rega=~ rega;”后,rega的值是( B )。 A. ' b1010 B. ' b0101 C. ' b0000 D. ' b0001 41. 在Verilog HDL语言中的位拼接运算符是( A )。 A. { } B. < > C. ( ) D. ' ' 42. 下列关于Verilog HDL语言中拼接运算符说法错误的是 ( D )。 A. 拼接运算符可以将两个或多个数的某些位拼接起来进行运算操作 B. 拼接运算符的使用方法为:{信号1的某几位,信号2的某几位,?信号n的某几位} C. 拼接表达式“{a, b[3:0], w, 3’b101}”等同于拼接表达式“{a, b[3], b[2], b[1], b[0], w, 1’b1, 1’b0, 1’b1}” D. 拼接表达式中可以存在没有指明位数的信号 43. 有如下的模块: module shift; reg[3:0] start, result; initial; begin; start = 1; result = (start<<2); end endmodule 程序运行完毕,result的值是( A )。 A. 4' b0100 B. 4' b0010 C. 6' b010000 D. 4' b0000 44. 下列关于Verilog HDL语言中移位运算符说法错误的是( B )。???? A. 在Verilog HDL语言中有两种移位运算符:“<<”(左移位运算符)和“>>”(右移位运算符) B. 移位运算符的使用方法是:“a>>n”或“a< 如果不限定数值的位数,则表达式“4’ b1001>>1”的值为“5’ b01001” 45. 程序段如下:wire [3:0] B; reg C; assign B = 4' b1010; C=&B; 则C的值是( D )。 A. 4' b1010 B. 4' b0000 C. 1' b1 D. 1' b0 46. 一元运算符是( A )。 A. 单目运算符 B. 双目运算符 C. 三目运算符 D. 无操作数 47. 下列关于信号电平事件的控制说法错误的是( C )。A. 在电平敏感事件控制中,过程语句一直延迟到条件变为真后才执行。 B. 电平敏感事件控制的形式为:wait (condition) procedural_statement。 C. 过称语句只有在条件为真时才执行,否则执行后续语句。 D. 过程语句是可选的。 48. Verilog HDL程序段如下,说法错误的是( D )。 wait (sum > 22) sum = 0; wait(dataready) data = bus; wait (preset); A. 在第一条语句中,只有当sum的值大于22时,才对sum清零。 B. 在第二条语句中,只有当dataready为真,即dataready值为1时,将bus赋给data。C. 最后一条语句表示延迟至preset变为真 (值为1)时,其后续语句方可继续执行。 D. 三条wait语句为顺序执行。 49. 下列关于信号跳变沿事件的控制说法错误的是( C )。 A. 带有事件控制的过程语句的执行,需等到指定事件发生。 B. 跳变沿触发事件的控制方式可以为:@ event procedural_statement,例如:“always @(posedge clock) curr_state = next_state;”。 C. 如果指定的事件未发生,则跳过过程语句,执行后续语句。 D. 事件之间也能够相或以表明“如果有任何事件发生”,例如:@(posedge clear or negedge reset)。 50. Verilog HDL程序块如下,说法错误的是( D)。 begin @(negedge reset ) count = 0; @ cla zoo = foo; end A. 在第二条语句中,赋值语句只在reset上的负沿执行。 B. 第三条语句中,当cla上有事件发生时,foo的值被赋给zoo。 C. 当cla的值发生变化时,foo的值被赋给zoo。 D. 第一次执行程序时,如果negedge reset事件未发生,则跳过“count = 0”执行后续语句。 51. 下列程序段无语法错误的是( D )。 A. if ( a>b) out1 = int1 else
共分享92篇相关文档