版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、状态机编程,FSM设计方法,分析控制器设计指标,建立系统算法模型,即状态转换图;分析被控对象的时序,确定控制器的有限状态机的各个状态及输入、输出条件;应用VHDL语言完成状态机的描述。,FSM分类,Moore型:输出信号仅与现态相关Mealy型:输出信号与现态和输入相关,DFFs,OutputComb.Logic,FeedbackComb.Logic,DFFs,OutputComb.Logic,FeedbackComb.Logic,Moore,Mealy,现态,次态,输入,输出,现态,次态,输出,输入,FSM构成,FSM用来解决一般时序逻辑电路问题,包括同步/异步时序逻辑状态寄存器当前状态(现
2、态)寄存器组合逻辑电路下一状态(次态)组合逻辑输出组合逻辑,Moore和Mealy状态机描述的区别就在于输出逻辑进程,例子:0101序列检测码,例子:0101序列检测码,例子:0101序列检测码,vhdl语言描述FSM的建立过程,定义状态机的状态定义状态变量描述状态机的进程,定义状态机的状态,在使用状态机之前应该定义状态变量的枚举类型,可以定义在状态机描述的源文件中,或者是专门的程序包中。例子:TYPEstateIS(state1,state2);,定义状态变量,定义两个状态机变量:当前状态和次态,其中当前状态描述的是一组寄存器,而下一状态描述的是组合逻辑。例:signalcurrent_st
3、ate:state;signalnext_state:state;,描述状态机的进程,状态机的描述方式:三进程、二进程、单进程一般采用三个进程来描述状态机描述状态机寄存器的时序进程描述次态产生逻辑的组合逻辑进程描述输出组合逻辑进程,易出错,可读性差,不利于优化,状态机寄存器的时序进程,process(reset,clk)beginifreset=1thencurrent_state=初始状态;elsifrising_edge(clk)thencurrent_state=next_state;endif;endprocess;,一定要有复位信号,否则状态机处于随机状态,无法开始正常工作,FSM的
4、复位,同步复位双进程状态机在第1个进程的开始处用IFTHEN语句判断RESET,在其后的ELSE语句里用CASE语句定义状态转换或者在第2个进程里定义同步复位单进程状态机进程里定义同步复位异步复位双进程状态机在第2个进程里定义异步复位单进程状态机进程里定义异步复位,CASE_WHENIFTHENELSEPROCESS1,CLKEVENTANDCLK=1PROCESS2,次态,现态,输入,输出,次态转移逻辑进程,process(current_state,其他输入信号)beginnext_state.next_state.next_state=某个状态;.endcase;endprocess;,
5、次态转移逻辑进程,在case语句之前,给nenxt_state赋一个缺省值:next_state=current_state;其意义在于:当case语句中决定下个状态的逻辑比较复杂时,就不用给所有的情况赋值,不关心的情况就保持原状态。,输出逻辑进程,process(current_state,其他输入信号)beginoutputoutputoutput=某个值;.endcase;endprocess;,Mealy机就需要其他输入信号,这些信号和当前状态共同决定输出信号;Moore机则不需要,其输出只与当前状态有关。,Stmch1.vhd,libraryieee;useieee.std_logi
6、c_1164.all;entitystmch1isport(clk,in1,rst:instd_logic;out1:outstd_logic);endstmch1;architecturebehaveofstmch1istypestate_valuesis(sx,s0,s1);signalstate,next_state:state_values;beginprocess(clk,rst)beginifrst=1thenstate=s0;elsifrising_edge(clk)thenstate=next_state;endif;endprocess;,process(state,in1)
7、begin-setdefaultsforoutputandstateout1ifin1=0thenout1ifin1=0thenout1next_state=sx;endcase;endprocess;endbehave;,CombLogic,DFFs,in1stateclkrst,out1next_state,s0/0,s1/1,input=0,Reset=1,input=0,input=1,input=1,statmach.vhd,LibraryIEEE;useIEEE.std_logic_1164.all;ENTITYstatmachISPORT(clk:INBIT;input:INBIT;reset:INBIT;output:OUTBIT);ENDstatmach;,ARCHITECTUREaOFstatmachISTYPESTATE_TYPEIS(s0,s1);SIGNALstate:STATE_TYPE;BEGINPROCESS(clk,reset)BEGINIFreset=1THENstatestateIFinput=1THEN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中八年级科学(浙教版)电路探秘知识清单
- 八年级数学二元一次方程组考点梳理与提升教案
- 高中化学 主题1 空气资源 氨的合成 课题3 氨氧化法制硝酸教学设计 鲁科版选修2
- 八年级物理跨学科实践:基于核心素养的“测量平均速度”深度学习设计
- 八年级英语(初二上学期)第四单元第三话题综合语言能力提升教案
- 【课堂无忧】小学数学一年级上册知识清单:1120各数的认识与读写
- 八年级道德与法治《合理利用网络》核心素养导学案
- 百分数实际问题解决策略单元教学设计(第一、二课时)-六年级上册数学北京版
- 《流行病学病因推断》教学设计(本科预防医学三年级)
- 【高效课堂】人教版小学数学二年级下册《有余数的除法-解决问题》教学设计
- 江苏省2026中考作文深度预测专版
- 人教版小学五年级数学下册折线统计图《复式折线统计图》示范教学课件
- 2025内蒙古乌海市国创数字产业发展有限责任公司招聘和考察更正笔试历年参考题库附带答案详解
- 广西能汇投资集团有限公司招聘笔试题库2026
- 征集和招录人员政治考核表(填写样表)
- T/CCMA 0137-2022防撞缓冲车
- 《弱电系统课件》
- (高清版)DB41∕T 1640-2018 桥(门)式起重机司机实际操作考试细则
- T-CRHA 046-2024 标准手术体位安置技术规范
- (正式版)FZ∕T 80014-2024 洁净室服装 通 用技术规范
- (正式版)QB∕T 4900-2024 超级电容器纸
评论
0/150
提交评论