版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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中国电接触材料行业安全生产标准及风险防范报告
- 2026中国区域物流枢纽建设与园区运营效率提升报告
- 2026艺术品修复与保护技术研究及技术革新与文化遗产保存研究报告
- 2026散装铝材行业市场动态及投资效益评估研究报告
- 2026人工智能芯片行业发展分析及市场前景与投资策略研究报告
- 2026中国精细化工行业市场分析及技术发展趋势研究报告
- 鼻饲的注意事项及护理要点
- 2026中国基因治疗技术研发进展及临床应用与市场前景分析报告
- 2026车联网数据安全防护与隐私保护策略研究报告
- 人音版六年级音乐下册(简谱)第2课《发声练习、民族乐器分类(一)》教学设计
- 2026语文新教材 23.马说八年级下册
- 太阳能转化原理与技术课件 第一章太阳能转换原理与技术
- 刚玉莫来石匣钵项目可行性研究报告
- 2025年全国硕士研究生招生考试法律硕士(非法学)真题及答案解析
- 2026年陕西省高职单招高考数学试卷试题真题(含答案详解)
- 2025经皮冠状动脉介入治疗指南
- DB37T5130-2026建设工程造价咨询服务标准
- JJG 1189.1-2026 测量用互感器检定规程 第1部分:标准电流互感器
- 申请2026年新产品试用函(6篇)范文
- JJG 1189.8-2026测量用互感器检定规程第8部分:宽量程电流互感器
- 小微企业安全生产管理台账(参考)
评论
0/150
提交评论