本答案对应课程为:点我自动跳转查看
本课程起止时间为:2021-01-18到2021-06-30
本篇答案更新状态:已完结

第5章 FPGA设计实例 第5章 FPGA设计实例测验

1、 问题:关于以下程序,下列说法中正确的是module Learn10_2
(clk,rst_n,din,pos_clk,neg_clk)input clk,rst_n,din;output pos_clk,neg_clk;reg ctrl_this,ctrl_last;always@(posedge clk or negedge rst_n)beginif(!rst_n)beginctrl_this <= 0;ctrl_last <= 0;endelse beginctrl_this <= din;ctrl_last <=ctrl_thisendendassign pos_clk = ctrl_this&(!ctrl_last)endmodule
选项:
A:该程序的功能是上升沿检测
B:该程序是同步复位
C:pos_clk是一个长度为两个时钟周期的脉宽信号
D:该程序的功能是下降沿检测
答案: 【该程序的功能是上升沿检测

2、 问题:关于以下程序,下列说法中正确的是reg [7:0] CntDis;always@(posedge Clk_50M)   beginif ( Cnt30 > 29)beginCntDis[7:4] <= 3;CntDis[3:0] <= Cnt30 – 30;endelse if ( Cnt30 > 19)beginCntDis[7:4] <= 2;CntDis[3:0] <= Cnt30 – 20;endelse if ( Cnt30 > 9)beginCntDis[7:4] <= 1;CntDis[3:0] <= Cnt30 – 10;endelseCntDis <= Cnt30;end
选项:
A:该模块的功能是将十进制数转换为5421BCD码
B:改程序会生成锁存器
C:always 块内语句在时钟的下降沿处执行
D:当输入为26时,输出为0010_0110
答案: 【当输入为26时,输出为0010_0110

3、 问题:在以下分频器程序中,系统频率clk50m为50MHz则:分频得到的时钟频率为多少?分频得到的时钟占空比为多少?;always@(posedge clk50m)        begin        if
(count8==7)          begin          count8<=0;             clk_6mhz<=1;          end       else           begin             count8<=count8+1;             clk_6mhz<=0;           end     end
选项:
A:7.15MHz 1/8
B:6.25MHz  1/4
C:6.25MHz 1/8
D:7.15MHz 1/4
答案: 【6.25MHz 1/8

4、 问题:关于以下分频器程序中,clk为系统时钟,则该分频器的分频数是多少?输出信号的占空比是多少?always@ (posedge clk)       begin      if (divider==M)     begin         carry<=1;        divider<=P;        end     else     begin        divider<=divider+1;        carry<=0;     end     end
选项:
A:1/M-P  1/M-P
B:1/M-P+1 1/M-P
C:1/M-P   1/M-P+1
D:1/M-P+1 1/M-P+1
答案: 【1/M-P+1 1/M-P+1

5、 问题:下面是一个用状态机设计的自动售货机,one_dollar 代表投币一元,half_doller 代表投币五角。则下列说法正确的是module machine(one_dollar, half_dollar,
collect,half_out, dispense, reset,clk); parameter idle=2’b00, half=2’b01, one = 2’b10; input one_dollar, half_dollar, reset, clk; output collect, half_out, dispense; reg collect, half_out, dispense; reg[1:0] D; always @(posedge clk) begin if(reset) begin    dispense=0; collect=0;    half_out=0; D=idle; end elsecase (D) idle:                        if (half_dollar)begin    dispense=0; collect=0;    half_out=0; D=half; endelse if(one_dollar) begin      dispense=0; collect=0;    half_out=0; D=one; endelsebegin    dispense=0; collect=0;    half_out=0; D=idle;endhalf:                   if(half_dollar)begin    dispense=0; collect=0;    half_out=0; D=one; endelse if(one_dollar) begin    dispense=1;         collect=1;    half_out=0;   D=idle; endelsebegin    dispense=0; collect=0;     half_out=0; D=half;endone:    if(half_dollar) begin    dispense=1; collect=1;    half_out=0; D=idle; endelse if(one_dollar) begin    dispense=1;  collect=1;    half_out=1;  D=idle; endelsebegin    dispense=0; collect=0;    half_out=0; D=one;enddefault:                                      begin   dispense=0; collect=0;    half_out=0; D=idle;endendcase end endmodule
选项:
A:饮料的售价为一元五角
B:该状态机是mealy型状态机
C:该状态机的输出只与当前状态有关
D:当投入两元钱后,找零五角,同时状态机跳转至idle状态
答案: 【饮料的售价为一元五角;
该状态机是mealy型状态机;
当投入两元钱后,找零五角,同时状态机跳转至idle状态

6、 问题:在以下程序中,Clk_50M为频率为50MHz的系统时钟,则下列说法中正确的有reg Clk; reg [31:0] Cnt;always@(posedge Clk_50M or negedge Rst)begin       if(!Rst)       begin              Cnt <= 1;              Clk <= 1;       end       else       begin           if(Cnt  >= 25000000)           begin                  Cnt <= 1;                  Clk <= ~Clk;           end           else           Cnt<= Cnt + 1;       endend
选项:
A:该模块为同步复位
B:该模块的功能是分频器
C:若系统时钟频率为50MHz,则输出Clk的频率为2MHz
D:该程序为时序逻辑电路
答案: 【该模块的功能是分频器;
该程序为时序逻辑电路

