雁过留声 发表于 2024-11-3 17:18:45

异步4位计数器(Quartus与Modelsim团结仿真)

异步计数器(也称为ripple-through counter)的特点是每一位触发器的输出作为下一位触发器的时钟输入,因此计数速度会因为级联触发器的流传延迟而受到限制。这种计数器的最大工作频率通常低于同步计数器。
一、电路符号

   输入信号:时钟信号clk,复位端rst。输出信号:计数输出端q
https://i-blog.csdnimg.cn/direct/268ec6ea2f014f10acf5cf653ef143e7.png
二、设计代码

module yibu_cnt(q,clk,rst);
output q;
input rst,clk;
regq;
regqn;
        always @(posedge clk)
           begin
           if(!rst)
           begin q=0; qn=1;end
           else
           begin q=~q;qn=~q;end
        end
        always@(posedge qn)
        begin
           if(!rst)
           begin q=0;qn=1;end
           else
           begin q=~q;qn=~q;end
           end
        always@(posedge qn)
           begin
           if(!rst)
           begin q=0;qn=1;end
           else
           begin q=~q;qn=~q;end
           end
        always@(posedge qn)
                begin
           if(!rst)
           begin q=0;qn=1;end
           else
           begin q=~q;qn=~q;end
           end
endmodule 三、仿真代码

module yibu_cnt_tb;

reg rst;
reg clk;


wire q;

// 实例化被测试模块
yibu_cnt uut (
    .q(q),
    .clk(clk),
    .rst(rst)
);

// 时钟信号生成
initial begin
    clk = 0;
    forever #10 clk = ~clk; // 产生一个周期为10ns的时钟信号
end

// 测试序列
initial begin
    rst =1;
    #10;
    rst =0;
    #10;
    rst =1;
    #300;
    $finish;
end

initial begin
    $monitor("Time = %t, rst = %b, clk = %b, q = %b", $time, rst, clk, q);
end

endmodule 四、仿真结果

https://i-blog.csdnimg.cn/direct/78502c1f992142c1a408884bf2a97d30.png






免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 异步4位计数器(Quartus与Modelsim团结仿真)