eda技术 第八章 有限状态机设计

eda技术 第八章 有限状态机设计

ID:40137320

大小:461.50 KB

页数:35页

时间:2019-07-22

eda技术 第八章 有限状态机设计_第1页
eda技术 第八章 有限状态机设计_第2页
eda技术 第八章 有限状态机设计_第3页
eda技术 第八章 有限状态机设计_第4页
eda技术 第八章 有限状态机设计_第5页
资源描述:

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

1、EDA技术主讲:牛军浩第八章有限状态机设计技术8.1状态机的一般形式8.2Moore型状态机及其设计8.3Mealy型状态机设计8.4状态机图形编辑设计8.5不同编码类型状态机8.6安全状态机设计8.7硬件数字技术排除毛刺教学目的有限状态机是实现高效率、高可靠和高速控制逻辑系统的重要途径。主要应用于那些操作和控制流程非常明确的系统设计,如数字通信、自动化控制、家电设计领域。8.1状态机的一般形式就理论而言,任何时序模型都可以归结为一个状态机;用HDL语言可以设计不同表达方式和不同功能的状态机,且多数状态机都有相对固定的语句和程序表达方式

2、;把握这些固定的语句表达部分,就能根据实际需要写出各种不同风格和不同目的的状态机。1.状态机特点和优势(1)高效的顺序控制模型(2)容易利用现有的EDA工具进行优化设计(3)系统性能稳定,性能良好的同步时序逻辑模块(4)设计实现效率高(5)高速性能(6)高可靠性能8.1状态机的一般形式2.状态机的分类(1)从信号输出方式上分:Mealy型和Moore型(2)从描述结构上分:单过程状态机和多过程状态机(3)从状态表达方式上分:有符号化和确定状态编码(4)从编码方式上分:有顺序编码、一位热码或其他8.1状态机的一般形式3.状态机的结构(1)

3、说明部分使用TYPE语句定义新的数据类型,此数据类型为枚举型,其元素通常用状态机的状态名定义。一般放在ARCHITECTURE和BEGIN之间。8.1状态机的一般形式ARCHITECTURE...ISTYPEFSM_STIS(s0,s1,s2,s3);SIGNALcurrent_state,next_state:FSM_ST;...3.状态机的结构(2)主控时序进程负责状态机的运转和在时钟驱动下进行状态转换的进程状态机是随外部时钟信号,以同步时序方式工作的。状态机的变化是由始终CLK的跳变决定的,如上升沿或下降沿,当有效沿到来时,状态机

4、才会向下一个状态跳变。一般主控时序进程不负责下一状态具体取值,如S0,S1,S2,S3中的某一状态,当有效沿到来,时序进程只是机械地将代表次态的信号NextState中的内容送入现态的信号CurrentState中,而NextState内容完全由其他进程决定。8.1状态机的一般形式3.状态机的结构8.1状态机的一般形式一般状态机结构框图3.状态机的结构(3)主控组合进程通过信号Current_Steta中的状态值,进入相应的状态,并在此状态中根据外部信号指令,如stata_inputs等向内或外发出控制信号,如comb_outputs,

5、同时确定下一个状态的走向,也就是向next_state中附入相应的状态值。此状态值通过next_state传给REG时序进程,直到下一个时钟到来再进入另一次的状态转换周期。8.1状态机的一般形式3.状态机的结构(4)辅助进程用于配合状态机工作的组合进程或时序进程。比如:为完成某种算法的进程、配合状态机工作的其它时序进程、为稳定输出设置的数据锁存器等等。8.1状态机的一般形式LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYFSM_EXPISPORT(clk,reset:INSTD_LOGIC;st

6、ate_inputs:INSTD_LOGIC_VECTOR(1DOWNTO0);comb_outputs:OUTINTEGERRANGE0TO15);ENDFSM_EXP;ARCHITECTUREbehvOFFSM_EXPISTYPEFSM_STIS(s0,s1,s2,s3);--数据类型定义,状态符号化SIGNALcurrent_state,next_state:FSM_ST;BEGINREG:PROCESS(reset,clk)--主控时序进程BEGINIFreset='1'THENcurrent_state<=s0;--检测异步复

7、位信号ELSIFclk='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;ELSEnext_state<=s1;ENDIF;WHENs1=>comb_outputs<=8;IFstate_inputs=

8、"00"THENnext_state<=s1;ELSEnext_state<=s2;ENDIF;WHENs2=>comb_outputs<=12;IFstate_inputs="11"THENnext_st

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

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

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