欢迎来到天天文库
浏览记录
ID:37323270
大小:2.34 MB
页数:151页
时间:2019-05-21
《Day3高级逻辑设计与接口》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、高级逻辑设计基本逻辑结构ControlUnit•ControlUnit根据外部输入以及Datapath当前的工作状态对于Datapath进行控制,是整个算法的调度者。•ControlUnit在大部分实现中以FSM的形式出现。Datapath•Datapath通常称为数据通路•Datapath指用于进行数据处理的逻辑资源以及相应的寄存器组成的电路。基于ASM图的FSM设计有限状态机概述•有限状态机——FiniteStateMachine(FSM)•状态机在整个时序电路中扮演着至关重要的角色。•这里提到的状态机都是有限状态机,顾名思义就是整个时序逻辑电路只能存在有限
2、个状态。他们所处的状态和对应的输出都是确定的。有限状态机概述(续)•状态机的要素–状态变量:用于划分逻辑顺序和时序规律–输出:某一个状态时特定发生的事件–输入:进入某个状态的条件•稳定的状态机–时钟同步的输入–时钟同步的输出有限状态机概述(续)•通常来讲,FSM的输出以及状态的更迭是由当前状态以及输入形成的组合逻辑确定的。•有限状态机在实现数字系统中的控制和决策电路中非常有用。为何要设计好状态机•状态机几乎出现在每一个较为复杂的时序逻辑电路中,他可以控制事件发生的顺序,调整数据通路的时序等等。比如CPU总线仲裁、通讯握手协议的实现等等。•优秀的状态机能够稳定地控
3、制电路的状态转移,使整个系统稳定有效地运作着。相反,劣质的状态机则会过多产生错误状态的迁移,glitch的输出,大大影响了系统稳定性。为何要设计好状态机(续)•一个优秀的状态机应该具有以下特点–安全、稳定性高–速度快、满足设计时钟要求–面积小、满足设计面积要求–设计清晰易懂、易维护状态机的分类•从状态机的逻辑形式划分–Moore状态机–Mealy状态机•从状态机的描述方式–2段式–3段式•这里只做概念上的介绍,之后会给出详细的对比。Moore状态机介绍•摩尔状态机的输出仅仅依赖于当前状态,而与输入条件无关Mealy状态机•米勒型状态机的输出不仅依赖于当前状态,而
4、且取决于该状态的输入条件。状态机的分类(续)•摩尔状态机的输出是由时钟同步的,而米利状态机的输出是异步的,他的输出会随着输入的随时改变而改变。•因此在时序设计上,摩尔状态机更有优势;当然,也可以通过同步化设计来克服米利状态机的缺陷。状态机同步问题•输入同步:状态机中各个状态的迁移是由当前状态和当前输入决定的。当前状态的迁移是由时钟同步的而状态机输入通常来说是异步的,因此需要同步化输入来避免状态的错误跳转。状态机同步问题(续)•我们这样控制状态跳转•always@(posedgeclk)state<=next_state;•这里next_state是根据clk采样
5、之前状态机所在状态和采样之前已经稳定输入而产生的。也就是说,这个输入作用于状态的跳转已经是经过时钟采样的了(时钟同步化)。状态机同步问题(续)•电路示意图如下状态机同步问题(续)•依然存在的问题(亚稳态)状态机同步问题(续)•输出同步–Moore状态机的输出本身就是同步的–Mealy状态机可以使用同步化输出设计状态机设计方法•传统设计方法——实例(偶校验器设计)–状态转移图–状态转移表–真值表–逻辑提取–电路映射传统设计方法•状态转移图–状态变量–输入–输出传统设计方法(续)•状态转移表传统设计方法(续)•真值表–EVEN->0–ODD->1传统设计方法(续)•
6、状态转移和输出方程–NS=NextState–PS=PresentState–PI=PresentInput–OUT=Output•根据之前的真值表可以得到–NS=PS^PI–OUT=PS传统设计方法(续)•Implementation传统设计方法(续)•波形图传统设计方法(续)•优化算法状态机设计方法•传统的设计方法无法满足复杂状态机设计需求•算法状态机(ASM)图是时序状态机功能的一种抽象。他类似于软件流程图,但是显示的是计算动作(比如寄存器操作)的时间顺序,以及在状态机输入影响下发生的时序步骤。算法状态机设计方法•ASM图是由三种基本元素组成的:算法状态机
7、设计方法(续)•描述方式偶校验器的重新设计•采用ASM图设计偶校验器的重新设计(续)偶校验器的重新设计(续)针对更复杂的状态•通常我们会面对(省略了输出和输入)针对更复杂的状态(续)•我们都可以先画出ASM图•然后根据ASM图,使用3段式的表述方法–第一个always块描述状态的更替(时序逻辑)–第二个always块产生下一个状态(组合逻辑)–第三个always块产生输出•如果组合逻辑,就是非同步输出(和2段式的相似)•如果时序逻辑,就是同步输出更实际的应用•用作数据通道的状态机控制器UART发射机实例UART发射机实例(续)•Byte_ready:由主机判断D
8、ata_bus数据是否有
此文档下载收益归作者所有