了解移位寄存器的时序

电器工程 数字逻辑 移位寄存器
2022-01-30 04:39:24

(我正在学习数字电路设计。如果这是一个幼稚的问题,请原谅。)

Wikipedia中,我找到了关于 SIPO 移位寄存器的下图:

在此处输入图像描述

据我了解,该移位寄存器由 DFF(D 触发器)制成。DFF 在时钟周期的上升沿触发。因此对于信号的每个上升沿Clock,来自 的数据Data In将通过一级 DFF 传播。

我的问题是,由于Clock所有 DFF 共享,所以当上升沿到来时,所有 4 个 DFF 必须处于触发/透明状态。那么是什么确保数据通过only 1DFF 阶段而不是 2 个或更多阶段传播呢?

比方说:

  • Td是 1 个 DFF 级将数据从 D 加载到 Q 的内部延迟。
  • Tr是时钟上升沿的持续时间。见下图。

在此处输入图像描述

我认为要将传播限制在 1 个阶段,它必须是:

Td < Tr < Td*2

我对么?

但在上面的链接中,它说:

在这种配置中,每个触发器都是边沿触发的。初始触发器以给定的时钟频率运行。随后的每个触发器都 将其前身的频率减半,从而使其 占空比翻倍。结果,上升/下降沿触发每个后续触发器需要两倍的时间;这会在时域中错开串行输入,从而导致并行输出。

这让我对一些事情感到困惑。

  • 是什么halves the frequency意思?
  • 如何用频率来表征 DFF?
  • DFF不是只在时钟的上升沿工作,而且通常不在乎时钟的频率是多少?
  • 频率如何与占空比相关?频率与周期有关,而占空比仅表示信号或系统处于活动状态的一个周期的百分比我认为频率和占空比之间没有关系。

加 1

正如Neil_UK在下面的回复中所说,上面的 wiki 引用是完全错误的。他已经修复了维基页面。

正如EM Fields在下面的回复中所说,

...在时钟的下一个上升沿之前不会再发生任何事情,因为完成工作的时钟沿已经结束...

严格来说,没有理想的垂直上升沿。应该有一些Tr如上图所示。我想为了限制信号通过 DFF 阶段的传播,上升沿必须持续足够长的时间以使信号通过一个阶段传播,并且足够短以使信号不会传播到下一个阶段。

我只是认为这种控制太棘手/微妙而无法实现。但如果是真的,它是如何实现的呢?(我刚刚为这个问题提供了赏金。)

4个回答

我的问题是,由于时钟由所有 DFF 共享,所以当上升沿到来时,所有 4 个 DFF 必须处于触发/透明状态。那么是什么确保数据仅通过 DFF 的 1 个阶段而不是 2 个或更多阶段传播呢?

考虑典型D 触发器的时序要求。

D触发器时序

如您所见,有许多参数;这里最重要的是建立时间、保持时间传播延迟

输入(在 D 处)必须在所示期间保持稳定(从tsuth)。

对于这个特定部分,所需的最短保持时间为 3nsec。这是输入必须在时钟之后保持稳定以保证性能的最短时间(即 D 转移到 Q)

建立和保持时间

在此之后输入的任何转换都会被设备有效地忽略如果时钟周期大于tsu+th它将正常运行。

现在让我们看看传播延迟(tplhtphl)

根据数据表,这些通常为 14 纳秒:

传播延迟

由于此事件将在超过保持时间要求后发生,因此下一个 D 输入处的此转换将不起作用,因为该输入现在已被内部反馈机制有效锁定。

请注意,移位寄存器可以达到的最大速率是1tsu(min) +tprop(max)因为在前一个 Q 输出稳定,D 输入必须至少在建立时间内保持稳定。

如果传播延迟大于保持时间,则可以忽略最大时钟速率。

所以底线是,如果从 D 到 Q 的传播延迟大于所需的保持时间,则单个时钟事件不能传播超过一个触发器。

使用您的图表,时钟发生在某个时间t0. 输出Q1将在第一个触发器的传播延迟之后发生变化,但是这将在第二个触发器的输入建立时间之后发生,前提是第一个触发器的传播延迟大于第二个触发器的输入保持时间(根据我的经验,它总是如此),那么 Q1 的转换(第二个触发器的 D)对此时钟事件没有影响。

该维基百科链接的描述不正确,它用于级联除以 2 计数器。我现在已经修复了 Wikipedia 条目,因此它描述了一个移位寄存器。它可能不是最好的描述(在一分钟内完成),但至少它不是完全错误的!

为了使时序正常工作,D 输入上的保持时间必须小于触发器的传播延迟减去时钟不确定性。只要这个条件为真,前一个触发器的新数据在下一级锁存数据之前不会改变。

对于 NXP 74HC74,我们从数据表中看到,最坏情况下保持时间为 3ns,传播延迟通常为 14ns,因此高达 11ns 的时钟偏差不会出现这些时序的问题(在 5V 时)。但是请注意,传播延迟通常不是最小的,因此特定部分的余量可能要小得多,但是由于相当明显的原因,大多数 D 触发器的设计是为了使这种事情在时序上起作用,因为获得特别快的触发器也可能有更短的保持时间要求。

DFF 不是透明的,它们在时钟信号的边缘运行。时钟边沿必须足够快,电路才能正常工作。

一个例子如下所示:在此处输入图像描述

第一阶段在时钟的低相位期间有效。当时钟上升时,第一个背靠背连接的反相器(锁存器)存储当前状态,输入通过左到节点 X 的传输门断开。同时,第二个 TG 变得透明并驱动第二个锁存器。一旦时钟再次变低,第二个锁存器就会保留该值。

在取自维基百科的电路中,触发器构成一个移位寄存器,它们都以相同的频率工作。它们可以用作计数器或时钟分频器,但是为此将使用不同的配置。