0

我无法确定 Q1 和 Q2 的布尔方程。我所做的是将值输入到卡诺图中。但是由于状态图只包含 3 个状态(00、01 和 11),我有点不确定如何设置卡诺。我知道如果它有四个状态(00、01、11 和 10)会是什么样子。

状态图

这就是我的卡诺的样子,虽然它可能是错误的

这就是我的卡诺的样子,虽然它可能是错误的

编辑:我应该在我的卡诺中添加最后一行 (10) 并且只输入不关心吗?

4

1 回答 1

1

我会说,K-map 可以作为草稿,但我建议将每个输出变量(“新”Q_1Q_0状态图的下一步中)制作自己的 K-map。

这样,您可以分别最小化每个函数。

我以这种方式填写了真值表:

+-----------------++-----------+
  input variables || next state
+-----+-----+-----++-----+-----+
| Q_1 | Q_0 |  x  || Y_1 | Y_0 |
+-----+-----+-----++-----+-----+
|  0  |  0  |  0  ||  0  |  1  |
|  0  |  0  |  1  ||  0  |  0  |
|  0  |  1  |  0  ||  0  |  0  |
|  0  |  1  |  1  ||  1  |  1  |
+-----+-----+-----++-----+-----+
|  1  |  0  |  0  ||  X  |  X  |
|  1  |  0  |  1  ||  X  |  X  |
|  1  |  1  |  0  ||  0  |  0  |
|  1  |  1  |  1  ||  1  |  1  |
+-----+-----+-----++-----+-----+

确定下一个状态的输出函数(Y_1作为“新”下一个Q_1Y_0作为“新”下一个Q_0)是:

K-map 中的输出函数

由于变量的顺序,卡诺图中的索引与真值表的行相对应。

另请注意,我使用“dont-care”X 输出(用于10状态)来最小化第二个函数(Q_0)。

机器应该(理论上)永远不会进入“不关心”状态,因此您不必担心在函数中使用它。

如果不圈出X函数Y_0会更长:Y_0 = ¬x·¬Q_1·¬Q_0 + x·Q_0. 与X它是唯一的:Y_0 = ¬x·¬Q_0 + x·Q_0

如果您觉得不清楚,请随时在评论中提问。

于 2017-05-06T14:29:35.983 回答