顺序逻辑

自动机理论中,顺序逻辑是一种逻辑电路,其输出取决于其输入信号的当前值以及过去输入的顺序,即输入历史记录。这与组合逻辑相反,后者的输出仅是当前输入的函数。也就是说,顺序逻辑具有状态内存),而组合逻辑则没有。

顺序逻辑用于构建有限状态机,这是所有数字电路中的基本构建块。实际上,实际数字设备中的所有电路都是组合和顺序逻辑的混合物。

具有顺序逻辑的设备的熟悉示例是带有“通道向上”和“频道向下”按钮的电视集。按下“向上”按钮可以使电视输入,以告诉它切换到当前接收到的通道上方的下一个通道。如果电视在第5频道上,则按“向上”将其切换为接收频道6。但是,如果电视在第8频道上,则按“ UP”将其切换为“ 9”频道。为了使频道选择正确运行,电视必须意识到当前正在接收的频道,这是由过去的频道选择确定的。电视将当前渠道作为其的一部分存储。当给出“通道向上”或“向下”输入时,通道选择电路的顺序逻辑从输入和当前通道计算新通道。

数字顺序逻辑电路分为同步异步类型。在同步顺序电路中,设备的状态仅在离散时间响应时钟信号而变化。在异步电路中,设备的状态可以随时响应更改输入而发生变化。

同步顺序逻辑

今天几乎所有顺序逻辑都是时钟同步逻辑。在同步电路中,称为时钟(或时钟发生器)的电子振荡器会生成一系列称为时钟信号的重复脉冲,该脉冲分布在电路中的所有内存元素上。同步逻辑中的基本内存元素是触发器。仅在时钟脉冲触发时,每个触发器的输出只会发生变化,因此整个电路中的逻辑信号都会在同一时间(定期间隔)开始,并由时钟同步。

在任何给定时间,它们包含的二进制数据的电路中所有存储元件(触发器)的输出称为电路状态。同步电路的状态仅在时钟脉冲上改变。在每个周期中,下一个状态由当前状态和时钟脉冲发生时输入信号的值确定。

同步逻辑的主要优点在于它的简单性。执行数据操作的逻辑门需要有限的时间来响应其输入的更改。这称为传播延迟。时钟脉冲之间的间隔必须足够长,以便所有逻辑门都有时间响应更改,并且在下一个时钟脉冲发生之前,它们的输出“沉降”到稳定的逻辑值。只要满足这种情况(忽略某些其他细节),保证电路是稳定且可靠的。这决定了同步电路的最大工作速度。

同步逻辑有两个主要缺点:

  • 最大可能的时钟速率取决于电路中最慢的逻辑路径,也称为临界路径。从最简单到最复杂的每个逻辑计算都必须在一个时钟周期中完成。因此,很快完成计算的逻辑路径很大程度上是空闲的,等待下一个时钟脉冲。因此,同步逻辑可以比异步逻辑慢。加快同步电路的一种方法是将复杂的操作分为几个简单的操作,这些操作可以在连续的时钟周期中执行,这是一种称为管道的技术。该技术广泛用于微处理器设计中,并有助于提高现代处理器的性能。
  • 时钟信号必须分布在电路中的每个触发器上。由于时钟通常是高频信号,因此该分布会消耗相对较大的功率并消散大量热量。即使是无所事事的触发器也会消耗少量的功率,从而在芯片中产生了废热。在电池供电的设备中,需要附加的硬件和软件复杂性来降低时钟速度或在未积极使用设备时暂时关闭时钟,以保持可用的电池寿命。

异步顺序逻辑

时钟信号不会同步异步无钟自定义顺序逻辑;电路的输出会直接响应输入变化而变化。异步逻辑的优点是它可以比同步逻辑更快,因为电路不必等待时钟信号处理输入。设备的速度仅受所使用逻辑门传播延迟的限制。

但是,异步逻辑更难设计,并且会受到同步设计中未遇到的问题。主要问题是数字内存元素对其输入信号到达的顺序敏感;如果两个信号几乎同时到达触发器或闩锁,则说明电路进入的哪个信号可能取决于首先进入门的信号。因此,根据逻辑门的传播延迟的微小差异,电路可以进入错误的状态。这称为种族条件。在同步电路中,此问题并不那么严重,因为内存元素的输出仅在每个时钟脉冲上发生变化。时钟信号之间的间隔设计足够长,以允许内存元素的输出“沉降”,因此当下钟到来时它们不会改变。因此,唯一的时序问题是由于“异步输入”造成的。来自其他系统的电路输入,这些系统未同步到时钟信号。

异步顺序电路通常仅在速度处于高速的同步系统的几个关键部分中,例如微处理器的一部分和数字信号处理电路。

异步逻辑的设计使用同步逻辑的不同数学模型和技术,并且是一个活跃的研究领域。

也可以看看