我是靠谱客的博主 安静鸡,最近开发中收集的这篇文章主要介绍数字集成电路 -- 各种计数器简介(环形计数器,扭环形计数器,线性反馈移位寄存器,行波计数器),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

https://www.cnblogs.com/lyc-seu/p/13062697.html#1-%E7%8E%AF%E5%BD%A2%E8%AE%A1%E6%95%B0%E5%99%A8

  •  
    • 1.环形计数器
    • 2.扭环形计数器
    • 3.线性反馈移位寄存器
    • 4.行波计数器

 

1. 环形计数器

module ring_counter4bit
#(parameter N=4)
(
input clk,
input rst_n,
output reg[N-1:0]ring_cnt
    );
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
ring_cnt<=4'b0001;
else
ring_cnt<={ring_cnt[0],ring_cnt[N-1:1]};
end
endmodule

https://wenku.baidu.com/view/73ec140bba1aa8114431d945.html

N个寄存器构成的环形计数器,状态数:N

 

2. 扭环形计数器

https://wenku.baidu.com/view/73ec140bba1aa8114431d945.html

约翰逊(Johnson)计数器又称扭环计数器,是一种用n位触发器来表示2n个状态的计数器。它与环形计数器不同,后者用n位触发器仅可表示n个状态。2~n进制计数器(n为触发器的个数)有2~n个状态。若以四位二进制计数器为例,它可表示16个状态。但由于8421码每组代码之间可能有二位或二位以上的二进制代码发生改变,这在计数器中特别是异步计数器中就有可能产生错误的译码信号,从而造成永久性的错误。而约翰逊计数器的状态表中,相邻两组代码只可能有一位二进制代码不同,故在计数过程中不会产生错误的译码信号。鉴于上述优点,约翰逊计数器在同步计数器中应用比较广泛。

module  Johnson_counter4bit
#(parameter N=4)
(
input clk,
input rst_n,
output reg[N-1:0]Johnson_cnt
);
always@(posedge clk or negedge rst_n)begin
if(!rst_n)
Johnson_cnt<=0;
else
Johnson_cnt<={~Johnson_cnt[0],Johnson_cnt[N-1:1]};
end
endmodule

N个寄存器构成的扭环形计数器,状态数:2N

就是将环形计数器最后一级反向后接到第一级。 对于自启动的设计,如下:

分析:

      修改反馈逻辑的值,可使进入正常工作的循环。通过分析可知,s,s,r,r总共有四种状态可以修改反馈进入正常的计数反馈循环。通过卡诺图分析,s,s包围的2*2黄色框和原先4*2橙色框面积最大,反馈函数最简单,电路实现便捷。

      另外一种反馈函数:

 

 

 

3. 线性反馈移位寄存器

N级的线性反馈移位寄存器最多有  2^N-1 个状态。
线性反馈移位寄存器的基本结构见

https://blog.csdn.net/qq_44113393/article/details/89852994
https://www.cnblogs.com/weijianlong/p/11947741.html

假设开始的时候(D2,D1,D0 ) = (0,0,1),那么每过一个时钟周期会进行跳变一次,可以看到具体的跳变如图所示:

对于反馈多项式具有什么数学性质实际上我一直比较好奇,应该不只是表示一个等效电路这么简单,直到看到这篇文章:

http://blog.sina.com.cn/s/blog_62d9edac01015lsd.html

得到的余数就是R(x)。 

  

可以发现,当一开始输入一个1,之后每个周期代表的输入序列M(x)除以反馈多项式得到的R(x)代表的寄存器值就是001,010,100,011,101,111,101,也就是上面表中的状态。

通过这一特性,线性移位寄存器在CRC电路中有广泛应用。

4. 行波计数器

2的幂次分频

 每一级的输出都是输入时钟的二分频,N级串联实现输入时钟的2N2N次分频

 

最后

以上就是安静鸡为你收集整理的数字集成电路 -- 各种计数器简介(环形计数器,扭环形计数器,线性反馈移位寄存器,行波计数器)的全部内容,希望文章能够帮你解决数字集成电路 -- 各种计数器简介(环形计数器,扭环形计数器,线性反馈移位寄存器,行波计数器)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部