在数字电路理论中,时序逻辑是一种逻辑电路,它的输出不仅取决于输入信号的当前值,而且取决于过去输入的序列以及输入历史[1][2][3][4] 。这与组合逻辑相反,组合逻辑的输出仅是当前输入的函数。也就是说,时序逻辑有状态(内存),而组合逻辑没有。
时序逻辑用于构建有限状态机,这是所有数字电路的基本构件。实际上,实际数字设备中的所有电路都是一种组合逻辑和时序逻辑的混合物。
具有时序逻辑的设备的一个常见例子是具有“频道向上”和“频道向下”按钮的电视机[1]。按下“向上”按钮会给电视机一个信号,告诉它切换到当前接收频道上方的下一个频道。如果电视在第5频道,按“向上”键将切换到第6频道。但是,如果电视在第8频道,按“向上”将切换到第9频道。为了使频道选择正确运行,电视必须知道它当前正在接收哪个频道,这是由过去选择的频道决定的[1]。电视将当前频道存储为其状态的一部分。当“频道向上”或“频道向下”的输入给它时,频道选择电路的时序逻辑根据输入和当前频道计算新频道。
数字时序逻辑电路分为同步和异步两种类型。在同步时序电路中,设备的状态仅在时钟信号响应的离散时间下改变。在异步电路中,设备的状态可以根据输入的变化随时改变。
现在几乎所有的时序逻辑都是时钟逻辑或同步逻辑。在同步电路中,被称为时钟(或时钟发生器)的电子振荡器产生一系列被称为时钟信号的重复脉冲,这些脉冲被分配给电路中的所有存储元件。时序逻辑中的基本存储元件是触发器。每个触发器的输出只有在时钟脉冲触发时才会改变,因此整个电路中逻辑信号的改变都是在同一时间、以固定的时间间隔开始的,并由时钟同步。
电路中所有存储元件(触发器)在任何给定时间的输出,即它们包含的二进制数据,称为电路状态。同步电路的状态只随着时钟脉冲的变化而变化。在每个周期,下一个状态由当前状态和时钟脉冲发生时输入信号的值决定。
同步逻辑的主要优点是简单。对数据执行操作的逻辑门需要有限的时间来响应其输入的变化。这被称为传播延迟。时钟脉冲之间的间隔必须足够长,以便在下一个时钟脉冲出现之前所有逻辑门都有时间响应变化,并且它们的输出“稳定”到稳定的逻辑值。只要满足这个条件(忽略某些其他细节),电路就能确保稳定可靠。这决定了同步电路的最大运行速度。
同步逻辑有两个主要缺点:
异步时序逻辑不被时钟信号同步;电路的输出直接随着输入的变化而变化。异步逻辑的优点是它可以比同步逻辑更快,因为电路不需要等待时钟信号来处理输入。设备的速度可能仅受所用逻辑门的传播延迟的限制。
然而,异步逻辑的设计更加困难,并且容易遇到同步设计中没有遇到的问题。主要问题是数字存储元件对其输入信号的到达顺序很敏感;如果两个信号几乎同时到达触发器或锁存器,电路进入哪种状态取决于哪个信号首先到达逻辑门。因此,电路可能进入错误状态,这取决于逻辑门传播延迟的微小差异。这被称为竞态条件。这个问题在同步电路中没有那么严重,因为存储元件的输出仅在每个时钟脉冲上发生改变。时钟信号之间的间隔被设计得足够长,以允许存储器元件的输出“稳定”,从而当下一个时钟到来时它们不会改变。因此,唯一的时序问题是由于“异步输入”; 来自其他系统的电路输入不与时钟信号同步。
异步时序电路通常只用于强调速度的同步系统的几个关键部分,如微处理器和数字信号处理电路部分。
异步逻辑的设计使用不同于同步逻辑的数学模型和技术,是一个研究的活跃领域。
^Vai, M. Michael (2000). VLSI Design. CRC Press. p. 147. ISBN 0849318769..
^Cavanagh, Joseph (2006). Sequential Logic: Analysis and Synthesis. CRC Press. pp. ix. ISBN 0849375649..
^Lipiansky, Ed (2012). Electrical, Electronics, and Digital Hardware Essentials for Scientists and Engineers. John Wiley and Sons. p. 8.39. ISBN 1118414543..
^Dally, William J.; Harting, R. Curtis (2012). Digital Design: A Systems Approach. Cambridge University Press. p. 291. ISBN 0521199506..
暂无