【问题标题】:flip-flop, latch basic concept触发器、锁存器基本概念
【发布时间】:2012-03-12 10:44:50
【问题描述】:

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

【问题讨论】:

    标签: memory architecture hardware computer-architecture flip-flop


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      触发器用于存储 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 位的值加载到寄存器中时,触发器使能打开,并根据输入设置触发器状态。然后启用将被关闭,触发器将保持状态,直到寄存器加载一些其他值。

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

        • 一个典型的例子是将瞬态信号“在这个循环中 t=Tnow 条件 X 为真”,但条件 X 在 t != Tnow 时为假,转换为信号“我曾经看到条件 X 为真”,在 t = Tnow。 // 看到不同?瞬态与持久。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-23
        • 1970-01-01
        • 2012-02-19
        • 1970-01-01
        • 1970-01-01
        • 2013-12-08
        • 2016-07-06
        相关资源
        最近更新 更多