带使能端的环形计数器

一、原理

环形计数器,0001→0010→0100→1000→0001

二、代码

//环形计数器
module ring_counter#(parameter word_size=4)(
    input clk,
    input rst_n,
    input enable,
    output reg [word_size-1:0]count
);
always@(posedge clk,negedge rst_n)
    if(!rst_n)
        count<={{(word_size-1){1'b0}},1'b1}; // 0001
    else if(enable==1'b1)
        count<={count[word_size-2:0],count[word_size-1]}; 
            //在使能后,来一个时钟上升沿,则把低3位移到高,把高位移到低
            // 0001  0010  0100 1000 0001 ...
endmodule

异步置位 ,rst_n=0时,则D触发器的Q端是 0001 ,即 count = 4'b0001 。 

同步使能,即有使能信号也还不行,还要有时钟上升沿,在enable=1 之后的第一个上升沿才会进行环形计数

三、测试代码

module ring_counter_tst #(parameter word_size=4)();
    reg clk;
    reg rst_n;
    reg enable;
    wire [word_size-1:0]count;
ring_counter U_ring_counter(
    .clk(clk),
    .rst_n(rst_n),
    .enable(enable),
    .count(count)
);   
    initial
    begin
        clk=0;
        rst_n=0;
        enable=0;
        #20; 
        rst_n=1;
        #20;
        enable=1;
    end
always #10 clk=~clk;
endmodule

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自启动式扭环形计数器是一种常用的数字电路,用于实现高速计数器。它的基本原理是通过多个触发器(一般为D触发器)组成一个扭环形结构,然后通过控制扭环形结构的移位方式实现计数的功能。 下面是一个简单的自启动式扭环形计数器实验: 材料: - 4个D触发器 - 1个4位扭环形结构(型号:74HC393) - 1个555定时器 - 1个LED数码管(共阳) 步骤: 1. 将4个D触发器连接成一个4位二进制计数器,即Q3-Q0分别连接到D2-D0,D3连接到“与非”门的输出,门的两个输入分别连接到Q0-Q2。这样,当Q0-Q2都为高电平时,D3的输入为低电平,Q3的输出为高电平,计数器加1。 2. 将4位扭环形结构的QA-QD分别连接到计数器的Q0-Q3,将CLK连接到555定时器的输出(PIN 3)。 3. 将计数器的Q3和扭环形结构的CE(使能)连接到“与门”,门的两个输入分别连接到555定时器的输出(PIN 3)和扭环形结构的QA。 4. 将扭环形结构的CO(进位输出)连接到计数器的D0,将计数器的CLR(清零)连接到555定时器的输出(PIN 3)。 5. 将LED数码管显示器的a-g、dp、COM阳极和GND分别连接到扭环形结构的QA-QD、扭环形结构的CP(扭环形结构时钟脉冲)和GND。 这样,当555定时器输出时,扭环形结构会接收到一个时钟脉冲,将计数器的值移位到扭环形结构中。当扭环形结构的QA为高电平时,使能计数器和扭环形结构,实现计数器自启动。当计数器的Q3为高电平时,进位输出CO为低电平,将D0清零,实现高位清零。LED数码管显示器显示出对应的数字。通过改变555定时器的输出频率,可以改变计数器的计数速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值