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

发布时间 : 星期六 文章第3部分-计算机程序员(FPGA嵌入式应用) - 3级 - 理论知识复习题练习OO更新完毕开始阅读

out1 = int2

B. if (a>b)

out1 = int1; else out1 = int2

C.

if (a>b) out1= int1; else if ( a==b ) ; {out1 = int 2;} else out1 = int 3;

D. if(a>b)

begin out1<=int1; out2<=int2; end 52.

下面语句中,信号a会被综合成( B)。 reg [5:0] a;

always @(posedge clk) if (ss>10) a <= 20; else if (ss > 15) a <= 30;

A. 寄存器 B. 锁存器 C. 连线资源 D.

其他 53. 程序段如下:

55.

下列程序段中无锁存器的是( C)。

A. always @ (al or d)

begin if(al) q<= d; end

B. always @ (al or d) begin if(al) q<=d; if(!al) q<=!d;

reg [3:0] result; case( rega)

16 ' d0: result = 4 ' b1000; 16 ' d1: result = 4 ' b1001; 16 ' d2: result = 4 ' b1010; 16 ' d3: result = 4 ' b1011; default: result = 4 ' b0000; endcase

如果rega的值为16 ' b2,则运行程序段后result的值是( A )。

A. 4 ' b1010 B. 4 ' b1011 C. 4 ' b0000 D.

4 ' b1000

54.

下列有关Verilog HDL语言中case语句的说法,错误的是( D )。

A.

case括弧内的表达式称为控制表达式,case分支项中的表达式称为分支表达式。 B.

当控制表达式的值与分支表达式的值相等时,就执行分支表达式后面的语句。 C.

如果所有的分支表达式的值都没有与控制表达式的值相匹配,就执行default后面的语句。 D.

case语句所有表达式的值的位宽不要求完全相等。

end

C. always @ (al or d)

begin if(al) q<=d;

else q<=0; end

D.

always @ (sel[1:0] or a or b)

case(sel[1:0]) 2' b00: q<=a; 56.

下列不属于Verilog HDL中所提供的3种形式的if语句的是(B)。

A. if(表达式)语句

B.

if(表达式1; 表达式2; 表达式3) 语句 1;

else 语句 2; C.

if(表达式1) 语句 1;

else if(表达式2) 语句 2; else if(表达式3) 语句 3; else if(表达式m) 语句 m; else 语句 n; D.

if(表达式1) 语句 1; else

语句 2;

57.

下列关于Verilog HDL中repeat语句的说法错误的是( B)。

A. repeat语句可以连续执行一条语句n次。 B.

repeat语句的格式为:repeat(判断表达式) 语句;,或repeat(判断表达式) begin 多条语句 end;。 C.

如果repeat后表达式的值不确定,即为x或z时,循环次数按零处理。 D.

repeat循环语句与重复事件控制不同。

58.

Verilog HDL程序段如下,执行后tem的值是(C)。 parameter size = 8; reg[7:0] tem; repeat(size) begin tem = tem +1;

2' b11; q<=b; Endcase end

A. 0 B. 7 C. 8 D. 1

59.

程序段如下: begin: reg[7:0] tem; count = 0; tem = rega; while(tem) begin

if(tem[0]) count = count +1; tem = tem >>1; end end

如果rega的值为8 ' b10101011,则程序结束后,count的值是( B )。

A. 4 B. 5 C. 6 D.

7 60. 下列关于Verilog HDL中while语句的说法错误的是( C )。

A.

while循环语句的语法为:while(condition) procedural_statement。 B.

while循环语句循环执行过程赋值语句直到指定的条件为假。 C.

while循环语句中的过程语句至少会被执行一次。 D.

如果条件表达式为x或z,它同样按0(假)处理。

61. 在Verilog HDL语言中,循环语句for(___;___;___)中三个参数依次是( B )。

A.

循环变量赋初值;循环变量增值;循环结束条件 B.

循环变量赋初值;循环结束条件;循环变量增值 C.

循环变量增值;循环变量赋初值;循环结束条件 D.

循环结束条件;循环变量赋初值;循环变量增值

62. 下列关于Verilog HDL中for语句的说法错误的是(B)。A.

for循环语句的形式为:for( initial_assignment; condition; step_assignment) procedural_statement。 B.

如上所列的for循环语句的语法,condition条件表达式指定循环结束的情况,只要条件为真,则跳出循环。 C.

如上所列的for循环语句的语法,step_assignment给出要修改的赋值,通常为增大或减小循环变量计数。 D.

循环语句按照指定的次数重复执行过程赋值语句若干次。

