时序逻辑电路设计进阶——Verilog HDL语言
6位十进制计数器
module counter6bit_test(ENA,CLR,F_IN,Q);
input ENA;
input CLR;
input F_IN;
output [23:0] Q;
reg [23:0] Q;
reg F_OUT;
/*请在下面添加代码,完成6位十进制计数器*/
/* Begin */
always@(posedge F_IN)
begin
if(CLR)
Q <= 0;
else if(ENA)
if(Q[3:0] < 4'b1001) Q[3:0] <= Q[3:0] + 1'b1;
else if(Q[7:4] < 4'b1001) begin Q[7:4]<=Q[7:4] + 1'b1;Q[3:0]<=0; end
else if(Q[11:8] < 9) begin Q[11:8]<=Q[11:8] + 1'b1;Q[7:0]<=0; end
else if(Q[15:12] < 9) begin Q[15:12]<=Q[15:12] + 1'b1;Q[11:0]<=0; end
else if(Q[19:16] < 9) begin Q[19:16]<=Q[19:16] + 1'b1;Q[15:0]<=0; end
else if(Q[23:20] < 9) begin Q[23:20]<=Q[23:20] + 1'b1;Q[19:0]<=0; end
else Q <= 0;
/* End */
end
endmodule
24位寄存器
module latch24_test(
input clk,
input [23:0]d,
output reg[23:0]q
);
// 请在下面添加代码,完成24位寄存器
/* Begin */
always @(posedge clk)
q <= d;
/* End */
endmodule