异步十二进制加法计数器(统一使用上升沿触发的D触发器)设计

(1)绘制十二进制加法计数器的状态表:

异步十二进制加法计数器(统一使用上升沿触发的D触发器)设计

(2)根据状态表, 绘制十二进制加法计数器的时序图, 并从中找出Q0、Q1、Q2和Q3的变化规律.

(此处时序图略) 

从时序图中可以发现, Q0变化在系统时钟CP的上升沿处, Q1在Q0下降沿处变化, Q2在Q0下降沿处变化, Q3在Q0下降沿处变化.

(值得注意的是, 比如说"Q2在Q0下降沿处变化", 并不一定Q2在Q0的每个下降沿都变化. 若以一种严谨的表达来描述此事, 可描述为"Q2变化时, Q0正处在下降沿时刻". )

根据对时序图的分析, 得到时钟方程 CP0=CP, CP1=CP2=CP3=Q0n'.

(3)根据得出的时钟方程, 修改上面的状态表:

异步十二进制加法计数器(统一使用上升沿触发的D触发器)设计

(4)根据"CP=0的次态用×代替"这一原则, 再次修改状态表:

异步十二进制加法计数器(统一使用上升沿触发的D触发器)设计

(5)根据状态表, 绘制状态激励表:

异步十二进制加法计数器(统一使用上升沿触发的D触发器)设计

(6)根据状态激励表, 求状态激励方程和输出方程:

用填充卡诺图并化简的方式, 求得 D3=Q3n·Q1n'+Q2n·Q1n, D2=Q2n·Q1n'+Q3n'·Q2n'·Q1n, D1=Q1n', D0=Q0n', Y=Q3n·Q2n'·Q1n·Q0n.

(7)根据状态激励方程和求出的时钟方程, 求次态方程:

Q3^(n+1)=D3=Q3n·Q1n'+Q2n·Q1n, Q0下降沿时刻有效;

Q2^(n+1)=D2=Q2n·Q1n'+Q3n'·Q2n'·Q1n, Q0下降沿时刻有效;

Q1^(n+1)=D1=Q1n', Q0下降沿时刻有效;

Q0^(n+1)=D0=Q0n', 系统时钟CP上升沿时刻有效.

(8)检查电路自启动功能:

异步十二进制加法计数器(统一使用上升沿触发的D触发器)设计

由无效状态的状态表, 可以得到 1100->1101->1110->1111->1000, 所以电路具备自启动功能.

(9)绘制逻辑图:

异步十二进制加法计数器(统一使用上升沿触发的D触发器)设计

(10)设计心得:

        在异步十六进制、异步十二进制、异步十进制和异步八进制加法计数器的设计中, 我们可以发现这四个电路有一个明显的共同点: 那就是CP0=CP, 即最低位触发器的CLK引脚直接接到系统时钟CP. 那么有没有这样的可能: 非最低位触发器的CLK引脚直接接到系统时钟系统CP, 在后续的设计中我会尽力寻找这一情况.