Verilog逻辑设计实例系列5.ppt_第1页
Verilog逻辑设计实例系列5.ppt_第2页
Verilog逻辑设计实例系列5.ppt_第3页
Verilog逻辑设计实例系列5.ppt_第4页
Verilog逻辑设计实例系列5.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、有限状态机,有限状态机简介(1),设计时序电路要比设计组合电路难得多,有限状态机是一个为时序系统想要的行为建模的工具,设计者首先设计该系统行为的有限状态模型,然后设计电路来实现这个模型。,有限状态机简介(2),一个有限状态机由几个状态组成。状态机的输入与其当前状态结合来决定新的状态,即状态机的次态。根据状态机类型的不同,其输出可能基于状态机的状态,也可能基于状态机的状态和输入值,图1(a)对此作了说明。,图1状态机模型:(a)一般模型,简化的状态机的例子,一个学生,为了不耽误第一节课,每个工作日早上六点起床。可是到了周末,可能想睡觉,不用早起。当你还在睡觉,闹钟却在六点响了,并且把你吵醒了。如

2、果是工作日,关掉闹钟,起床,为新的一天做准备。然而,若是周末,你忘记了调整闹钟,则到时候你可能会生气的关掉闹钟(丢掉房子的一边,仍到厕所里冲走,或者把它报废),然后继续睡觉。 我们可以用图1(b)所示的有限状态机来模拟这一连串的事件。,简化的状态机的例子(续),实际上,这个状态机就是你自己。你可能处于下列三个状态之一:睡眠中,醒了但还在床上,或起床。你接受两个输入:唤你醒来的闹钟和当天是否是工作日,后者决定你对闹钟的反映态度。在这个例子中,唯一的输出就是关掉闹钟。(这里假设你不弄坏闹钟;如果弄坏闹钟,这个例子就需要一个“弄坏闹钟”的输出),这是从系统行为描述到时序电路实现的第一步。接着,将行为

3、在状态图和状态表中编码,然后将其设计并实现成一个时序数字电路。 虽然有限状态机能用于设计很简单的电路,比如上边的例子,但是他们对于设计更复杂的系统也非常有用,在计算机体系结构中,他们很适合于设计微处理器的任务。,简化的状态机的例子(续),历史视角:有限状态机和微处理器,微处理器有三个主要部分:寄存器,算术逻辑单元和控制单元。控制单元输入将被执行的指令和其他的信息,如标志寄存器的值。控制单元输出控制信号以便加载和修改寄存器的内容,执行算术逻辑功能,存取存储器和输入/输出设备。它按照适当的顺序输出这些信号,以便微处理器正确读取,译码和执行每条指令。 微处理器的控制单元本质上是一个有限状态机。指令和

4、标志值是状态机的输入,控制信号是状态机的输出。,1.1状态图和状态表,状态图和状态表是描述时序系统行为的便利的机制。状态表和真值表类似。但是和真值表不同,状态表在描述其转变是不考虑系统时钟。这说明转变只在时钟允许的时候发生,一般在时钟上升沿或下降沿。,该表有两个输入,闹钟和工作日,以及一个输出,关掉闹钟。当你睡着时,闹钟响了,你从睡眠状态进入清醒但躺在床上的状态,你也会关掉闹钟,如表(1)中第一行所示。其他两行代表你关掉闹钟之后的动作:起床或者继续睡觉。,闹钟例子状态表(1),闹钟例子状态表(2),该表增加了几个状态(1,3,6行),表示你不会做什么。比如,早上4点在睡觉,闹铃也没有响,会继续

5、睡觉(第1行)。增加这几行是为了保证情况的完整性。,现态 未醒 未醒 醒了未起床 醒了未起床 醒了未起床 起床,闹钟 off On On off Off X,工作日 X X X Yes NO X,次态 未醒 醒了未起床 醒了未起床 起床 未醒 起床,关掉闹钟 No Yes Yes No No No,状态表与状态图,状态表可以用状态图来表示。为了衍生出状态图,每个状态有一个环形节点来表示。状态表的每行表示从当前状态节点到下一状态节点的有向弧。,闹钟例子的状态图(1),图1 输出与状态相关(Moore机),闹钟例子的状态图(2),图2 输出与有向弧相关(输入,Mealy机),收费站控制器,收费站控

6、制器有两个外部传感器。第一个用来探测汽车是否在收费站中,当车在时, C=1,否则C=0。第二个传感器探测硬币是否已经投到收费站的收集篮中以及硬币的面值。 如果没有硬币投入,传感器设I1I0=00; 如果投入5分,则设I1I0=01; 如果投入10分,则设I1I0=10; 如果投入25分,则设I1I0=11; (该收费站不接受面值1分和超过25分的硬币),收费站控制器(续),收费站有两个输出灯和一个输出警铃。当车开进收费站,红灯(R)亮,直到司机投入至少35分为止,此时红灯灭并且绿(G)灯亮。当汽车离开收费站的时候,绿灯灭,红灯又亮。如果汽车没有交足费用就离开收费站,则红的一直亮并且警铃响。直到

7、另一辆车进入收费站时,警铃才关闭。 该系统需要几个状态来对应已经列出的条件。另外它还要几个额外的状态来跟踪已投入了多少钱。下面列表描述有限状态机的状态以及它们的输出。,收费站控制器状态,状态 条件 R G A SNOCAR 站中无车 1 0 0 S0 站中有车,已付费0分 1 0 0 S5 站中有车,已付费5分 1 0 0 S10 站中有车,已付费10分 1 0 0 S15 站中有车,已付费15分 1 0 0 S20 站中有车,已付费20分 1 0 0 S25 站中有车,已付费25分 1 0 0 S30 站中有车,已付费30分 1 0 0 SPAID 站中有车,已付费35分 0 1 0 SCH

8、EAT 未付满过站费车就离开收费站 1 0 1,状态机的输入和状态转换,为了建立状态表,我们再来观察每个独立的状态,并且决定所有可能发生的行为。例如,在状态SNOCAR,既没有车在收费站的时候,只有两件事可能发生(1)汽车进入收费站(C=1)而状态机进入S0 ,或(2)没有车到来(C=0)而状态机保持SNOCAR。其他的状态更复杂一些。例如在状态S5所有后面的情况都可能发生。,状态机的输入和状态转换(续),下面总结状态之间可以发生的转换。不可能的条件在这里不予考虑,例如:没有汽车在收费站而交费。 该系统的Moore机状态图我们下面给出。Mealy机状态图的设计留给大家,作为希望课后提高自己的小练习。,收费站控制器状态表1,收费站控制器状态表2,收费站控制器状态表3,现态 S15 S15 S15 S15 S20 S20 S20 S20,C 0 1 1 1 0 1 1 1,I1I0 XX 01 10 11 XX 01 10 11,次态 SCHEAT S20 S25 SPAID SCHEAT S25 S30 SPAID,R 1 1 1 0 1 1 1 0,G 0 0 0 1 0 0 0 1,A 1 0 0 0 1 0 0 0,收费站控制器状态表4,现态 S25 S25 S25 S25 S30 S30 S30 S30,C 0 1 1 1 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论