- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
asic原理及应用3
桂林电子科技大学信息与通信学院 ASIC原理及应用 主讲:信息与通信学院 谢跃雷(副教授) 第三章 RTL级设计 数字系统的硬件划分 算法状态机(ASM)图 算法状态机及数据路径(ASMD)图 设计实例 3.1 数字系统硬件结构 算法级设计可知任何一个系统都可以用算法模型来进行描述,算法模型与硬件之间并无直接的对应关系,不是所有的算法都能够用硬件实现的,即HDL所建的算法模型并不都是可综合的,本节讨论RTL级设计,即可综合的HDL建模设计。 RTL是指ASIC设计的一个抽象层次,并不是设计方法。 RTL设计一般是指行为建模与数据流建模的混合,过去特指数据流建模。 一、硬件结构划分 复杂数字系统的RTL设计思想 数字系统(RTL级)设计 二、数据路径(Data Path) 数据路径通常包括算术单元,如ALU、加法器、乘法器、寄存器、移位寄存器及连接它们的总线。它的输入输出来自外部,控制信号也来自并反馈给外部的控制单元。 数据路径需要有控制信号来控制时序以及功能。 数据路径的总线应设置控制信号,由该信号来选择数据的源以及数据传送的路径。数据部分还应有输出信号,将数据的标志和状态通知控制部分。 三、控制逻辑(Control Logic) 控制逻辑:又称控制单元,用来产生控制信号序列,以决定何时进行何种数据运算。控制单元要从数据单元及外界得到条件信号,以决定继续进行那些数据运算。数据单元要产生输出信号、数据运算状态等有用信息。 控制部分通常由状态机构成,通过判断当前的数据的状态来决定应该对这个数据什么操作,应该把这个数据送到数据路径的什么部分。 控制逻辑可由算法状态机(ASM:Algorithm State Machine)图来描述。 Verilog RTL模型 3.2 算法状态机图(ASM) 算法流程图是仅规定了操作的顺序,并未规定操作的时间及操作之间的时序关系,因此算法流程图和硬件之间的对应并不严格。为克服这一缺点,在RTL级设计中,引入另一种描述方法ASM(Algorithmic state machine)图。 ASM块范例 1个状态框:IDLE 2个判别框:START Q0 1个条件框 A 特点: 只有一个状态框 只有一条进入路径,可以有多条离开路径 块内所有的操作必须与系统同步 在一个clock(T)内完成 相同的CLOCK会使系统控制状态转移到IDLE、MUL0、MUL1中的一个状态 以ASM表示反馈路径(feedback) 并行(parallel)模式与串行(serial)模式 4.算法流程图→ASM图 算法流程图的工作块、判别块和条件操作块分别对应于ASM图的状态框、条件判别框和条件输出框。转换时遵循以下原则: a)工作块对应状态块 b)条件操作块和条件输出块 c)不能同时实现的操作分多个状态实现 如图 (a)所示的流程图的操作块,要实现RE←D,并将RE的内容增大8倍。 图 (b)是与之对应的控制器的ASM图,完成上述操作分解为两个状态,且需要4个时钟周期。图中当状态为S1时,LOAD=0,在CP作用下,实现RE←D,同时进入状态S2,经3个CP周期将RE的内容左移3次,使之扩大8倍。SHL=1是RE左移的控制信号。 d)转换原则三 5.例:流程图转换ASM图 3.3 RTL设计 数字系统包括以控制为主的系统和以数据为主的系统。以控制为主的系统是对外部事件做出反应的系统,以数据为主的系统则受高速吞吐数据的计算和传输等要求的影响。 一、算法状态机数据路径图(ASMD) 数据路径通常用数据流图描述,而控制逻辑则常用ASM图描述,对于以控制为主的数字系统,直接用ASM图描述即可。对于数据为主的系统,修改ASM图,将其链接到控制单元所控制的数据路径上,当ASM图状态沿着通道发生转移时,通过标注每个路径来指出那些在相关数据路径中所发生的并发寄存器操作。 例.一可逆的3位二进制计数器,在一个二位二进制输入字的控制下选择递增、递减或保持计数,且有同步复位功能。 二、RTL设计 复杂系统的RTL设计关键在于数据路径和控制单元的划分,可遵循以下步骤: (1)由算法流程图明确数据路径的操作,并为每个操作分配一个控制信号。 (2)确定控制信号时序,在明确各控制信号的基础上,对他们进行排序,列出控制信号排序表,从而归纳并确定控制信号的时序,作为对控制单元设计的技术要求,使系统正确执行算法流程。 (3)由算法流程图导出ASM图,结合数据路径构成ASMD图,同时明确数据路径到控制逻辑的反馈信号。 (4)用HDL语言分别设计数据路径和控制逻辑,构成整个数字系统。 RTL设计实例1 算法流程图 由算法流程图可确定数据路径操作及控制信号如下: ASMD图 设计要求: 设计一个十字路口交通
文档评论(0)