68、状态机设计与综合:从理论到实践

状态机设计与综合:从理论到实践

1. 基于状态图的状态机设计

在状态机设计中,以T - bird尾灯状态机为例,我们可以根据状态图来合成电路。不过,在进行电路合成之前,若要改变机器的行为,此时是最佳时机。原状态图中,一旦左转弯或右转弯循环开始,即使危险警示(HAZ)信号被激活,循环仍会完成。但从安全角度考虑,应让机器尽快进入危险模式,改进后的状态图如图7 - 64所示。

由于该状态图有八个状态,至少需要三个触发器来对状态进行编码。这里选择表7 - 16中的状态分配,原因如下:
1. 初始(空闲)状态为000,这与大多数触发器和寄存器容易初始化为0状态相兼容。
2. 两个状态变量Q1和Q0在左转弯循环(IDLE→L1→L2→L3→IDLE)中采用格雷码序列进行“计数”,这样可以减少每次状态转换时状态变量的变化数量,从而简化激励逻辑。
3. 由于状态图具有对称性,在右转弯循环中,Q1和Q0采用相同的序列进行“计数”,而Q2用于区分左转弯和右转弯。
4. 剩余的状态变量组合用于LR3状态。

接下来需要编写一种转换表,由于状态图中的转换是由表达式指定的,而非对下一状态的详尽列表,所以采用一种新的格式——转换列表。表7 - 17是图7 - 64状态图和表7 - 16状态分配对应的转换列表,每一行包含状态图中一条弧的当前状态、下一状态和转换表达式,同时显示了当前状态和下一状态的命名版本和编码版本,命名状态用于参考,编码状态用于推导转换方程。

状态 Q2 Q1 Q0
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值