编辑: 于世美 2013-03-19

第六章 运算和数据流动控制逻辑

108

第六章 运算和数据流动控制逻辑

6 6.

. 前 前言 言:

6 6. .1

1 数字逻辑电路的种类: y 组合逻辑:输出只是当前输入逻辑电平的函数(有延时),与电路的原始状态无关的 逻辑电路.也就是说,当输入信号中的任何一个发生变化时,输出都有可能会根据其 变化而变化,但与电路目前所处的状态没有任何关系. y 时序逻辑:输出不只是当前输入的逻辑电平的函数,还与电路目前所处的状态有关的 逻辑电路. 同步有限状态机是同步时序逻辑的基础.所谓同步有限状态机是电路状态的变化只可能在 在同一时钟跳变沿时发生的逻辑电路.但状态是否发生变化还要看输入条件,如输入条件 满足,则进入下一状态,否则即使时钟不断跳变,电路系统仍停留在原来的状态.利用同 步有限状态机可以设计出极其复杂灵活的数字逻辑电路系统,产生各种有严格时序和条件 要求的控制信号波形,有序地控制计算逻辑中数据的流动. 6.2 数字逻辑电路的构成 y 组合逻辑:由与、或、非门组成的网络.常用的组合电路有:多路器、数据通路开 关、加法器、乘法器…. y 时序逻辑: 由多个触发器和多个组合逻辑块组成的网络.常用的有:计数器、复杂的 数据流动控制逻辑、运算控制逻辑、指令分析和操作控制逻辑.同步时序逻辑是设计 复杂的数字逻辑系统的核心.时序逻辑借助于状态寄存器记住它目前所处的状态.在 不同的状态下,即使所有的输入都相同,其输出也不一定相同. 组合逻辑举例之一:一个八位数据通路控制器 它的Verilog HDL描述如下: `define ON

1 '

b

1 `define OFF

1 '

b

0 wire ControlSwitch;

wire [7:0] Out, In;

assign Out = (ControlSwith = = `ON) ? In :

8 '

h00;

它的逻辑电路结构如下: 图6.1 数据通道开关的逻辑图

第六章 运算和数据流动控制逻辑

109 它对数据通路所起的作用如下: 组合逻辑举例之二:一个八位三态数据通路控制器 它的Verilog HDL描述如下: `define ON

1 '

b

1 `define OFF

1 '

b

0 wire LinkBusSwitch;

wire [7:0] outbuf;

inout [7:0] bus;

assign bus = (LinkBusSwitch== `ON) ? outbuf :

8 '

hzz 它的逻辑电路结构和对数据通路的作用如下: 它与组合逻辑举例之一的差别只在前者在开关断开时输出为零,而后者在开关断开时输出 为高阻,即与总线脱离连接. 6.3 数据流动的控制: 图6.2 数据通道的开关和数据流波形图 图6.3 三态数据通道开关逻辑图和数据流通断波形图

第六章 运算和数据流动控制逻辑

110 我们知道,诸如加、减、乘、除、比较等运算都可以用组合逻辑来实现,但运算的输入必 须稳定一段时间,才可能得到稳定的输出,而输出要被下一阶段的运算作为输入,也必须 要有一段时间的稳定,因而输出结果必须保存在寄存器组中.在计算电路中设有许多寄存 器组,它们是用来暂存运算的中间数据.对寄存器组之间数据流动进行精确的控制,在算 法的实现的过程中有着极其重要的作用.这种控制是由同步状态机实现的. 开关逻辑应用举例: 设想下面的组合逻辑是一个乘法器,把输入的数乘 3,然后输出.因为乘法器是由门组成 的,所以会有延迟,从图上看,为了取得稳定的输出需要 10ns 的延迟.如果能有效地控制 Sn 的开关时间就可以取得稳定的输出,把运算结果存入寄存器. 设想下图中由开关 S1 和开关 S2 控制的两个组合逻辑都是运算逻辑,例如乘法器或加法器 等,而寄存器 A,B,C 是用来寄存运算的输入、中间和输出数据的.如果能与时钟配合来 精确地控制开关的闭合和断开,在寄存器中暂存的中间或输出数据都会是上一步运算的稳 定结果,而不会出现冒险和竞争的现象. 设想下图中由开关 S

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题