2

我目前正试图理解与比赛条件相关的两件事。

问题一:

我收到了以下问题:

We consider the digital circuit and the value of its inputs a,
and b as given below. For all logic gates, we assume that
there is a gate delay of exactly one time unit (i.e. the gate
delay equals the time between two dotted lines in the
diagram). Give the values of c, d, e, f in the digital circuit for
every point of time between 0 and 8.

在此处输入图像描述

给出的答案如下:

在此处输入图像描述

这究竟是如何实现的?到目前为止,这是我的想法:

  • c从 1 开始,因为a从 0 开始
  • d从 0 开始,因为b从 1 开始
  • 当时间等于 2 时,a变为 1... c切换到 0的传播延迟为 1,因此它在 3 个时间单位变为 0
  • 同样的逻辑适用于d
  • ef应该是常数 1 或 0,但似乎受到某些东西的影响。

这里到底发生了什么?它是否与布尔函数或某些东西有关。如果是这样呢?

问题 2:

有没有人有一种简单的方法或逻辑方法来产生一个简单的电路(使用 XOR、AND、OR、NOT、NAND 布尔函数:

  • 静态竞争条件 - 当值是常量时
  • 动态竞争条件 - 当一个值预期改变时

提前谢谢了!

4

1 回答 1

2

好的,所以当一个门的输入在不同时间发生变化时,异步电路中的竞争条件就会发生。假设您的逻辑函数如下所示

λ = ab + ~b~a

用门实现这个功能的最直接的方法看起来像

注意:我假设您的基本构建块是 AND、OR 和 NOT。显然,在 CMOS 电路中,NAND、NOR 和 NOT 是您构建电路的方式,但一般原则保持不变。我还假设 AND、NOR 和 NOT 具有相同的延迟,而实际上 NAND 和 NOR 如果输出形式为0 to 1or则具有不同的延迟1 to 0,并且 NOT 比 NAND 或 NOR 快约 20%。

a ->| AND |-------->| OR | -> λ
b ->|  1  |         |    |
                    |    |
a ->| NOT |->|AND|->|    |
b ->| NOT |->| 2 |  |    |

现在,假设 AND 和 NOT 都有 2ns 的延迟。这意味着 OR 门在它看到第二个位置变化的值之前 2 ns 看到它的第一个位置变化的值。

这意味着如果ab两者都从1to 0,你会期望λ保持不变,因为第一个 AND 门的输出是从1to 0,但是 AND 门的输出从0to 1,这意味着 OR 条件保持为真。

但是,如果您在第一个 AND 门之后一点点从第二个 AND 门获得输出,那么您的 OR 门将在从 过渡到0,0时暂时看到它的输入。这意味着会有一个短暂的下降,它看起来像1,00,1λ

     __
   a   |___________
     __
   b   |___________
     ____
AND1     |_________
            _______
AND2 ______|
     ______   _____
   λ       |_|

如果您在 AND1 下降和 AND2 上升之间查看 OR 门的输入,它会0通过 OR 门传播 a,果然,2ns 后输出中出现下降。

这是对竞争条件如何产生的一般概述。希望能帮助你理解你的问题。

于 2012-06-12T18:53:40.633 回答