第3部分-计算机程序员(FPGA嵌入式应用) - 3级 - 理论知识复习题练习OO

发布时间 : 星期二 文章第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

联系合同范文客服:xxxxx#qq.com(#替换为@)