状态机与数据路径的详细阐述.ppt

状态机与数据路径的详细阐述.ppt

ID:51958707

大小:665.05 KB

页数:50页

时间:2020-03-26

状态机与数据路径的详细阐述.ppt_第1页
状态机与数据路径的详细阐述.ppt_第2页
状态机与数据路径的详细阐述.ppt_第3页
状态机与数据路径的详细阐述.ppt_第4页
状态机与数据路径的详细阐述.ppt_第5页
资源描述:

《状态机与数据路径的详细阐述.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.4状态机与数据路径2021/9/81研究内容基本概念状态机分类状态机描述方法状态机的编码风格可综合的FSM编码状态机的优化状态机容错和设计准则2021/9/82有限状态机2021/9/83FiniteStateMachine,FSM状态机——一个离散数学模型。给定一个输入集合,根据对输入的接受次序来决定一个输出集合。(摩尔状态机)有限状态机——输入集合和输出集合都是有限的,并只有有限数目的状态,实现有限个离散状态及其状态之间转移等行为动作的一种数学模型2021/9/84有限状态机有限状态机是由寄存器组和组合逻辑构成的硬件时序电路;状态机的状态

2、(即由寄存器组的1和0的组合状态所构成的有限个状态)只能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态;状态机状态转换不但取决于各个输入值,还取决于当前状态。状态机可用于产生在时钟跳变沿时刻开关的复杂的控制逻辑,是数字逻辑的控制核心。2021/9/85为什么要使用状态机有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。状态机的结构模式相对简单。状态机容易构成性能良好的同步时序逻辑模块。状态机的Verilog表述丰富多样。在高速运算和控制方面,状态机更有其巨大的优势。2021/9/86nna1,a2,…,anx1,x2,…,x

3、n状态位置状态名称转移方向输入集合(触发事件)输出集合(执行动作)状态等待状态迁移图S状态编码2021/9/87状态机分类米勒(Mealy)状态机与当前状态和输入有关摩尔(Moore)状态机仅与当前状态有关2021/9/88状态机状态次态逻辑:负责状态机译码逻辑,是组合电路。其输入包含当前状态和外部输入信号。状态记忆:储存目前的状态,是时序寄存电路。下一个逻辑状态的输出是其输入信号。输出逻辑:负责输出逻辑,是组合电路。摩尔机仅仅与当前状态有关,米勒机与当前状态和输入信号都有关。输出缓存器:对输出结果再做一次寄存,避免毛刺产生,有利于时序收敛,也能

4、保证输入延迟是一个可预测的量。2021/9/89MealyMachineX/ZS1S2S30/11/00/01/01/00/0当前状态S1S2S30S1/0S1/0S1/11S2/0S3/0S3/0输入次态/输出2021/9/810MooreMachine采用外部flip-flop当前状态S1S2S3S40S1S1S4S11S2S3S3S2输入Z0001输出S1/0S2/001010101S4/1S3/02021/9/811状态机设计状态机结构图状态转换图2021/9/812状态机真值表输入当前状态Reset0Reset1AB/01A/00BC/

5、10A/00CD/11A/00DA/00A/002021/9/813状态机仿真结果Moore机仿真Mealy机仿真结果2021/9/814两种综合结果比较2021/9/815状态机描述风格一段式(1-always)2021/9/816modulefsm(clk,ina,out); inputclk,ina; outputout;regout; parameters0=3‘b00,s1=3'b01,s2=3'b10,s3=3'b11; reg[0:1]state;always@(posedgeclk) begin state<=s0; out=0;

6、case(state) s0:begin state<=(ina)?s1:s0;out<=0; end s1:begin state<=(ina)?s2:s0;out<=0; end s2:begin state<=(ina)?s3:s0;out<=0; end s3:begin state<=(ina)?s3:s0;out<=1; endendcaseendendmodule2021/9/817状态机编写风格Onealways这种风格是将当前状态向量和输出向量用同一时序always块来描述。此法不宜产生毛刺(寄存器输出)且利于综合。缺点,代码冗

7、长,维护性差;case语句中对输出向量的赋值应是下一个状态输出,这点易出错;状态向量与输出向量都由寄存器实现,面积大,不能实现异步米勒状态机。2021/9/818如果采用两个always来描述,程序的模块声明、端口定义和信号类型部分不变,只是改动逻辑功能描述部分,改动部分的程序如下:always@(posedgedk)state_fsm<=next_state;always@(state_fsmorina) begin state<=s0;out=0;case(state_fsm) s0:beginnext_state=(ina)?s1:s0;o

8、ut=0; end s1:begin nextstate=(ina)?s2:s0;out=0:end s2:beginnext_stat

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

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

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