用verilog程序设计一个具有异步清零功能的24进制计数器

如题所述

module counter_24 ( input clk, input rst, input cnt_in ,output reg cnt_out );

reg [4:0] cnt;

always @ (posedge clk or posedge rst_n) begin

if (rst) cnt <= 5'b0;

else if (~cnt_in) cnt <= cnt;

else if (cnt == 5'b10110) cnt <= 5'b0;

else cnt <= cnt + 1'b1;

end

always @ (posedge clk or posedge rst) begin

if (rst) cnt_out <= 1'b0;

else if (cnt_in && cnt == 5'b10110) cnt_out <= 1'b1;

else cnt_out <= 1'b0;

end

endmodule

input add; //为1时加操作

input dec; //为1时减操作

output [5:0] counter;

reg [5:0] counter;

always @(add and dec) begin

if(add && !dec) begin

if(counter == 6'd38) begin

counter <= 6'd0;

扩展资料:

有一种记数系统便是24进制的,其中1~24有专门的符号来表示,大于24的数便可以像24进制那样写成多位数,如tokaputokapuŋgayepoko代表24进制中的P0(552)。malapu talusupuŋga talu代表24进制中的H2G(9856)。

为了避免混淆1和I,0和O,故跳过字母I、O,18~~23分别计作J、K、L、M、N、P。比如:16计作G、22计作N。

等于或大于24的数字计作:24→10、25→11、26→12??25→11中标粗体的1代表24。同一个数字在不同的位置代表的值是不一样的。

参考资料来源:百度百科-二十四进制

温馨提示:答案为网友推荐,仅供参考