Digital System Design
1
2011/6/21
Computer Faculty of Guangdong University of Technology
例:用三进程状态机实现一个简单自动售货机控制电路,电路框图如下。
该电路有两个投币口(1元和5角),商品2元一件,不设找零。
In[0]表示投入5角,In[1]表示投入1元,Out 表示是否提供货品。
Digital System Design
2
2011/6/21
Computer Faculty of Guangdong University of Technology
根据题意,可分析出状态机的状态包括: S0(00001):初始状态,未投币或已取商品 S1(00010):投币5角 S2(00100):投币1元 S3(01000):投币1.5元 S4(10000):投币2元或以上
用独热码表示状态编码,如上所示。
相应状态转换图如下(按Moore 状态机设计)。
Digital System Design
3
2011/6/21
Computer Faculty of Guangdong University of Technology
自动售货机状态转换图
Digital System Design
4
2011/6/21
Computer Faculty of Guangdong University of Technology
设计代码
第一个Always 块:状态转移。
Digital System Design
5
2011/6/21
Computer Faculty of Guangdong University of Technology
第二个Always 块:状态转移的组合逻辑条件判断
Digital System Design
6
2011/6/21
Computer Faculty of Guangdong University of Technology
第三个Always 块:输出组合逻辑
Digital System Design
7
2011/6/21
Computer Faculty of Guangdong University of Technology
测试平台代码
Digital System Design
8
2011/6/21
Computer Faculty of Guangdong University of Technology
功能仿真结果
Digital System Design
9
2011/6/21
Computer Faculty of Guangdong University of Technology
综合结果。