本文主要是介绍CPU和内存的电路设计09-计数器的内部电路实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文阐述如何使用T触发器,实现计数器,计数器的功能就是:每来一个脉冲,自动加1,本文将做一个大小为3bit位的计数器,最大值为十进制的7,每个bit位将用1个T触发器表示,所以3bit位的计数器,应该使用3个T触发器,它们三个按照如图1的方式连接,且初始状态CP1=Q1=Q2=Q3=0,
所以初始值为
000
下面将CP1由变1,状态变成了图2,由于T触发器的特性,CP触发上升沿,会使Q1=1,CP2由1变成0(CP2为下降沿,所以Q2不变),最终图2的值为
001
接下来将CP1恢复成0,方便下次再从0变成1,由于本次操作是从1到0,属于下降沿,所以除了CP1,其他没有任何变化,恢复之后的状态如图3
再次将CP1变成1,此时CP1成上升沿,导致 Q ‾ 1 \overline{Q}1 Q1由0变成1,也成上升沿,所以最终的值如图4,变成了
010
接下来将CP1恢复成0,方便下次再从0变成1,由于本次操作是从1到0,属于下降沿,所以除了CP1,其他没有任何变化,恢复之后的状态如图5
再次将CP1变成1,成上升沿,所以Q1翻转,由0变1,CP2= Q ‾ 1 \overline{Q}1 Q1由1变0,成下降沿,所以Q2不变,最终计数器状态如图6,此时的值为
011
接下来将CP1恢复成0,方便下次再从0变成1,由于本次操作是从1到0,属于下降沿,所以除了CP1,其他没有任何变化,恢复之后的状态如图7
再次将CP1变成1,成上升沿,所以Q1翻转,由1变0
CP2= Q ‾ 1 \overline{Q}1 Q1由0变1,成上升沿,所以Q2翻转,由1变0
CP3= Q ‾ 2 \overline{Q}2 Q2由0变1,成上升沿,所以Q3翻转,由0变1
所以最终状态如图8,值为
100
这篇关于CPU和内存的电路设计09-计数器的内部电路实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!