同步和异步时序电路是时序电路的两大主要类型,它们在设计和工作原理上有着明显的不同:
1 同步时序电路
这类电路包含一个时钟信号,用来同步整个系统中数据的进展。这意味着数据的传输和处理是在时钟信号的特定边缘(上升沿或下降沿)发生的。
事件或动作的发生是在特定的时钟边缘上,使得设计这类电路时可以遵循一套严格的规则,从而简化设计过程。
由于存在全局时钟信号,同步电路的设计和调试相对较为简单。
2 异步时序电路
与同步电路不同,异步电路没有全局的时钟信号来同步事件的发生。在这种类型的电路中,事件的发生是独立的,通常由前一个事件的完成来触发下一个事件的开始。
这种设计方式使得电路可以在不同部分以不同的速度运行,不受全局时钟频率的限制。
然而,由于缺乏全局的同步机制,设计和验证异步电路的复杂度要高得多,需要特殊的设计工具和技术以确保稳定可靠的运行。
同步电路由于其设计的简化和预测性,被广泛应用于各种数字系统中,如微处理器、数字信号处理器等。而异步电路则在那些对功耗和响应时间有特别要求的应用场合中找到了自己的位置,例如在一些低功耗设备和高速通信接口中。由于异步电路不受全局时钟频率的限制,它们在某些情况下可以提供更高的性能和更低的功耗。
3 初始化触发器
在同步和异步时序电路中共存的问题,特别是如何在电路上电时初始化触发器的状态。
在实际的顺序电路中,触发器(锁存器或触发器)通常具有额外的功能:可以异步地以优先级方式初始化触发器的状态。这是因为当使用带有触发器的顺序电路时,我们通常无法从电路外部访问D输入。当电路上电时,触发器可能会处于任意状态。通常,为了确保电路在同步模式下的正确行为,需要触发器从一个已知的初始状态“启动”。因此,需要初始化电路。
为了实现这一点,添加了一个或两个异步初始化输入。在这张图片上,D触发器有两个初始化输入:
一个置0输入,称为清除或复位(clear或reset),
一个置1输入,称为预置或设定(preset或set)。
从状态转换表可以看出,这些初始化输入优先于其他输入,即时钟和D。一个触发器可能只有置1或置0的功能,不一定都有。如果同时存在清除和预置功能,则必须注意不要同时激活这两个功能(这和RS触发器存在相同的问题)。
初始化输入通常是低电平激活的。
在PC 6-7中研究了带有复位功能的触发器的一个实例。
添加额外的输入会引入额外的时间特性。