从 9999 到 0630 的 7 段显示中递减计数的 Verilog 代码
Verilog code for down counting in 7 segment display from 9999 to 0630
我想编写一个从 9999 倒数到 0630 的代码,并在按下 FPGA Nexys3 上的重置按钮时显示初始值 (9999)。
这是我的框图:
我已经完成了慢时钟模块,但我不知道应该在哪个模块中编写复位代码?它应该是什么?
如果我知道计数器(项目模块)的代码,我就能编写其余模块。
请帮我写计数器代码和重置代码。
重置功能应为输出和内部寄存器分配初始计数器值。
重置值为 9999。计数器应在每个时钟脉冲上从 9999 递减计数至 0630。达到 0630 后,它会重置,并且可以选择给出 out
脉冲指示。
以下是示例代码,这可能不是最佳版本。
module ctr(counter,reset,clk)//out
output reg [13:0] counter;
// output reg out;
input reset;
input clk;
always @(posedge clk, negedge reset) begin
if(!reset) begin
counter <= 14'd9999;
// out<=0;
end
else begin
if (counter == 14'd0630) begin
counter <= 14'd9999;
// out <= ~out;
end
else begin
counter <= counter -1;
end
end
end
endmodule
我想编写一个从 9999 倒数到 0630 的代码,并在按下 FPGA Nexys3 上的重置按钮时显示初始值 (9999)。
这是我的框图:
我已经完成了慢时钟模块,但我不知道应该在哪个模块中编写复位代码?它应该是什么?
如果我知道计数器(项目模块)的代码,我就能编写其余模块。
请帮我写计数器代码和重置代码。
重置功能应为输出和内部寄存器分配初始计数器值。
重置值为 9999。计数器应在每个时钟脉冲上从 9999 递减计数至 0630。达到 0630 后,它会重置,并且可以选择给出 out
脉冲指示。
以下是示例代码,这可能不是最佳版本。
module ctr(counter,reset,clk)//out
output reg [13:0] counter;
// output reg out;
input reset;
input clk;
always @(posedge clk, negedge reset) begin
if(!reset) begin
counter <= 14'd9999;
// out<=0;
end
else begin
if (counter == 14'd0630) begin
counter <= 14'd9999;
// out <= ~out;
end
else begin
counter <= counter -1;
end
end
end
endmodule