1

我希望有人可以帮助我。我无法理解触发器的实用性,即保存状态的意义。如果我们想保存之前的状态,我们为什么不简单地保持输入的原样。一般来说,为什么不是这样:输入=输出,例如使用非门。还是因为在给出输出后,可以将输入归零并将它们用于其他目的而仍然保持输出,所以在内存存储中使用了触发器?

4

3 回答 3

2

触发器的作用是存储状态并使其稳定。

对于您关于使“输入=输出”的声明,您必须了解输入行中的每个更改都不一定是触发器的输入。另一件事是输出可以是先前输出和当前输入的一些操作,那么您需要先前的输出,您应该将其存储在某个地方,为此使用触发器(并且寄存器是一组触发器)。

在触发器中,我们使用时钟来同步操作。根据触发器的类型,即边沿触发或电平触发,触发器中的输入会影响其输出。例如:对于电平触发触发器,触发器中的输入只有在时钟为高电平时才会影响其输出。
因此,对于您“可以将输入归零以维持输出”的问题,您是对的,它有助于维持输出,但不仅是维持输出的情况。当时钟为低电平时,输入的变化不会影响输出。

于 2012-09-09T07:33:22.273 回答
1

触发器用于存储 1 位信息。它们通常用于存储要操作的值(32/64 位值)的寄存器中。触发器通常具有启用功能。当使能关闭时,触发器保持状态(即存储1位信息)。当使能打开时,然后在下一个时钟沿(正或负),触发器的输出将根据触发器的类型和输入而改变。

例如,在 T(切换)触发器中,只要 T = 1 且 Enable = 1,输出状态就会翻转(1 到 0 或 0 到 1)。因此,只要 Enable = 0,无论 T 的值是多少,输出不会改变,触发器会继续保持相同的状态。当 enable 变为 1 时,如果 T = 1,那么在下一个时钟沿,触发器将改变状态(1 到 0 或 o 到 1)。

一个涉及寄存器的更实际的例子。假设我们有一个 32 位寄存器。每个触发器存储 1 位,所以我们有 32 个触发器。当一个 32 位值加载到寄存器中时,触发器使能打开,并根据输入设置触发器状态。然后关闭使能,触发器将保持状态,直到寄存器加载了其他值。

于 2012-03-14T20:55:27.157 回答
0

这是正确的答案(引用问题):

...因为在给出输出后,输入可以置零并且仍然保持输出

更重要的是,比你在 FF 上的第一类中遇到的基本 SR FF 更复杂的 FF 有一个启用输入,它告诉 FF 何时应该查看数据输入,因此如果任一输入在使能关闭,输出保持不变。

这使得无论输入的值如何,都可以在输出中保留值。

于 2012-03-13T13:51:41.197 回答