Verilog hdl 设计一个30进制的减计数器,同步计数,异步清零,置数,有借位
答案:1 悬赏:30 手机版
解决时间 2021-04-05 07:31
- 提问者网友:喧嚣尘世
- 2021-04-04 18:16
Verilog hdl 设计一个30进制的减计数器,同步计数,异步清零,置数,有借位
最佳答案
- 五星知识达人网友:不如潦草
- 2021-04-04 18:49
module count(
input clk,
input rst_n,
input clr,
input [9:0]data_set,
input set_en,
output reg[9:0] cnt_out
);
reg [5:0]cnt;
always@(posedge clk or negedge rst_n)begin
if(!rst_n)
cnt_out<=10'd1023;
else if(clr) //同步清零
cnt_out<=10'b0;
else if(set_en) //同步置位
cnt_out<=data_set;
else if(cnt==29) //30进制
cnt_out<= cnt_out-10'b1;
end
always@(posedge clk or negedge rst_n)begin
if(!rst_n)
cnt<=0;
else if(cnt==29)
cnt<=0;
else
cnt<=cnt+1;
end
这就是一个完全符合你的要求的30进制减计数器
input clk,
input rst_n,
input clr,
input [9:0]data_set,
input set_en,
output reg[9:0] cnt_out
);
reg [5:0]cnt;
always@(posedge clk or negedge rst_n)begin
if(!rst_n)
cnt_out<=10'd1023;
else if(clr) //同步清零
cnt_out<=10'b0;
else if(set_en) //同步置位
cnt_out<=data_set;
else if(cnt==29) //30进制
cnt_out<= cnt_out-10'b1;
end
always@(posedge clk or negedge rst_n)begin
if(!rst_n)
cnt<=0;
else if(cnt==29)
cnt<=0;
else
cnt<=cnt+1;
end
这就是一个完全符合你的要求的30进制减计数器
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