1多选(3分)
模2计数器的输出状态包括
得分/总分
A.'10
B.'0
C.'1
D.'11
正确答案:B、C
2多选(3分)
以下代码描述的是________.
module counter ( input Clock,Reset, output reg [3:0] Q); always@(posedge Clock,posedge Reset) if(Reset==1) Q<=0; else Q<=Q+1; endmodule
得分/总分
A.加法计数器
B.二进制计数器
C.4位计数器
D.异步复位计数器
正确答案:A、B、C、D
3多选(3分)
选出16分频计数器
得分/总分
A.
module counter ( input Clock,Reset, output clkout); reg [7:0] Q; always@(posedge Clock,posedge Reset) if(Reset==1) Q<=0; else Q<=Q+1; assign clkout<=Q[3]; endmodule
B.
module counter ( input Clock,Reset, output reg clkout); reg [7:0] Q; always@(posedge Clock,posedge Reset) if(Reset==1) begin Q<=0; clkout<=0; end else if (Q==8) begin clkout<=~clkout; Q<=0; end else Q<=Q+1; endmodule
C.
module counter ( input Clock,Reset, output reg clkout); reg [7:0] Q; always@(posedge Clock,posedge Reset) if(Reset==1) begin Q<=0; clkout<=0; end else if (Q==16) begin clkout<=~clkout; Q<=0; end else Q<=Q+1; endmodule
D.
module counter ( input Clock,Reset, output reg clkout); reg [7:0] Q; always@(posedge Clock,posedge Reset) if(Reset==1) begin Q<=0; clkout<=0; end else if (Q==7) begin clkout<=~clkout; Q<=0; end else Q<=Q+1; endmodule
正确答案:A、D
4判断(2分)
计数器对输入时钟脉冲进行计数,也用于分频、定时、产生节拍脉冲
得分/总分
A.×
B.√
正确答案:B
5判断(2分)
按时钟输入方式,可以分为同步和异步计数器;
按进位体制,可以分开二进制、十进制、任意进制计数器;
按计数方向,可以分为加法,减法,可逆计数器。
得分/总分
A.√
B.×
正确答案:A
6判断(2分)
可逆计数器既可加1计数又可减1计数。
得分/总分
A.×
B.√
正确答案:B
7判断(2分)
计数器具有分频特性,8位计数器可以实现256分频
得分/总分
A.×
B.√
正确答案:B
8判断(2分)
假设一个二进制计数器的输出为Q[7:0],如果希望将10MHz时钟分频得到1.25MHz的时钟,可以采用计数器的Q[1]位.
得分/总分
A.×
B.√
正确答案:A
9填空(2分)
使用远程实验平台虚拟面板验证自动移动的流水灯
系统提供给VisuralBoard的时钟频率是____MHz,周期是____us,直接用它作移动寄存器的时候,肉眼无法分辨出流水灯的移动,因为一般情况下高于40Hz人眼就无法灵敏地感知光源闪烁了,所以需要设计分频器。
注意,多个填空的答案之间用#隔开,例如:三个空,答案填写为:0#有#更新
得分/总分
正确答案:10#0.1
10填空(2分)
设置平台的刷新频率为____ms,使刷新的时间等于流水动移动的间隔时间,就可以看到流水灯匀速的运动。
得分/总分
正确答案:838 或 839
实验代码
VirtualBoard
`default_nettype none module VirtualBoard ( input logic CLOCK, // 10 MHz Input Clock input logic [19:0] PB, // 20 Push Buttons, logical 1 when pressed input logic [35:0] S, // 36 Switches output logic [35:0] L, // 36 LEDs, drive logical 1 to light up output logic [7:0] SD7, // 8 common anode Seven-segment Display output logic [7:0] SD6, output logic [7:0] SD5, output logic [7:0] SD4, output logic [7:0] SD3, output logic [7:0] SD2, output logic [7:0] SD1, output logic [7:0] SD0 ); /** The input port is replaced with an internal signal **/ wire reset = PB[0]; wire clk; /************* The logic of this experiment *************/ logic [23:0] count; logic clkout; ClockDivider #(10000000) R0(.ClkIn(CLOCK),.Reset(reset),.ClkOut(clk)); logic [7:0]q; always @ (posedge clk or posedge reset) if (reset) q <= 1; else q <= {q[6:0], q[7]}; /****** Internal signal assignment to output port *******/ assign L[7:0] = q[7:0]; endmodule
ClockDivider
module ClockDivider #(parameter RATIO=8) ( input ClkIn,Reset, output reg ClkOut ); reg [26:0] cnt; always@(posedge ClkIn,posedge Reset) if(Reset) begin cnt<=0; ClkOut<=0; end else if(cnt==RATIO/2-1) begin ClkOut<=~ClkOut; cnt<=0; end else cnt<=cnt+1; endmodule