版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章,有限状态机设计技术,有限状态机的简介,基本概念,有限状态机用来实现一个数字电路设计的控制部分, 与CPU 的功能类似,综合了时序逻辑和组合逻辑电路。,有限状态机与CPU功能比较,控制功能的实现 CPU通过操作指令和硬件操作单元。 有限状态机通过状态转移。,有限状态机适用于可编程逻辑器件。通过恰当的Verilog语言描述和EDA工具综合,可以生成性能优越的有限状态机,在执行时间、运行速度和占用资源等方面优于CPU实现的设计方案。,有限状态机分类,Moore型有限状态机和Mealy型有限状态机。,Moore型有限状态机,Moore型:输出信号仅与当前状态有关。,有限状态机的简介,Mealy
2、型有限状态机,Mealy型:输出信号不仅与当前状态有关,还与所有 输入信号有关。,有限状态机的简介,8.1.2 状态机的一般结构,有限状态机(FSM,Finite State Machine)是时序电路设计中经常采用的一种方式,尤其适于设计数字系统的控制模块。用Verilog的case、if-else等语句能很好地描述基于状态机的设计。,1. 说明部分,状态转换变量的定义和所有可能状态的说明,2005版,参数说明关键字 parameter,2. 主控时序过程:状态机的运转和状态转换的过程,8.1.2 状态机的一般结构,3. 主控组合过程 :根据当前状态和外部的信号发出控制信号,同时确定下一状态
3、的走向,4. 辅助过程:配合状态机工作的组合过程和时序过程。,8.1.2 状态机的一般结构,说明部分,主控时序过程,8.1.2 状态机的一般结构,主控组合过程,8.1.3 初始控制与表述,打开“状态机萃取”开关 参数的定义 状态变量定义,用状态机设计一个二进制序列检测器,其功能是检测一个4位二进制序列“1111”,即输入序列中如果有4个或4个以上连续的“1”出现,输出为1,其它情况下,输出为0。,有限状态机(FSM)设计举例,输出z:000 000 000 000 000 100 001 110 000,其输入输出如下所示:,输入x:000 101 010 110 111 101 111 11
4、0 101,有限状态机(FSM)设计,“1111”序列检测器状态转换图,“1111”序列检测器的Verilog描述,module fsm_seq(x,z,clk,reset,state); input x,clk,reset; output z; output2:0 state; reg z; parameter s0=0,s1=1,s2=2,s3=3,s4=4; reg 2:0 current_state,next_state; assign state=current_state; always (posedge clk or posedge reset) begin if(reset)
5、current_state=s0; else current_state=next_state; end,always (current_state or x) begin casex(current_state),“1111”序列检测器的Verilog描述,s0: begin if(x=0) begin next_state=s0; z=0; end else begin next_state=s1; z=0; end end s1: begin if(x=0) begin next_state=s0; z=0; end else begin next_state=s2; z=0; end
6、end s2: begin if(x=0) begin next_state=s0; z=0; end else begin next_state=s3; z=0; end end s3: begin if(x=0) begin next_state=s0; z=0; end else begin next_state=s4; z=1; end end s4: begin if(x=0) begin next_state=s0; z=0; end else begin next_state=s4; z=1; end end default: begin next_state=s0; end e
7、ndcase end endmodule,8.2 Moore型状态机及其设计,Moore型有限状态机,Moore型:输出信号仅与当前状态有关。属于同步输出状态机,当输入发生变化时还必须等待一个时钟的到来,输出才变化。,8.2 Moore型状态机及其设计,ADC0809采样控制器设计:,工作时序,8.2 Moore型状态机及其设计,状态转换图:,8.2 Moore型状态机及其设计,8.2.1 多过程结构型状态机,8.2 Moore型状态机及其设计,8.2.1 多过程结构型状态机,接下页,8.2 Moore型状态机及其设计,8.2.1 多过程结构型状态机,接上页,8.2 Moore型状态机及其设计
8、,描述方式,输出次态逻辑,输出逻辑,8.3 Mealy型状态机设计,Mealy型有限状态机,Mealy型:输出信号不仅与当前状态有关,还与所有 输入信号有关。,设计举例:检测序列11010011,基于状态机的设计要点,1起始状态的选择 起始状态是指电路复位后所处的状态,选择一个合理的起始状态将使整个系统简洁高效。有的EDA软件会自动为基于状态机的设计选择一个最佳的起始状态。,2状态编码 状态编码主要有二进制编码、顺序编码和一位独热编码等方式。 二进制编码(Binary State Machine) 顺序编码(Sequential State Machine) 一位热码编码(One-Hot St
9、ate Machine Encoding) 一位热码编码即采用n位(或n个触发器)来编码具有n个状态的状态机。比如对于state0、state1、state2、state3 四个状态可用码字1000、0100、0010、0001来代表。,基于状态机的设计要点,3状态编码的定义 在Verilog语言中,有两种方式可用于定义状态编码,分别用parameter和define语句实现,比如要为state0、state1、state2、state3四个状态定义码字为:00、01、11、10,可采用下面两种方式。 方式1:用parameter参数定义 parameter state1=2b00,state2=2b01,state3=2b11,state4=2b10; case(state) state1:; /调用 state2:; ,基于状态机的设计要点,4状态转换的描述 一般使用case语句来描述状态之间的转换,用case语句表述比用if-else语句更清晰明了。,状态编码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西省上饶县七中重点达标名校2026年初三摸底测试英语试题含解析
- 北京市西城区(南区)2025-2026学年初三下学期第二次阶段性过关考试英语试题含解析
- 企业资源计划执行标准化模板
- 合作事项履约责任承诺书(3篇)
- 确保公司声誉承诺书(6篇)
- 技术研发高级服务承诺保证函(7篇)
- 节约资源使用保证承诺书7篇范文
- 准时履约交货期承诺书6篇
- 2026年金融学专业职业生涯规划
- 2026年数控技术专业教师下厂实习报告
- 冷作工培训课件
- 医疗护理岗位服务态度提升
- 员工底薪提成合同模板(3篇)
- 2025年郑州电力高等专科学校单招职业技能考试题库附答案
- 赠从弟其二刘桢课件
- 2025年兵团两委考试题及答案
- 肿瘤化疗脑患者注意力缺陷计算机化认知训练方案
- 通信建设项目管理
- 血液透析合并心力衰竭患者的护理要点
- 委托验资合同范本
- 2025年西安中考历史试卷及答案
评论
0/150
提交评论