VHDL硬件描述语言与数字逻辑电路设计(第五版)侯伯亨章 (2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 数字系统的算法描述
2.乘法器 乘法器可实现的算法很多。2个4位数乘法的运算过程如表 2-1所示。
第2章 数字系统的算法描述
表中有一个9位寄存器,低4位存放乘数。如果乘数的最低 位(寄存器的最低位)为“1”,则将被乘数加到寄存器的b4~ b7位上;如果为“0”,则不作加法,然后向右移一位。再重 复上述过程,直至将乘数全部移出9位寄存器为止(此例中要移 4位)。将这种算法的运算过程用算法流程图来描述,如图27(a)所示,与该算法流程图对应的硬件电路框图如图2-7(b)所 示。
第2章 数字系统的算法描述
2.2 状态机及算法状态机图描述
众所周知,数字系统由控制单元和处理单元两大部分组成。 控制单元在统一的同步时钟控制下,严格按照一定的时间关系 输出控制信号;处理单元一步一步地完成整个数字系统的操作。 这种工作过程用算法流程图是无法正确描述的。 面介绍一种用于描述控制器工作过程的方法,即算法状态机图 (Algorithmic State Machine Flowchart,ASM图)描述方法。
说明该工作框所对应的硬件操作内容及对应的输出信号。
图2-2 工作框
第2章 数字系统的算法描述
(a) 工作框;(b) 对应的逻辑电路 图2-3 工作框与硬件之间的对应关系
第2章 数字系统的算法描述
通常算法流程图与硬件功能有极好的对应关系。也就是说, 一个工作框的功能应该很容易地映射成为一个较基本的逻辑电 路。图2-3(a)描述两个二进制数a和b相加,其结果为输出c的 工作框;图2-3(b)则是实现该工作框功能的逻辑电路。在设计 数字系统时,如用算法流程图描述其功能,则总要经历由粗至 细逐步细化的过程。所以,在数字系统描述的初期,一个工作 框的功能不一定完全能用一个逻辑电路来实现。但是,随着描 述的逐步细化,设计者应考虑每一个工作框的可实现性,只有 这样,算法流程图最后才能被综合成逻辑电路。
第2章 数字系统的算法描述
3.判断框 判断框与程序流程图中所采用的符号一样,用菱形框来描 述。框内应给出判断量和判断条件。根据不同的判断结果,算 法流程图将确定采用什么样的后继操作。判断框必定有两个或 两个以上的后续操作,当后续操作超过3个时可以用若干个判 断框连接来描述。图2-4是用算法流程图中的判断框描述2-4译 码器的示例。图2-4中,输入为a、b,输出为y0、y1、y2、y3, 用4个判断框描述该电路的四种不同的后续操作。
第2章 数字系统的算法描述Fra bibliotek(a) 算法流程图;(b) 硬件电路框图 图2-7 乘法器
第2章 数字系统的算法描述
该乘法器由3大部分组成:9位长的累加器ACC、4位加法器 和1个乘法控制电路。乘法控制电路有3个输入信号和4个输出 控制信号:
(1) Load——累加器数据装载控制信号; (2) sh——累加器移位控制信号; (3) Add——累加器输出相加信号; (4) Done——乘法结束标志信号; (5) clk——时钟信号; (6) START——启动控制信号; (7) M——加被乘数控制信号。
第2章 数字系统的算法描述
1.启动框和结束框 与程序流程图一样,启动框和结束框仅仅表示该算法流程 图的开始和结束,使读者一目了然。一般这两个框可以省略, 而以文字和箭头直接表示,如图2-1所示。
第2章 数字系统的算法描述 图2-1 启动框和结束框
第2章 数字系统的算法描述 2.工作框 如图2-2所示,工作框用一个矩形框表示,在框内用文字
第2章 数字系统的算法描述 第2章 数字系统的算法描述
2.1 数字系统算法流程图描述 2.2 状态机及算法状态机图描述 习题与思考题
第2章 数字系统的算法描述
2.1 数字系统算法流程图描述
2.1.1 算法流程图的符号及描述方法 算法流程图由若干种描述符号构成,即启动框、工作框、
判断框、条件框、结束框及有向线(带有箭头的连线)等。
第2章 数字系统的算法描述
在启动信号有效(START = 1)以前应先将乘数装入累加器, 将被乘数装入被乘数寄存器(该寄存器图中未画出),即初始化 完毕。在启动信号有效以后,经4个时钟脉冲,乘法操作完成, 其结果将存于累加器ACC中。
如前所述,算法流程图常用于数字系统的行为描述,它仅 仅规定了数字系统的一些操作顺序,而并未对操作的时间和操 作之间的关系做出严格的规定。因而它常用于验证数字系统数 学模型的正确性,对其硬件的可实现性未作更多的关注。
第2章 数字系统的算法描述
(a) 算法流程图;(b) 对应的硬件框图 图2-6 4位串行加法器
第2章 数字系统的算法描述
一位全加器实现2个二进制位的相加,其输入、输出连接 如图2-6(b)所示。
需要说明的是,为简化电路,该电路的初始化未包含在上 述电路框图中。
如图2-6(a)所标明的一样,如果算法流程图描述适当,则 其各工作框和判断框等都会有较好的对应关系,这样会给电路 设计带来很大的方便。但是,毕竟算法流程图更贴近数字系统 的行为描述,当数字系统较复杂时这种对应关系就不那么紧密 了。
第2章 数字系统的算法描述
2.2.1 状态机的分类及特点 控制器按一定时序关系产生一系列的时序控制信号,因此
它必定包含时序电路。根据时序输出信号产生的机理不同,时 序电路可以分成两类:米勒(Mealy)型和摩尔(Moore)型。
1.米勒型时序电路 米勒型时序电路的典型结构如图2-8所示。
第2章 数字系统的算法描述 图2-8 米勒型时序电路的典型结构
第2章 数字系统的算法描述 图2-4 判断框
第2章 数字系统的算法描述 图2-5 条件框
第2章 数字系统的算法描述
2.1.2 算法流程图描述数字系统实例 为了熟悉算法流程图描述方法,现举几个例子加以说明。 1.串行加法器 串行加法器是利用一位加法器实现两个多位二进制数据相
加的电路。4位串行加法器的算法流程图如图2-6(a)所示,其 对应的硬件电路框图如图2-6(b)所示。该4位串行加法器电路 由5部分组成:加法控制电路、累加器、加数寄存器、一位全 加器和进位位寄存器。