约翰逊(Johnson)计数器

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

?
?

来自 <http://zhidao.baidu.com/link?url=_NMF_BQ7scA5qFy9t2V_3HpMVJeUDpRgnYJlfMtiucDRpykyUA5BlHfW4Lv7jj-Yrh7oB5oTKZ3OhTrt7IWxqq>

?
?

?
?

?
?

?
?

?
?

?
?

?
?

?
?

?
?

?
?

约翰逊(Johnson)计数器又称扭环计数器,是一种用n位触发器来表示2n个状态的计数器。它与环形计数器不同,后者用n位触发器仅可表示n个状态。n位二进制计数器(n为触发器的个数)有2^n个状态。若以四位二进制计数器为例,它可表示16个状态。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19


module?johnson

#(

????parameter N=4

)

(

????input?clk,

????input?rst_n,

????output?reg?[N-1:0] q

);

?
?

always[email protected] (posedge?clk,negedge?rst_n)

if(!rst_n)

????q <= {N{1‘b0}};

else?if(!q[0])

????q <= {1‘b1,q[N-1:1]};

else

????q <= {1‘b0,q[N-1:1]};

?
?

endmodule

用原理图搭

?
?

路漫漫其修远兮,吾将上下而求索

?
?

来自 <http://www.cnblogs.com/qiweiwang/archive/2011/09/12/2174106.html>

?
?

扭环形计数器编辑

本词条缺少概述信息栏名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

扭环形计数器电路图示例(1张)

扭环形计数器图

为了提高环形计数器电路状态利用率,改变反馈函数为 D0=D2‘ ,则得到如上所示逻辑电路图,称为扭环形计数器。  扭环形计数器的有效状态是:000→100→110→111→011→001→000(环形计数器是100→010→001→100→,如此循环,工作时,首先用 STA 置电路为全 0,然后加 CP。

② 波形图

③状态图

下面是扭环形计数器状态图。有效状态 6 个,电路进入有效循环;无效状态 2 个,电路进入无效循环。这个电路不能自启动。

④ 优缺点n?个触发器组成的扭环形计数器 2n 个有效状态,有效状态利用率比环形计数器增加一倍。3 位扭环形计数器可构成 6 节拍发生器 T0 ~ T5,但需加译码电路。由于电路在每次状态转换时,只有一位触发器改变状态,电路译码时不会产生竞争冒险现象,而且,译码电路简单。

?
?

来自 <http://baike.baidu.com/view/4837609.htm?fr=aladdin>

时间: 2024-10-06 23:21:13

约翰逊(Johnson)计数器的相关文章

多机作业排序问题-约翰逊算法和帕尔默法求最优解

0-背景 临近毕业答辩,检测重复率,抽盲审等事宜接踵而至.很不幸,女票抽中盲审.我送助攻,和她一起修改论文,所以,这几天写了点代码,可以整理一下. 多机器作业排序问题很简单,举个栗子??(从她论文中偷了一张图,23333),把所有工件,A,B,C,D加工完要用多久?前提是一台机器只能一次加工一个工件. (1)用时矩阵 工件名称 电炉工时/h 钢包工时/h 模铸工时/h 修磨工时/h A 5 10 7 2 B 10 2 8 9 C 3 6 7 8 D 8 10 1 6 合计 26 28 23 25

理解JS闭包——以计数器为例

假如我们需要制作一个计数器,每点击一次就加1.代码写成这样: var counter = 0; //把计数器counter设置成全局变量 function add(){ return counter+=1; } add(); //1 add(); //2 add(); //此时counter=3 每执行add()函数一次,相当于执行 counter=counter+1 一次,等于是为counter重新赋值,这样执行过3次add()后,因为counter是全局变量,所以此时counter为3,实现

css计数器

很多时候要是实现一行文字前面的序列号的话,可能会直接添加个新元素或者利用before伪元素实现.但如果是多行文字的序列号的话,就不是那么简单了. 恰好,css就有这么个计数器可以实现这个功能. counter-reset:进行计数器的重置. counter-increment:进行计数器的递增或递减. counter():输出计数器. 就以上三个属性.但使用起来可不是这么简单: <!DOCTYPE html> <html lang="en"> <head&

51单片机中断机制(定时器/计数器)

单片机中断简介 52单片机一共有6个中断源,它们的符号,名称以及各产生的条件分别如下: INT0 - 外部中断0,由P3.2端口线引入,低电平或下降沿引起 INT1 - 外部中断1,由P3.3端口线引入,低电平或下降沿引起 T0    - 定时器/计数器0中断, 由T0计数器计满回零引起 T1    - 定时器/计数器1中断, 由T1计数器计满回零引起 T2    - 定时器/计数器2中断, 由T2计数器计满回零引起 TI/RI - 串行口中断,串行端口完成一帧字符发送/接收后引起 其中T2是5

Loadrunner windows计数器

object (对象) Counters (计数器名称) Description (描述) 参考值 Memory Available Mbytes 可用物理内存数.如果该值很小(4MB或更小),则说明该计算机上总的内存可能不足,或某程序没有释放内存.每个附加连接将在此基础上占用10KB左右 至少要有10%的物理内存值 Memory Page/sec 表示因为页面错误,从磁盘取出的页面数,或是由于页面错误,写入磁盘以释放工作空间的页面数 推荐值为0~20,一般如果该值持续高于几百,那么应该进一步研

Hadoop MapReduce编程 API入门系列之压缩和计数器(三十)

不多说,直接上代码. Hadoop MapReduce编程 API入门系列之小文件合并(二十九) 生成的结果,作为输入源. 代码 package zhouls.bigdata.myMapReduce.ParseTVDataCompressAndCounter; import java.net.URI; import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Co

Jmeter之计数器与分布式融合处理

场景:测试订单记录存储性能: 描述:使用分布式来测试高并发情况下存储订单记录的性能: 要求:订单编号不能重复: 脚本方案(初稿): 使用计数器(counter)来生成订单号,其他可用变量来处理: 调试结果与问题: 单机情况下:Jmeter能生成不重复的订单号,能完成压测任务: 分布式情况:报订单号重复,原因是Jmeter的master机只是将jmx发给slave机器上执行,这样一来就会导致所有slave机共用同一个计数器,就会出现重复了. 思考及切入点:1.订单编号有命名规则,如A1010000

【递归与递推】计数器

问题 F: [递归与递推]计数器 题目描述 一本书的页数为N,页码从1开始编起,请你求出全部页码中,用了多少个0,1,2,…,9.其中—个页码不含多余的0,如N=1234时第5页不是0005,只是5. 输入 一个正整数N(N≤109),表示总的页码. 输出 共十行:第k行为数字k-1的个数. 样例输入 11 样例输出 1 4 1 1 1 1 1 1 1 1 #include <iostream> #include <cstring> #include <cstdio>

MapReduce计数器

1.MapReduce计数器是什么? 计数器是用来记录job的执行进度和状态的.它的作用可以理解为日志.我们可以在程序的某个位置插入计数器,记录数据或者进度的变化情况. 2.MapReduce计数器能做什么? MapReduce 计数器(Counter)为我们提供一个窗口,用于观察 MapReduce Job 运行期的各种细节数据.对MapReduce性能调优很有帮助,MapReduce性能优化的评估大部分都是基于这些 Counter 的数值表现出来的. 3.MapReduce 都有哪些内置计数