module up_down_counter ( output reg [2: 0] Count, input load, counter_up, counter_on, clk, reset, input [2: 0] Data_in); always @ (posedge reset or posedge clk) if (reset==1’b1) Count<=3’b0; else if (load==1’b1) Count<=Data_in; else if (counter_on==1’b1) begin if (counter_up==1’b1) Count<=Count+1; else Count<=Count-1; end endmodule
时间: 2024-03-31 22:33:27 浏览: 38
up_down_counter.rar_32 counter_UP_up down count_up/down counter_
这是一个 Verilog 的模块,实现了一个可以上下计数的计数器。其中,Count 是一个 3 位的寄存器,load 信号用来控制是否将输入的 Data_in 加载到 Count 中,counter_up 信号用来控制计数器的方向,counter_on 用来控制计数器是否启用,clk 信号为时钟信号,reset 信号为复位信号,Data_in 为输入的数据。当 reset 信号为高电平时,Count 的值会被复位为 0;当 load 信号为高电平时,Count 的值会被 Data_in 的值所替代;当 counter_on 信号为高电平时,计数器才会启用。如果 counter_up 信号为高电平,则 Count 的值会递增 1,否则 Count 的值会递减 1。
阅读全文