我们探索了数字移位寄存器的设计和功能,用于混合信号电路仿真。
LTspice主要用于模拟仿真,就像所有SPICE衍生物一样。然而,通过整合其数字元件目录中的逻辑功能,我们也可以使用它来验证混合信号电路。在前两篇文章中,我们研究了LTspice数字组件的结构和模拟行为。在这篇文章中,我们将使用它们来构建一个并行负载移位寄存器。
寄存器是数字和混合信号IC的关键子电路。多个单比特存储单元(通常是触发器)在寄存器中连接在一起,形成多个存储设备。例如,我们需要创建一个单字节寄存器:
八双字拖。
允许我们同时从所有八个触发器读取数据或写入数据。
我们刚才描述的是一个基本的并行输入和并行输出寄存器。在移位寄存器中,我们可以将数字数据从触发器移动到下一个触发器。该功能允许我们将并行数据转换为串行数据。
例如,假设我们在移位寄存器中加载一个字节的并行数据。它的分量位可以通过寄存器的触发器顺序移动。序列中的最后一个触发器将原始字节输出到8位序列。
LTspice移位寄存器。
对我来说,设计一个只接受串行输入并产生串行输出的移位寄存器相对简单。触发器将连接输出到输入,序列中第一个触发器的输入引脚将是整个寄存器的串行输入端子。并行负载移位寄存器虽然更有用,但也更复杂。为了实现多路复用器的功能,需要将并行数据转换为串行数据的能力。
图1显示了并行负载移位寄存器中的前两个触发器。每个触发器都有一个连接到输入引脚的二对一多路复用器。
LTspice并行负载移位寄存器中的两个触发器及相关组合逻辑。
图1。带有相关组合逻辑的LTspice并行负载移位寄存器中的两个触发器。
寄存器每个位置的设计。
如何将比特连接到序列中的下一个比特。
我把这个移位寄存器设计成四位设备,尽管它可以很容易地扩展到八位或更多。SPICE软件没有优化模拟数字逻辑,因此对LTspice原理图中能包含多少数字电路有实际限制。尽管如此,LTspice还是很好地处理了数字元件,本文讨论的电路不需要很长时间的模拟。
现在我们已经熟悉移位寄存器的基本结构,我们可以更仔细地研究它的组合逻辑。
重要提示:本示意图中的所有AND和OR门都有三个未使用的输入端连接到公共端子。LTspice的一个特点是,这些输入将从模拟中删除,并使这些门作为两个输入逻辑门。对AND门而言,这与将这些输入连接到低逻辑输入或接地不同。
了解多路复用器电路。
让我们一步一步地了解移位寄存器组合逻辑的功能。为了讨论目的,我们将使用图2中显示的参考指示符。其它逻辑块有不同的参考指示符,但以相同的方式操作。
触发器在LTspice移位寄存器中的组合逻辑。
图2:触发器在移位寄存器中的组合逻辑。
主输入是从前触发器输出端接收的逻辑电压。它连接到AND门A8。
二次输入是标记为BIT2的信号。它与AND门A7相连。
并行加载信号决定了哪个输入信号将处于活动状态。对A7而言,并行加载是其两个输入信号中的第二个;对A8而言,第二个输入信号是并行加载的逆转。这就保证了AND门输出中只有一个可以在任何给定时间逻辑高。
我将parallel-load设置为高,以将并行数据加载到寄存器中。AND门A8的输出被驱动到低逻辑,A7传输信号BIT2。BIT2值通过A10传输到D触发器的输入端,如图3中的绿色长箭头所示。
当移位寄存器处于并行加载模式时,信号流。
图3。当寄存器处于并行加载模式(并行加载=高)时,信号流。
与此同时,A8的输出再现了前触发器输出信号的逻辑电平。从A8到A10,从A10到下一个触发器的输入端。触发器的输入现在等于前一个触发器的输出。图4显示了信号的路径。
当寄存器处于移位模式时,信号流。
图4。当寄存器处于移位模式(并行加载=低)时,信号流。
总结。
本文研究了LTspice并行加载移位寄存器中各位的基本结构。在下一篇文章中,我们将研究电路的一些重要原理图细节和信号波形。