某地铁利用嵌人式系统控制十字转门,投入2个代币,转门开启。要求(a)画出该系统的FSMD图 (b)将该FSMD分为FSM路 (c)利用真值表导出FSM 的并使用卡诺图简化辑 (d)出FSM 和数据路径连接图
时间: 2024-04-01 09:32:03 浏览: 73
(a) 该系统的FSMD图如下所示:
```
+--------+ +-------------+
| | 1/0 | |
+------> S0 +---------+ S1 |
| | | | |
| +--------+ +-------------+
| | 2/0
| |
| +------+-------+
| | |
| | S2 |
+----+ |
+--------------+
```
其中,S0为初始状态,S1为代币数量为1的状态,S2为代币数量为2的状态。
(b) 将该FSMD分为FSM路如下所示:
```
+-----+ 1/0 +-----+
| +-------------> |
| S0 | | S1 |
| <-------------+ |
+-----+ +-----+
| 2/0
|
v
+-----+
| |
| S2 |
| |
+-----+
```
(c) 利用真值表导出FSM的并使用卡诺图简化逻辑。首先可以列出状态转移表:
| 当前状态 | 输入 | 下一状态 |
|---------|------|---------|
| S0 | 1 | S1 |
| S0 | 0 | S0 |
| S1 | 1 | S2 |
| S1 | 0 | S1 |
| S2 | 1/0 | S2 |
然后可以得到状态转移图:
```
1
+---------+
| |
v |
+-------+ +-------+
| S1 | | S2 |
+-------+ +-------+
| ^
| |
+---------+
0
```
接下来,我们可以得到每个状态的输出:
| 当前状态 | 输出 |
|---------|------|
| S0 | 0 |
| S1 | 0 |
| S2 | 1 |
因此,我们可以得到FSM的真值表:
| 当前状态 | 输入 | 下一状态 | 输出 |
|---------|------|---------|------|
| S0 | 1 | S1 | 0 |
| S0 | 0 | S0 | 0 |
| S1 | 1 | S2 | 0 |
| S1 | 0 | S1 | 0 |
| S2 | 1/0 | S2 | 1 |
然后,我们使用卡诺图来简化逻辑。对于输出,只有一个1,因此不需要简化。
对于下一状态,我们可以根据卡诺图得到简化后的逻辑:
```
输入\当前状态 | S0 | S1 | S2 |
--------------|------|------|------|
1 | S1 | S2 | S2 |
0 | S0 | S1 | S2 |
```
因此,我们可以得到简化后的逻辑:
```
S0' = I
S1' = I + S2
S2' = S2
```
(d) FSM和数据路径连接图如下所示:
```
+---------+
| |
| v
+----+---+ +-------+
| | | |
+------+ S0 | | 1/0 +------+
| | | | | |
| +----+---+ +-------+ |
| | 2/0 |
| | |
| v |
| +----+---+ +-------+ |
| | | | | |
| | S1 +--+ 1/0 +-----+
| | | | | |
| +----+---+ +-------+ |
| | 2/0 |
| | |
| v |
| +----+---+ |
| | | |
| | S2 | |
| | | |
| +--------+ |
+--------------------------------+
```
阅读全文