63. 下列有关Verilog HDL语言中循环语句的说法,错误的是( A )。

A.

forever循环语句常用于产生周期性波形,与always语句相同,可以独立写在程序中。 B.

repeat 语句可连续执行一条语句n次,格式为:repeat(表达式) 语句; 或repeat(表

66. 下列有关任务(task)语句的说法,错误的是( B )。A.

任务定义的形式是:task task_id; [declarations] procedural_statement endtask。 B.

任务必须存在参数,值通过参数传入和传

达式) begin 多条语句 end。

C.

while语句可以执行一条语句直到某个条件不满足,此语句也可能一次不被执行。 D. for语句的一般形式为:for(表达式1; 表达式2; 表达式3)语句。

64.

下列Verilog HDL语言中for循环语句的执行步骤正确的是( B)。

a 给控制循环次数的变量赋初值。

b 执行一条赋值语句来修正控制循环变量次数的变量的值,然后返回上一步。

c 判定控制循环的表达式的值,如为假则跳出循环语句,如为真则执行指定的语句后,转入下一步。

A. a b c B. a c b C. c b a D.

c a b

65.

下列有关任务(task)语句的说法,错误的是( D )。

A.

任务可以支持多种目的,也可以计算多个结果值,这些结果值通过被调用的任务的输出或总线端口送出。 B.

如果传给任务的变量值和任务完成后接受结果的变量已定义,就可以用一条语句启动任务,任务完成后控制就传回启动过程。 C.

任务可以启动其他的任务,其他的任务又可以启动别的任务,可以启动的任务数没有限制。 D.

如果任务内部有定时控制,则启动的时间必须与控制返回的时间相同。 出任务。 C.

任务的输入和输出在任务开始处声明,这些输入和输出的顺序决定了它们在任务调用中的顺序。 D.

任务调用语句中参数列表必须与任务定

义中的输入、输出和输入输出参数说明的顺序匹配。

67.

下列有关函数(FUNCTION)语句的说法,错误的是( A )。

A.

函数只能返回一个值,内部可以包含时延和时序控制。 B.

函数不可调用其他任务,但可以调用其他函数。 C.

函数必须带有至少一个输入,在函数中允许没有输出或输入输出说明。 D.

函数定义中声明的所有局部寄存器都是静态的,函数中局部寄存器在函数的多个调用之间保持它们的值。

68.

在Verilog HDL语言中,下列有关函数(FUNCTION)语句的说法,错误的是( D )。

A.

函数的说明部分可以在模块说明中的任何位置出现,函数的输入是由输入说明指定。 B.

如果函数说明部分中没有指定函数的取值范围,则其缺省的函数值为1位二进制数。 C.

函数的定义蕴含声明了与函数同名的,函数内部的寄存器,函数的定义把函数返回值所赋值寄存器的名称初始化为与函数同名的内部变量。 D.

函数中必须有输出或输入输出说明。

69.

下列有关Verilog HDL语言中task和function说明语句的比较,说法错误的是( C )。

A.

函数只能与主模块共用同一个仿真时间单位,而任务可以定义自己的仿真时间单位。 B.

函数不能启动任务,而任务能启动其他任务和函数。 C.

函数和任务都至少要有一个输入变量。

D. 函数返回一个值,而任务则不返回值。

70.

Verilog HDL语言中task和function说明语句的使用语法如下,错误的是( B )。

A.

任务的定义语法:task <任务名>; <端口及数据类型声明语句> <语句1> <语句2> ...<语句n> endtask B.

任务的调用语法:<任务名> (端口1; 端口2; ...;端口n); C.

函数定义的语法:function <返回值的类型或范围> (函数名); <端口说明语句> <变量类型说明语句> begin <语句> ... end endfunction D.

函数调用语法:<函数名>(expr1, expr2, ..., exprn)

71. 下列关于Verilog HDL语言的系统任务$monitor的说法,错误的是( A )。

A.

在任意时刻对于特定的变量可以有多个监控任务被激活。 B.

$monitoroff和$monitoron分别可以禁止和使能所有监控任务。 C.

任务$monitor提供了监控和输出参数列表中的表达式或变量值的功能。 D.

参数列表中输出控制格式字符串和输出表列的规则和$display中的一样。

72. Verilog HDL程序段如下,则输出样本格式正确的是( B )。 initial

$monitor(\ %t, D = %d, clk = %d\

A. D = x, clk = x B. At 24, D = x, clk = 1 C. At %t, D = %d, clk = %d D.

At35D=xclk=1

73.

下列关于Verilog HDL语言中时间度量系统函数$time的说法错误的是( B )。