【问题标题】:Race conditions比赛条件
【发布时间】:2012-09-25 21:01:39
【问题描述】:

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

问题 1:

我收到了以下问题:

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 布尔函数:

  • 静态竞争条件 - 当值是常量时
  • 动态竞争条件 - 当值预期发生变化时

提前非常感谢!

【问题讨论】:

  • @Hans haha​​ 这是计算机科学考试的修订版

标签: race-condition circuit digital-logic circuit-diagram


【解决方案1】:

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

λ = ab + ~b~a

用门实现这个功能的最直接的方法是

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

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

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

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

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

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

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

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

【讨论】:

  • 你怎么看λ = ab + ~b~a - 我们在命名我们的逻辑函数时只使用了AND、OR、NOT。
  • ab 等价于 (a 和 b)。推理是,如果您取 0 表示假,取任何其他值表示 1,那么如果 a 和 b 为 0,则 ab 为 0。a + b 等价于 a 或 b。推理是如果 a 或 b > 0,则 a + b > 0。~a 是另一种写法,而不是 a。 !a、-a 和 a' 也是如此。
猜你喜欢
  • 2021-04-14
  • 2013-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 2018-06-14
  • 2019-12-03
  • 1970-01-01
相关资源
最近更新 更多