📜  数字电路-移位寄存器

📅  最后修改于: 2021-01-08 05:56:03             🧑  作者: Mango


我们知道一个触发器可以存储一位信息。为了存储多个信息位,我们需要多个触发器。用于保持(存储)二进制数据的一组触发器称为register

如果该寄存器能够将位向右或向左移位,则称为移位寄存器。 “ N”个移位寄存器包含“ N”个触发器。以下是基于应用输入和输出访问的四种移位寄存器。

  • 串行输入-串行输出移位寄存器
  • 串行输入-并行输出移位寄存器
  • 并行输入-串行输出移位寄存器
  • 并行输入-并行输出移位寄存器

串行输入-串行输出(SISO)移位寄存器

允许串行输入并产生串行输出的移位寄存器称为串行输入–串行输出(SISO)移位寄存器。下图显示了3位SISO移位寄存器的框图

国际标准化组织

该框图包括三个级联的D触发器。这意味着,一个D触发器的输出被连接为下一个D触发器的输入。所有这些触发器彼此同步,因为相同的时钟信号被施加到每个触发器。

在该移位寄存器中,我们可以从最左边的D触发器的输入串行发送位。因此,该输入也称为串行输入。对于时钟信号的每个上升沿触发,数据都从一个阶段转移到下一个阶段。因此,我们可以从最右边的D触发器的输出中串行接收比特。因此,此输出也称为串行输出

让我们通过在输入端从LSB到MSB串行发送二进制信息“ 011”来查看3位SISO移位寄存器的工作原理。

假设D触发器从最左边到最右边的初始状态是$ Q_ {2} Q_ {1} Q_ {0} = 000 $。我们可以从下表了解3位SISO移位寄存器工作原理

No of positive edge of Clock Serial Input Q2 Q1 Q0
0 0 0 0
1 1(LSB) 1 0 0
2 1 1 1 0
3 0(MSB) 0 1 1(LSB)
4 0 1
5 0(MSB)

在没有时钟信号的情况下,D触发器的初始状态为$ Q_ {2} Q_ {1} Q_ {0} = 000 $。在这里,串行输出来自$ Q_ {0} $。因此,LSB(1)在时钟的第三个正沿接收,而MSB(0)在时钟的5正沿接收。

因此,3位SISO移位寄存器需要五个时钟脉冲才能产生有效输出。同样, N位SISO移位寄存器需要2N-1个时钟脉冲才能移位“ N”位信息。

串行输入-并行输出(SIPO)移位寄存器

允许串行输入并产生并行输出的移位寄存器称为串行输入-并行输出(SIPO)移位寄存器。下图显示了3位SIPO移位寄存器的框图

国家知识产权局

该电路由三个级联的D触发器组成。这意味着,一个D触发器的输出被连接为下一个D触发器的输入。所有这些触发器彼此同步,因为相同的时钟信号被施加到每个触发器。

在该移位寄存器中,我们可以从最左边的D触发器的输入串行发送位。因此,该输入也称为串行输入。对于时钟信号的每个上升沿触发,数据都从一个阶段转移到下一个阶段。在这种情况下,我们可以并行访问每个D触发器的输出。因此,我们将从该移位寄存器获取并行输出

让我们通过在输入端从LSB到MSB串行发送二进制信息“ 011”来查看3位SIPO移位寄存器的工作。

假设D触发器从最左边到最右边的初始状态是$ Q_ {2} Q_ {1} Q_ {0} = 000 $。这里,$ Q_ {2} $和$ Q_ {0} $分别是MSB和LSB。我们可以从下表了解3位SIPO移位寄存器工作原理

No of positive edge of Clock Serial Input Q2(MSB) Q1 Q0(LSB)
0 0 0 0
1 1(LSB) 1 0 0
2 1 1 1 0
3 0(MSB) 0 1 1

在没有时钟信号的情况下,D触发器的初始状态为$ Q_ {2} Q_ {1} Q_ {0} = 000 $。在时钟的第三上升沿,在D触发器的输出处并行获得二进制信息“ 011”

因此,3位SIPO移位寄存器需要三个时钟脉冲才能产生有效输出。同样, N位SIPO移位寄存器需要N个时钟脉冲才能移位“ N”位信息。

并行输入-串行输出(PISO)移位寄存器

允许并行输入并产生串行输出的移位寄存器称为并行输入-串行输出(PISO)移位寄存器。下图显示了3位PISO移位寄存器的框图

PISO

该电路由三个级联的D触发器组成。这意味着,一个D触发器的输出被连接为下一个D触发器的输入。所有这些触发器彼此同步,因为相同的时钟信号被施加到每个触发器。

在此移位寄存器中,我们可以通过将Preset Enable(预置使能)设为1,将并行输入应用于每个D触发器。对于时钟信号的每个正沿触发,数据都会从一个阶段转移到下一个阶段。因此,我们将从最右边的D触发器获取串行输出

让我们看看通过预置输入并行应用二进制信息“ 011”来了解3位PISO移位寄存器的工作情况。

由于预设输入是在时钟的上升沿之前施加的,因此D触发器从最左边到最右边的初始状态将为$ Q_ {2} Q_ {1} Q_ {0} = 011 $。我们可以从下表了解3位PISO移位寄存器工作原理

No of positive edge of Clock Q2 Q1 Q0
0 0 1 1(LSB)
1 0 1
2 0(LSB)

在这里,串行输出来自$ Q_ {0} $。因此,在应用时钟的上升沿之前先接收LSB(1),在时钟的第二上升沿时接收MSB(0)。

因此,3位PISO移位寄存器需要两个时钟脉冲才能产生有效输出。同样, N位PISO移位寄存器需要N-1个时钟脉冲才能移位’N’位信息。

并行输入-并行输出(PIPO)移位寄存器

允许并行输入并产生并行输出的移位寄存器称为并行输入-并行输出(PIPO)移位寄存器。下图显示了3位PIPO移位寄存器的框图

公开招股

该电路由三个级联的D触发器组成。这意味着,一个D触发器的输出被连接为下一个D触发器的输入。所有这些触发器彼此同步,因为相同的时钟信号被施加到每个触发器。

在该移位寄存器中,我们可以通过将Preset Enable设置为1,将并行输入应用于每个D触发器。我们可以通过预置或清除来应用并行输入。这两个是异步输入。这意味着,触发器基于异步输入的值来产生相应的输出。在这种情况下,输出的效果与时钟转换无关。因此,我们将从每个D触发器获取并行输出

让我们看看通过预置输入并行应用二进制信息“ 011”来了解3位PIPO移位寄存器的工作情况。

由于预设输入是在时钟的上升沿之前施加的,因此D触发器从最左边到最右边的初始状态将为$ Q_ {2} Q_ {1} Q_ {0} = 011 $。因此,在施加时钟的上升沿之前,在D触发器的输出处并行获得二进制信息“ 011”

因此,3位PIPO移位寄存器需要零时钟脉冲才能产生有效输出。同样, N位PIPO移位寄存器不需要任何时钟脉冲即可移位’N’位信息。