2021 EDA技术与实验(郑州轻工业大学) 最新满分章节测试答案
- 第5章 FPGA设计实例 第5章 FPGA设计实例测验
- 第6章 基于FPGA的触摸屏弹球游戏设计 第6章 基于FPGA的触摸屏弹球游戏设计测验
- 第7章 基于FPGA的永磁同步电机驱动系统设计 第7章 基于FPGA的永磁同步电机驱动系统设计测验
- 第4章 嵌入式逻辑分析仪及Modelsim仿真验证 第4章 嵌入式逻辑分析仪及Modelsim仿真验证测验
- 第1章 绪论 第1章 EDA技术概述单元测验
- 第2章 Verilog HDL 语言基础 第2章 Verilog HDL 语言基础测验
- 第2章 Verilog HDL 语言基础 第2章 VerilogHDL 语言基础测验2
- 第3章 FPGA开发软件QuartusII使用实例 第3章 FPGA开发软件QuartusII使用实例测验
本答案对应课程为:点我自动跳转查看
本课程起止时间为: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反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