我是靠谱客的博主 魁梧蓝天,这篇文章主要介绍verilog 实现可预置15以内 的任何数作为模的初值的可变模的循环计数器--模可变的减法计数器,现在分享给大家,希望可以做个参考。

/*//实现可预置15以内 ,(任何数), 作为初值的可变模的循环计数器
*/
module counter77 (
    input clk,
    input rst,
    input [3:0]d_in,
    output reg [3:0]d_out
);
    reg [3:0]cnt;
    always @(posedge clk or negedge rst) begin
        if(!rst) begin cnt <= 4'b0; end
            
        
        else if (cnt == 4'b0) begin
            cnt <= d_in;
        end
        else begin
            cnt <= cnt - 1'b1;
        end
    end
    always @(posedge clk or negedge rst) begin
        if(!rst) begin
            d_out <= 'b0;
        end
        else begin
            d_out <= cnt;
        end
    end
endmodule 

/*  给了3个初始计数值,0010,0011,0000

 仿真结果

根据仿真结果来看,确实实现了,计数值可以根据输入调整的问题,也就是计数器的模型可调

*/ 

最后

以上就是魁梧蓝天最近收集整理的关于verilog 实现可预置15以内 的任何数作为模的初值的可变模的循环计数器--模可变的减法计数器的全部内容,更多相关verilog内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(138)

评论列表共有 0 条评论

立即
投稿
返回
顶部