基本信息
文件名称:Verilog HDL项目式教程 课件 项目5--7?状态机建模;数字电路设计举例;?简易CPU设计.pptx
文件大小:3.47 MB
总页数:161 页
更新时间:2025-04-04
总字数:约2.88万字
文档摘要

任务5.1同步有限状态机引例

任务5.2状态机的基本概念

任务5.3状态机的编码方法;有限状态机及其设计技术是实用数字系统设计的重要组成部分,也是实现高效率、高可靠性逻辑控制的重要途径。

有限状态机广泛应用于硬件控制电路设计,它把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断并处理事件,变连续处理为离散数字处理。有限状态机虽然仅有有限个状态,但这并不意味着其只能进行有限次的处理,相反,有限状态机是闭环系统,有限无穷,可以用有限的状态处理复杂的事务。

使用状态机建模的电路有计数器、序列检测器等。;任务5.1?同步有限状态机引例;状态机特别适合描述那些发生有先后顺序或者有逻辑规律的事情。状态机的本质就是对具有逻辑顺序或时序规律事件的一种描述方法,逻辑顺序和时序规律是状态机所要描述的核心和强项。换言之,所有具有逻辑顺序和时序规律的事情都适合用状态机来描述。

很多初学者不知道何时应用状态机,这里介绍一种应用思路:从状态变量入手。如果一个电路具有时序规律或者逻辑顺序,则自然而然地可对这个电路规划出状态,从这些状态入手,分析每个状态的输入、转移和输出,从而完成电路功能。使用状态机的目的是控制某部分电路,完成某种具有逻辑顺序或时序规律的电路设计。

其实对于逻辑电路而言,小到一个简单的时序逻辑,大到复杂的微处理器,都适合用状态机的方法进行描述。由于状态机不仅仅是一种电路描述工具,它更是一种思想方法,而且状态机的HDL语言表达方式比较规范,有章可循,所以很多有经验的设计者习惯用状态机的思想进行逻辑设计,对各种复杂设计都套用状态机的设计理念,从而提高设计的效率和稳定性。;下面通过一个典型时序逻辑电路的设计实例来引入有限状态机。

【例5-1】设计一个串行数据检测器。电路的输入信号A是与时钟脉冲同步的串行数据,其时序关系如图5-1所示。输出信号为Y,要求电路在信号输入A出现110序列时输出信号Y为1,否则为0。

这是一道典型的时序逻辑电路例题,其求解步骤如图5-2所示。;下面详细介绍逻辑电路的设计步骤。

(1)理解题意,由给定的逻辑功能建立原始状态图,如图5-3所示。

图5-3中,S表示状态;A/Y中斜杠左面的为输入,斜杠右面的为输出。

(2)状态化简。

合并等价状态,消去多余状态的过程称为状态化简。所谓等价状态,就是指在相同的输入下有相同的输出,并转换到同一个次态的两个状态。显然,图5-3中的a和d是等价状态,可以合并。化简后的状态图如图5-4所示。

(3)状态编码。

给每个状态赋以二进制代码的过程,称为状态编码。对图5-4的状态进行某种编码的结果如图5-5所示。;图5-5所示状态图对应的状态表如表5-1所示。

(4)选择触发器的个数和类型。

触发器个数可根据状态数确定,要求满足2n-1M≤2n。式中,M为状态数,n为触发器的个数。对于例5-1,已知M为3,所以可求出触发器的个数为2。

触发器选择D触发器。

(5)求出电路的激励方程和输出方程。

根据表5-1可列出状态转换真值表及激

励信号,如表5-2所示。;针对输出和激励信号,采用卡诺图化简,如图5-6所示。

利用多余状态,卡诺图化简后的激励方程和输出方程为

(6)画出逻辑图(见图5-7)并检查自启动能力。;经检查,该电路具有自启动能力。

至此,该串行数据检测器设计完毕。

使用状态机建模时,步骤(1)可理解为Moore状态机;步骤(2)可理解为Mealy状态机;步骤(3)为状态编码;步骤(4)~(6)不需要人工完成,由计算机来完成。

针对步骤(1),可以使用HDL代码实现Moore状态机,如例5-2所示。

【例5-2】对应于例5-1中步骤(1)的同步状态机。;上述电路设计涉及的知识点有状态转移图、状态编码、多进程状态机、状态机建模。

下面对这些知识点进行说明。

(1)状态转移图。

例5-2对应的状态转移图如图5-8所示。

状态图的转换条件如表5-3所示。;(2)状态编码。

parameters0=2b00,s1=2b01,s2=2b10,s3=2b11;?是状态赋值语句,也就是状态编码。在VerilogHDL中,状态必须明确赋值,通常使用参数(parameters)或宏定义(define)语句加上赋值语句来实现。例5-2就是采用参数加上赋值语句来实现的。当然也可以采用宏定义的方式来实现,如可定义为

`defines02b00

则意味着s0的状态码是2b00。在引用宏定义的状态时,需要使用符号“`”。例如,程序中要使用状态s0,则要写成`s0。

例5-2使用的状态编码方式为顺序编码,除了可使用这种编码方式之外,还可以使用独热编码、直接输出型编码、格雷编码等。

(3)多进程状态机。

例5-2实现的状态机为单进程状态机,除此之外,还有双进程和多进程的实现