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