- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
可综合状态机设计
状态机在某种程度上可以称是一种时序电路,如前面的触发器、计数器等,都可以看成是功能固定的状态机。在状态机中常使用以状态图及状态表描述的方式,然后根据这个状态图去设计符合要求的电路。本章将介绍状态机、状态的编码方式及状态机的设计范例。
状态机简介
状态机简写为FSM(FiniteStateMachine),主要分为2大类:第一类,若输出只和状态有关而与输入无关,则称为Moore状态机:第二类,输出不仅和状态有关而且和输入有关系,则称为Melay状态机。要特别注意的是,因为Melay状态机和输入有关,输出会受到输入的干扰,所以可能会产生毛刺(Gitch)现象,使用时应当注意。事实上现在市面上有很多EDA工具可以很方便的将采用状态图的描述转换成可以综合的VHDL程序代码。
Moore状态机
其Moore状态图如图1所示。
S
S0/0
S1/1
S3/0
S2/0
0
0
1
1
0
0
1
1
其中S0/0所代表的意思为现在是状态S0且输出为0,状态图最主要是将每个状态都给予一个编号,详细描述如下:
在某状态时,列出所有的输出条件。
在某状态时,当输入信号是什么则会跳至哪一个状态。
在某状态时,当输入信号是什么则会维持原状态不变。
可以将图1的Moore状态机写成状态表如表1.
表1Moore状态表
状态
次态
输出
X=0
X=1
S0
S0
S1
0
S1
S1
S2
1
S2
S3
S0
0
S3
S0
S3
0
状态表主要描述它与状态图的关系,再设计状态机电路是,需要先定义状态机的变量,定义状态机的变量时使用枚举类型来定义,如下范例所示:
Type
接下来,状态会被加以编码。其状态编码方式如下:
时序编码(Sequential)
将每个状态以二进制来做编码。
格雷码(Gray)
也是将四个State以二进制来编码,不过不同的是每次编码只会差一个位,其主要缺点是状态改变是要依据改变才可以,若状态不是依序是,则Gray编码不适用。
独热码(Onehot)
独热码状态编码的特色为每一个状态均有自己的触发器,所以若有N个状态就也存在有N个触发器,在任一时刻只会有一组状态编码,缺点是会产生较大的电路,但是相对的使用独热码状态编码对帧错相当有帮助。
三种格式之状态编码如表2所示。
状态
时序编码
Gray编码
Onehot编码
S0
00
00
0001
S1
01
01
0010
S2
10
11
0100
S3
11
10
1000
从状态编码表可以看出时序编码和Gray编码均是用二个位来做编码,而以独热码作为编码方式则编码位增加至四个位,所以电路比其他两种编码方式都大一些。
所以可以使用属性来定义编码方式,若要编码成独热码编码,则可加上:
Type
Attributeencodingofstate;
Typeis“00010010
在设计状态机时,通常使用进程语句来描述状态机,其中进程语句又可以分为三种方式:
一个进程
利用一个进程来描述状态的转换及输出信号的定义。
两个进程
一个为时序电路主要负责状态变量的更新,此进程为同步电路,而另一个进程语句主要是描述下次态变量和输出的更新。
三个进程
第一个进程主要负责状态变量的更新,第二个进程语句负责描述次态变量,而最后一个则是负责输出信号的更新。
有了以上的初步观念,可以设计图1四个状态的Moore状态机。
范例
首先根据之前的状态表编写VHDL程序如下所示:
Libraryieee;
Useieee.std_logic_1164.all;
Useieee.numeric_std.all;
Entitymoore_fsmis
Port(
clk:instd_logic;
rstn:instd_logic;
x:instd_logic;
output:outstd_logic
);
Endmoore_fsm;
Architecturertlofmoore_fsmis
Typestateis(s0,s1,s2,s3);---状态定义
Signalcurrent_state:state;---现态
Signalnext_state:state;---次态
Begin
Statefsm:process(rstn,x,current_state)
Begin
Ifrstn=‘0’
next_state=s0;
output=‘0’
else
casecurrent_stateis
whens0=
ifx=’0
您可能关注的文档
- 南开《运筹学》20春期末考试题目《奥鹏颜老师答案》.docx
- 1.国际贸易磋商的一般流程..pptx
- 什么是燃气近年原文.doc
- 技术发展报告.ppt
- 车辆抵押合同模板6篇.docx
- 茶产业发展存在的问题及对策.pptx
- 加强糖尿病患者口服降血糖药物的服务.pdf
- 单位绿化养护简易合同范本(通用7篇).docx
- 职业健康体检项目及费用明细表(2).docx
- 珍爱生命远离危险——安全教育主题班会PPT课件.pptx
- Module5单词默写课件七年级英语上册(完整版)3.pptx
- Unit4Whereismycar?PartB(课件)人教PEP版英语三年级下册.pptx
- 江苏省部分市高一上学期期末考试英语试题汇编完形填空.docx
- Unit1HowcanwebeegoodlearnersSectionB2a2e课件人教版英语九年级全册(1).pptx
- 中国历史上的政治思想和社会伦理.pptx
- 六年级作文集_2(完整版).pptx
- Unit3BacktothePastIntegratedskills课件高中英语译林版(2020)选择性.pptx
- Module3Unit2OnMondayI’llgoswimming.(课件)英语四年级下册(精).pptx
- 2024年安徽高考化学新题精选仿真模拟卷6.docx
- Unit3It'sapineapple.Lesson16(课件)人教精通版英语四年级上册.pptx
最近下载
- 第十三章 电磁感应与电磁波初步 学情分析 内容与价值分析 单元小结--高二上学期物理人教版(2019)必修第三册.docx
- 江苏省宿迁市2024届高三下学期三模试题 地理 Word版含答案.docx
- 湘科版科学五年级上册全册教案(含反思) .pdf
- 冀少版七年级上册生物全册新质教学课件(配2024年秋改版教材).pptx
- 形状记忆高分子_智能高分子.ppt VIP
- 2024年新人教版八年级上册物理教学课件 5.5 跨学科实践:制作望远镜.pptx
- DA98B用户手册_V2.01.pdf
- 叶红玉《报关实务(第4版)》3(项目三进出口税费核算).ppt VIP
- 部编版语文一年级上册第一二单元核心素养教案(表格版).docx
- 护理质量控制与改进.docx
文档评论(0)