- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
状态机及数据路径及详细阐述
6.4 状态机与数据路径 研究内容 基本概念 状态机分类 状态机描述方法 状态机的编码风格 可综合的FSM编码 状态机的优化 状态机容错和设计准则 有限状态机 Finite State Machine,FSM 状态机 —— 一个离散数学模型。给定 一个输入集合,根据对输入的接受次序来决定一个输出集合。(摩尔状态机) 有限状态机 —— 输入集合和输出集合都是有限的,并只有有限数目的状态,实现有限个离散状态及其状态之间转移等行为动作的一种数学模型 有限状态机 有限状态机是由寄存器组和组合逻辑构成的 硬件时序电路; 状态机的状态(即由寄存器组的1和0的组合状态 所构成的有限个状态)只能在同一时钟跳变沿的 情况下才能从一个状态转向另一个状态; 状态机状态转换不但取决于各个输入值,还取决 于当前状态。 状态机可用于产生在时钟跳变沿时刻开关的复杂 的控制逻辑,是数字逻辑的控制核心。 状态机分类 米勒(Mealy)状态机 与当前状态和输入有关 摩尔(Moore)状态机 仅与当前状态有关 状态机状态 次态逻辑:负责状态机译码逻辑,是组合电路。其输入包含当前状态和外部输入信号。 状态记忆:储存目前的状态,是时序寄存电路。下一个逻辑状态的输出是其输入信号。 输出逻辑:负责输出逻辑,是组合电路。摩尔机仅仅与当前状态有关,米勒机与当前状态和输入信号都有关。 输出缓存器:对输出结果再做一次寄存,避免毛刺产生,有利于时序收敛,也能保证输入延迟是一个可预测的量。 Mealy Machine Moore Machine 采用 外部 flip-flop 状态机设计 状态机真值表 状态机仿真结果 两种综合结果比较 状态机描述风格 一段式(1-always) module fsm(clk,ina,out);input clk,ina;output out;reg out;parameter s0 = 3‘b00,s1 =3b01,s2 =3b10,s3=3b11;reg[0:1]state; always @ (posedge clk) begin state=s0; out =0; 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; end endcase endendmodule 状态机编写风格 One always 这种风格是将当前状态向量和输出向量用同一时序always块来描述。此法不宜产生毛刺(寄存器输出)且利于综合。 缺点,代码冗长,维护性差;case语句中对输出向量的赋值应是下一个状态输出,这点易出错;状态向量与输出向量都由寄存器实现,面积大,不能实现异步米勒状态机。 如果采用两个always来描述,程序的模块声明、端口定义和信号类型部分不变,只是改动逻辑功能描述部分,改动部分的程序如下: always @ (posedge dk) state_fsm =next_state; always @ (state_fsm or ina) begin state=s0;out =0; case(state_fsm ) s0: begin next_state=(ina)?s1:s0;out=0; end s1: begin next state=(ina)?s2:s0;out=0: end s2: begin next_state=(ina)?s3:s0;out=0; end s3: begin next_state=(ina)?s3:s0;out=1; end endcase end 状态机编写风格(Two always) 一个时序过程块给当前状态向量赋值,另一个组合过程块给下一个状态与输出向量赋值。此方法具有面积和时序最优的性能。 存在问题: 组合逻辑输出会产生毛刺,如果输出向量作为三态使能控制或者时钟信号使用的时候,必须消除毛刺。 输出向量必须由状态向量经译码得到,加大了状态向量到输出向量的延迟。 组合输出消耗了部分时钟,增加了其驱动的模块的输入延迟,不利于代码的综合与优化。 Output encoded 风格 module fsm_3(clk,ina,out);
您可能关注的文档
- 原子吸收分光光度计及主要组成部件.doc
- 原油电脱盐及基本原理.doc
- 物理:12。2探究物质及比热容课件(沪粤版九年级).ppt
- 厨房排油烟及风量计算方法.doc
- 去医院调查需要问及问题.doc
- 物理:2.7《闭合电路及欧姆定律》.ppt
- 物理:2.7《闭合电路及欧姆定律》基础知识讲解课件(新人教版选修3-1).ppt
- 参考文献及类型 根据GB3469.doc
- 双城(我及)出口业务操作题.doc
- 双干盆景是人们喜爱及常见树木盆景型式之一.doc
- 2024-2025学年安徽省亳州市涡阳县高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年江西省赣州市上犹县高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山西省卓越联盟高三下学期2月开学质量检测政治试题(解析版).docx
- 2024-2025学年新疆乌鲁木齐市高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年新疆维吾尔自治区乌鲁木齐地区高三2月大联考文科综合政治试题(解析版).docx
- 2024-2025学年安徽省蚌埠市固镇县高一上学期1月期末考试政治试题 (解析版).docx
- 2024-2025学年江苏省扬州市高三上学期期末检测政治试卷(解析版).docx
- 2024-2025学年江西省吉安市高三上学期期末教学质量检测政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二上学期1月期末考试政治试题(解析版).docx
文档评论(0)