第7章 状态机设计

第7章 状态机设计

ID:24791647

大小:1.90 MB

页数:53页

时间:2018-11-15

第7章 状态机设计_第1页
第7章 状态机设计_第2页
第7章 状态机设计_第3页
第7章 状态机设计_第4页
第7章 状态机设计_第5页
资源描述:

《第7章 状态机设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章有限状态机设计电信学院张沛泓教学目的及要求本章重点介绍用VHDL设计不同类型有限状态机的方法,同时介绍EDA工具和设计实现中许多必须重点关注的问题,比如综合器优化、毛刺信号的克服、控制速度及状态编码方式等问题。通过对本章的学习,要求大家掌握Moore型和Mealy型状态机的设计方法。第七章有限状态机设计一般有限状态机设计Moore型有限状态机设计Mealy型有限状态机设计状态编码非法状态处理12345第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句TYPE语句的用法如

2、下:TYPE数据类型名IS数据类型定义OF基本数据类型;TYPE数据类型名IS数据类型定义;举例:TYPEst1ISARRAY(0TO15)OFSTD_LOGIC;TYPEweekIS(sun,mon,tue,wed,thu,fri,sat);第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句TYPEm_stateIS(st0,st1,st2,st3,st4,st5);SIGNALpresent_state,next_state:m_state;TYPEBOOLEANIS(F

3、ALSE,TRUE);TYPEmy_logicIS('1','Z','U','0');SIGNALs1:my_logic;s1<='Z';SUBTYPE子类型名IS基本数据类型RANGE约束范围;SUBTYPEdigitsISINTEGERRANGE0to9;第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句7.1.2为什么要使用状态机状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点状态机可以定义符号化枚举类型的状态状态机容易构成性能良好的同步时序逻辑模块状态机的VHDL表

4、述丰富多样、程序层次分明,易读易懂在高速运算和控制方面,状态机更有其巨大的优势高可靠性第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句7.1.2为什么要使用状态机7.1.3一般有限状态机的设计1.说明部分2.主控时序进程3.主控组合进程4.辅助进程第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句7.1.2为什么要使用状态机7.1.3一般有限状态机的设计1.说明部分ARCHITECTURE...ISTYPEFSM_STIS(s0,s1,s2,s

5、3);SIGNALcurrent_state,next_state:FSM_ST;...第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句7.1.2为什么要使用状态机7.1.3一般有限状态机的设计1.说明部分2.主控时序进程第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句7.1.2为什么要使用状态机7.1.3一般有限状态机的设计1.说明部分2.主控时序进程3.主控组合进程第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定

6、义语句7.1.2为什么要使用状态机7.1.3一般有限状态机的设计1.说明部分2.主控时序进程3.主控组合进程4.辅助进程第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句7.1.2为什么要使用状态机7.1.3一般有限状态机的设计【例7-1】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYs_machineISPORT(clk,reset:INSTD_LOGIC;state_inputs:INSTD_LOGIC_VECTOR(0TO1)

7、;comb_outputs:OUTINTEGERRANGE0TO15);ENDs_machine;ARCHITECTUREbehvOFs_machineISTYPEFSM_STIS(s0,s1,s2,s3);SIGNALcurrent_state,next_state:FSM_ST;BEGINREG:PROCESS(reset,clk)第七章有限状态机设计7.1一般有限状态机设计7.1.1用户自定义数据类型定义语句7.1.2为什么要使用状态机7.1.3一般有限状态机的设计BEGINIFreset='1'T

8、HENcurrent_state<=s0ELSIFclk='1'ANDclk'EVENTTHENcurrent_state<=next_state;ENDIF;ENDPROCESS;COM:PROCESS(current_state,state_Inputs)BEGINCASEcurrent_stateISWHENs0=>comb_outputs<=5;IFstate_inputs="00"THENnext_state<=s0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。