




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章有限状态机设计 EDA技术与应用 教学重点 MOORE状态机MEALY状态机有限状态机的几种描述方式有限状态机的状态编码 8 1有限状态机 构成组合逻辑状态译码 产生输出时序逻辑存储状态分类Moore输出是现态的函数Mealy输出是现态和输入的函数 摩尔型 Moore 状态机 米里型 Mealy 状态机 Moore型状态图 现态 次态 modulefsm clk clr z qout 模5计数器inputclk clr outputregz outputreg 2 0 qout always posedgeclkorposedgeclr 此过程定义状态转换beginif clr qout 0 异步复位elsecase qout 3 b000 qout 3 b001 3 b001 qout 3 b010 3 b010 qout 3 b011 3 b011 qout 3 b100 3 b100 qout 3 b000 default qout 3 b000 default语句 endcaseendalways qout 此过程产生输出逻辑 begincase qout 3 b100 z 1 b1 default z 1 b0 endcaseendendmodule Mealy型状态图 例10 7 状态机设计举例moduleFSM clk clr out start step2 step3 inputclk clr start step2 step3 output 2 0 out reg 2 0 out reg 1 0 state next state parameterstate0 2 b00 state1 2 b01 状态编码state2 2 b11 state3 2 b10 格雷码always posedgeclkorposedgeclr beginif clr state state0 定义初态elsestate next state end always stateorstartorstep2orstep3 状态转换begincase state state0 beginif start next state state1 elsenext state state0 endstate1 beginnext state state2 end state2 beginif step2 next state state3 elsenext state state0 endstate3 beginif step3 next state state0 elsenext state state3 enddefault next state state0 endcaseend always state 状态译码及输出begincase state state0 out 3 b001 state1 out 3 b010 state2 out 3 b100 state3 out 3 b111 default out 3 b001 endcaseendendmodule 1 用三个过程描述 即现态 CS 次态 NS 输出逻辑 OL 各用一个always过程描述 2 双过程描述 CS NS OL双过程描述 使用两个always过程来描述有限状态机 一个过程描述现态和次态时序逻辑 CS NS 另一个过程描述输出逻辑 OL 3 双过程描述 CS NS OL双过程描述 一个过程用来描述现态 CS 另一个过程描述次态和输出逻辑 NS OL 4 单过程描述 在单过程描述方式中 将状态机的现态 次态和输出逻辑 CS NS OL 放在一个always过程中进行描述 8 2有限状态机的Verilog描述 101 序列检测器的Verilog描述 三个过程 modulefsm1 seq101 clk clr x z inputclk clr x outputregz reg 1 0 state next state parameterS0 2 b00 S1 2 b01 S2 2 b11 S3 2 b10 状态编码 采用格雷 Gray 编码方式 always posedgeclkorposedgeclr 该过程定义当前状态 beginif clr state S0 异步复位 s0为起始状态elsestate next state end 101 序列检测器的Verilog描述 三个过程 always stateorx 该过程定义次态 begincase state S0 beginif x next state S1 elsenext state S0 endS1 beginif x next state S1 elsenext state S2 end S2 beginif x next state S3 elsenext state S0 endS3 beginif x next state S1 elsenext state S2 enddefault next state S0 default语句 endcaseend always state 该过程产生输出逻辑 begincase state S3 z 1 b1 default z 1 b0 endcaseendendmodule 101 序列检测器的Verilog描述 三个过程 101 序列检测器 单过程描述 modulefsm4 seq101 clk clr x z inputclk clr x outputregz reg 1 0 state parameterS0 2 b00 S1 2 b01 S2 2 b11 S3 2 b10 状态编码 采用格雷 Gray 编码方式 101 序列检测器 单过程描述 always posedgeclkorposedgeclr Beginif clr state S0 异步复位 s0为起始状态elsecase state S0 beginif x beginstate S1 z 1 b0 endelsebeginstate S0 z 1 b0 endendS1 beginif x beginstate S1 z 1 b0 endelsebeginstate S2 z 1 b0 endendS2 beginif x beginstate S3 z 1 b0 endelsebeginstate S0 z 1 b0 endendS3 beginif x beginstate S1 z 1 b1 endelsebeginstate S2 z 1 b1 endenddefault beginstate S0 z 1 b0 end default语句 endcaseendendmodule 8 3状态编码 顺序编码 格雷编码 约翰逊编码 一位热码 常用的编码方式 一位热码编码选择对话框 Quartus 状态编码的定义 在Verilog语言中 有两种方式可用于定义状态编码 分别用parameter和 define语句实现 比如要为state0 state1 state2 state3四个状态定义码字为 00 01 11 10 可采用下面两种方式 方式1 用parameter参数定义parameterstate1 2 b00 state2 2 b01 state3 2 b11 state4 2 b10 case state state1 调用state2 要注意两种方式定义与调用时的区别 一般情况下 更倾向于采用方式1来定义状态编码 一般使用case casez和casex语句来描述状态之间的转换 用case语句表述比用if else语句更清晰明了 状态编码的定义方式2 用 define语句定义 definestate12 b00 不要加分号 definestate22 b01 definestate32 b11 definestate42 b10case state state1 调用 不要漏掉符号 state2 状态编码的定义 8 4有限状态机设计要点 1 起始状态的选择 起始状态是指电路复位后所处的状态 选择一个合理的起始状态将使整个系统简洁 高效 多数EDA软件会自动为基于状态机的设计选择一个最佳的起始状态 2 有限状态机的同步复位3 有限状态机的异步复位 多余状态的处理 一般有如下两种处理多余状态的方法 1 在case语句中用default分支决定如果进入无效状态所采取的措施 2 编写必要的Verilog源代码明确定义进入无效状态所采取的行为 频率计控制器设计举例 设计一个自动转换量程的频率计控制器 用Mealy状态机实现 进入100K量程 状态A reset 1 std f sel 00 100K量程测量 状态B reset 0 std f sel 00 进入100K量程 状态C reset 1 std f sel 01 100K量程测量 状态D reset 0 std f sel 01 进入100K量程 状态E reset 1 std f sel 11 1K量程测量 状态D reset 0 std f sel 11 cntlow 1 cntlow 1 cntlow 1 cntlow 1 cntover 1 cntover 1 例10 8 自动转换量程频率计控制器 信号定义clk 时钟输入reset 系统复位信号half dollar 投入5角硬币one dollar 投入1元硬币half out 找零信号dispense 机器售出饮料collect 提示取走饮料 moduleFSM clk clr out start step2 step3 inputclk clr start step2 step3 output 2 0 out reg 2 0 out reg 1 0 state next state parameterstate0 2 b00 state1 2 b01 状态编码state2 2 b11 state3 2 b10 格雷码always posedgeclkorposedgeclr beginif clr state state0 定义初态elsestate next state end always stateorstartorstep2orstep3 状态转换begincase state state0 beginif start next state state1 elsenext state state0 endstate1 beginnext state state2 end state2 beginif step2 next state state3 elsenext state state0 endstate3 beginif step3 next state state0 elsenext state state3 enddefault next state state0 endcaseend always state 状态译码及输出begincase state state0 out 3 b001 state1 out 3 b010 state2 out 3 b100 state3 out 3 b111 default out 3 b001 endcaseendendmodu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 组织结构调整中的薪酬体系变革试题及答案
- 2025年工业互联网平台计算机视觉技术在航空航天领域缺陷检测的创新应用报告
- 2025年智能建筑系统集成与节能降耗技术培训与人才培养报告
- 2025年大型体育场馆运营社会稳定风险评估与风险评估应用报告
- 2025年科技与互联网行业发展趋势深度解析报告
- 2025年环保产业园园区产业集聚与区域产业协同政策效果评价报告
- 共享汽车使用协议书
- 2025年度三人合伙创办高端美容养生馆合作协议
- 2025房地产项目财务管理人员劳动合同范本
- 2025年度绿色石粉原材料供应与采购合作协议
- 脱离母子关系协议书
- 高级保洁考试试题及答案
- 人教版七年级上册数学教案(表格版)
- 2025-2030中国水利信息系统行业市场发展现状及发展趋势与投资前景研究报告
- 外包合同补充协议
- 全景回顾2024年系统规划与管理师考试试题及答案
- 2025年碳排放管理员职业技能鉴定考试题库及答案
- 必修二英语单词表人教版
- Mission-Planner地面站操作手册
- 高效学习单词:音节记忆法课件解析
- 教学课件:《公差配合与技术测量》
评论
0/150
提交评论