7、 问题:关于以下测试程序,其说法正确的是:`timescale 1ns / 1psmodule cout_tp;reg clk,reset;wire [7:0] out;count u0(  .clk(clk),  .reset(reset),  .out(out)   );initial begin clk=0;reset=0;#4  reset=1;#4  reset=0;#100 reset=1;#4  reset=0;endinitial begin forever #2 clk=~clk;endendmodule
选项:
A:该程序时间的基准单位是1ns,时间的精度是1ps
B:count 是模块名;u0是例化名
C:测试程序中,时钟的频率为500MHz
D:被测模块中clk和reset是输出信号
答案: 【该程序时间的基准单位是1ns,时间的精度是1ps;
count 是模块名;u0是例化名

8、 问题:下列说法中,哪些是testbench的功能
选项:
A:检测被测程序是否含有不可综合的语法错误
B:产生模拟激励(波形)
C:将产生的激励加入到被测试模块
D:将输出响应与期望进行比较
答案: 【产生模拟激励(波形);
将产生的激励加入到被测试模块;
将输出响应与期望进行比较

9、 问题:以下程序为一个用状态机构成的交通灯,其中LEDR_H、LEDG_H、LEDY_H,为一个方向的红、绿、黄灯,LEDR_V、LEDG_V、LEDY_V,为另一个方向的红、绿、黄灯,Clk为频率为1Hz的时钟,则以下说法中正确的是reg [1:0]state;always@(posedge Clk or negedge Rst)begin   if(!Rst)       begin            LedR_H <= 0;            LedG_H <= 0;            LedR_V <= 0;            LedG_V <= 0;            LedY_H <= 0;            LedY_V <= 0;       end          else       begin          case(state)S1: beginif(Cnt35<=30)beginLedR_H <= 1;LedG_H <= 0;LedY_H <= 0;LedR_V <= 0;LedG_V <= 1;LedY_V <= 0;endelsestate <= S3;endS2: begin      if(Cnt35<=30)          begin             LedR_H <= 0;             LedG_H <= 1;             LedR_V <= 1;             LedG_V <= 0;             LedY_H <= 0;             LedY_V <= 0;          end             else            state <= S4;endS3:      begin        if(Cnt35>=30)            begin               LedR_H <= 1;               LedG_H <= 0;               LedR_V <= 0;               LedG_V <= 0;                     LedY_H <= 0;               LedY_V <= 1;            end           else             state <= S2;       endS4: begin      if(Cnt35>=30)          begin             LedR_H <= 0;             LedG_H <= 0;             LedR_V <= 1;             LedG_V <= 0;             LedY_H <= 1;             LedY_V <= 0;          end             else            state <= S1;end  Default:     begin               LedR_H <= 0;               LedG_H <=gai 0;               LedR_V <= 0;               LedG_V <= 0;                     LedY_H <= 0;               LedY_V <= 0;            end      endcase  endend
选项:
A:该状态机是moore型
B:黄灯每次亮5秒
C:红灯每次亮35秒
D:绿灯每次亮35秒
答案: 【黄灯每次亮5秒;
红灯每次亮35秒

第6章 基于FPGA的触摸屏弹球游戏设计 第6章 基于FPGA的触摸屏弹球游戏设计测验

1、 问题:阅读下列程序片段,判断当y_cnt =
350时,mesl值为(  )wire
[1:0] msel;assign
msel= (y_cnt<180) ? 2’b01 : (y_cnt>=180 && y_cnt<340) ?
2’b10: 2’b00;
选项:
A:2’b00
B:2’b01
C:2’b10
D:2’b11
答案: 【2’b00

2、 问题:下列代码的功能是( )always@(posedge
oTRIG or negedge iRST_n)begin  if (!iRST_n)        iDISPLAY_MODE = 2;    else    begin           if (iREG_GESTURE == 8’h14)             iDISPLAY_MODE = iDISPLAY_MODE +1;           else if(iREG_GESTURE == 8’h1C)             iDISPLAY_MODE = iDISPLAY_MODE -1;           else              iDISPLAY_MODE = iDISPLAY_MODE ;         end   end    
选项:
A:根据信号改变背景模式
B:屏幕颜色输出
C:字符显示
D:挡板生成
答案: 【根据信号改变背景模式

3、 问题:下面这段代码实现了VGA行列扫描时的列计数器产生,在( )中填入正确的代码。其中h_max,v_max,分别为行列计数器到达最大值时的标志位。always@(posedge
iCLK or negedge iRSTN)    if(!iRSTN)  begin       v_count <= 10’b0;       oVGA_VS <=     1’b1;       v_act         <=  3’b0;   end    else      begin                      if (     )   begin                             if (        )                   v_count <= 10’b0;                else              v_count <= v_count + 10’b1;
选项:
A:v_max,h_max
B:v_min,h_min
C:h_max,v_max
D:h_max,h_max
答案: 【h_max,v_max

4、 问题:已知 parameter参数型常量 charline_n = 32’h19085FFC, 以下哪个选项与其相等。
选项:
A:00011010000010000101111111111100
B:00111001000010000101111111111100
C:00011001000010000101111111111100
D:00011001000010000100111111111100
答案: 【00011001000010000101111111111100

5、 问题:若parameter  CHAR_START_X , CHAR_X , CHAR_START_Y , CHAR_Y ; 为参数型常量定义字符显示的起始坐标和字符的长度和宽度,下列哪个选项所表示的区域在是字符表示区域(   )。
选项:
A:A.(iVGA_Y>=CHAR_START_Y)&&(iVGA_Y<=(CHAR_START_Y+CHAR_Y))&&(iVGA_X>=CHAR_START_X)
&& (iVGA_X<=(CHAR_START_X + CHAR_X))
B:B.(iVGA_Y<=CHAR_START_Y)||(iVGA_Y>=(CHAR_START_Y+CHAR_Y))||(iVGA_X<=CHAR_START_X)
&& (iVGA_X>=(CHAR_START_X + CHAR_X))
C:C.(iVGA_Y>=CHAR_START_Y)&&(iVGA_Y<=(CHAR_START_Y+CHAR_Y-1))&&(iVGA_X>=CHAR_START_X)
&& (iVGA_X<=(CHAR_START_X + CHAR_X-1))
D:D.(iVGA_Y<=CHAR_START_Y)||(iVGA_Y>=(CHAR_START_Y+CHAR_Y-1))||(iVGA_X<=CHAR_START_X)
|| (iVGA_X>=(CHAR_START_X + CHAR_X-1)) 
答案: 【C.(iVGA_Y>=CHAR_START_Y)&&(iVGA_Y<=(CHAR_START_Y+CHAR_Y-1))&&(iVGA_X>=CHAR_START_X)
&& (iVGA_X<=(CHAR_START_X + CHAR_X-1))

6、 问题:X
<= (X==11’b0) ? ( (Ball_X < block_X2-20) ? ( ~{7’b0000000,X_Step}+11’b1 )
: ({7’b0000000,X_Step}) ):X; 此段代码中,当X==11’b0,Ball_X < block_X2-20时,小球将如何运动?
选项:
A:左移
B:右移
C:保持不动
D:上下移动
答案: 【左移

7、 问题:当flag==1001时,小球处在哪个位置?
选项:
A:最左 最上
B:最左 最下
C: 最右 最下
D:最右 最上
答案: 【 最右 最下

8、 问题:理解下面这段程序,指出DY_time的用途是什么? parameter
DY_time =1000;always@(current_state
or iTRIG or DY_cnt)begin    case( current_state )S0: begin       DY1 = 0;    if
(iTRIG)       begin       next_state = S1;       end       else          next_state = S0;  endS1: begin   if (DY_cnt <= DY_time)       begin       next_state = S1;       DY1 = 1;       end   else       begin       next_state = S2;       DY1 = 0;       endend  S2: begin      DY1 = 0;       next_state = S0;    enddefault: begin    next_state = S0;    endendcaseend
选项:
A:计数器的值
B:时间阈值
C:单稳态触发器的暂态时间
D:触发器的定时时间
答案: 【单稳态触发器的暂态时间

9、 问题:在下面弹球生成模块的代码中“Y <= ((Ball_Y ==
Ball_Y_Center)&&(Y==10’b0))?{6’b000000,Y_Step}:Y;”实现的是什么功能?  always@(posedge
clk_in or negedge rst_n)begin   if (!rst_n)     begin      Ball_Y <= Ball_Y_Center;      Y <=0;      flag[3:2] <= 2’b00;   end    else  beginif((Ball_Y+Ball_S
>=  390 )&& (Ball_X >
block_X1 )&& (Ball_X < block_X2)) begin        Y <= ~{6’b000000,Y_Step}+10’b1;     flag[3:2] <= 2’b01;      endelse
if (Ball_Y+Ball_S >= Ball_Y_Max)begin Y
<= 0;          flag[3:2] <=
2’b11;         endelse        begin if
(Ball_Y-Ball_S <= Ball_Y_Min)begin  Y <= {6’b000000,Y_Step}; flag[3:2] <=
2’b10;endelse    beginY
<= ((Ball_Y == Ball_Y_Center)&&(Y==10’b0))?{6’b000000,Y_Step}:Y;end    end        Ball_Y <= Ball_Y + Y;     end  end
选项:
A:判断如果球处于中间位置时,让球往上运动。
B:判断如果球处于中间位置时,让球往下运动。
C:判断如果球处于中间位置时,让球动起来的初始操作。
D:判断如果球处于中间位置时,保持不动。
答案: 【判断如果球处于中间位置时,让球动起来的初始操作。

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦

   

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注