时序逻辑网络

下载
第10章时序逻辑网络
以时序方式执行操作的能力是数字网络的最重要方面之一。
10.1 时序逻辑网络的概念
时序逻辑网络是其输出取决于当前输入和前一事件的数字逻辑网络。时序逻辑网络在日
常生活中非常普遍。事实上,台式计算机系统即是一个复杂的时序逻辑网络。
下面我们以一个简单的例子说明顺序处理的基本概念。自动取款机允许用户远程处理银
行帐户提款事务。用户需遵循一定的步骤来操作自动取款机。最初的操作步骤对各种处理事
务而言是相同的:
1) 插入银行卡。
2) 输入用户个人密码(即P I N )。
该步骤之后,用户响应机器的提示并选择要处理的事务。比如假定用户选择
3) 从帐户中提款。
则自动取款机提示用户输入的提款数目,或许你输入
4. $20.00。
你即可通过自动取款机收到相应的钱款。自动取款机发出下一个事务处理的提示符。
上述日常生活中的处理事例说明了顺序过程的基本概念。一旦系统时序初启,即可处理
各种事务,用户通过以一定的顺序输入数据选择相应的处理事务,且某一步的操作结果决定
了下一步的操作。本例中,计算机内的软件运行决定了操作的顺序。
除了操作的顺序取决于逻辑部件的连线和存储单元外,时序逻辑网络的机理与前例类似。
给定一组输入数据,逻辑门构成的网络完成相应的操作。操作结果计算出来时,网络会记录
当前操作的一些结果或所有结果以便为下一次计算所用;下一次计算依赖于当前计算的结果。
我们以计数器单元为例来说明时序逻辑的一些特征。图1 0 - 1为一个简单的计数器,其输
入端X接收脉冲输入。计数器对到达输入端的脉冲数目进行计数,计数器接收的脉冲数目用3
位二进制数n2n1n0表示。由于该数对应的十进制数范围为0~7,将计数器的输出R定义为:
R = 0 计数结果为0~6中的数( 1 0 - 1 )
R = 1 计数结果为7,输出在下一个脉冲被复位至0
n2n1n0的值下述顺序循环变化:
0 0 0→0 0 1→0 1 0→0 1 1→1 0 0→1 0 1→1 1 0→1 1 1→0 0 0⋯ ( 1 0 - 2 )
由图1 0 - 1易知,计数器的输出R由下式给出:
R=n2n1n0 ( 1 0 - 3 )
R可以检测出计数值111 .
下面介绍一些术语。我们将n2n1n0的每个可能的值定义为机器的一个状态。这说明计数器具有
8个可能的状态。为描述电路的操作,引入了状态图。状态图说明了( 1 )时序逻辑电路的各个状
态,( 2 )从一个状态到另一个状态的所有可能的状态转移情形。状态图的基本要素如图1 0 - 2所
第10章时序逻辑网络279
示,它由一个圆和一些箭头组成,圆内列出了相应的状态,而箭头则分别表示到达本状态和
离开本状态的状态转移关系。一个状态被认为是稳定的,除非某个操作使得电路变为另一状
态。在状态图中,用X/R表示引起状态变换的输入X及变换时的输出值R。每一状态都应标识
其在各种可能输入X下的操作情形。
图10-1 简单的计数器网络图10-2 状态的符号表示
现在我们来构造计数器的状态图。由已定义的操作次序易知:输入脉冲X=1引起电路向下一
个状态转换;若计数值n2n1n0=111时,计数器的输出R为1,否则输出R为0。其状态图如图1 0 -
3所示。从状态图中的任意一个状态出发,每接收一个输入脉冲(X= 1 )电路沿箭头方向进入下
一个状态,当接收到第8个脉冲时,电路回到起点状态同时进行循环计数操作。状态图提供了
描述时序逻辑网络行为的全部信息,可以根据状态图设计时序逻辑网络。
图10-3 计数器的简化状态图
10.1.1 时序逻辑网络的要求
为构造时序逻辑网络,至少需要:
• 一个执行布尔操作的组合逻辑网络;
• 存储以前操作结果的存储单元。
存储器的输出组合逻辑网络的输入从一个状态到下一状态顺序依赖。我们将讨论限制于
同步时序逻辑网络,即要求:
• 对操作事件进行同步的时钟信号ø(t)。
时钟ø(t)的重要特征如图1 0 - 4所示。时钟周期的单位是秒,用符号T表示,时钟频率可由下式
计算:
( 1 0 - 4 )
输入脉冲计数器
数字
Add 1
下一个状态
状态
下一个状态
X = 输入造成转换
R = 输出
重新启动
下载
特别应注意到时钟波形每过时间T重复一次。时钟波形的重复特征为操作提供了有效的同步机
制。如图所示,我们选取数据加载的时刻t 作为当前时钟周期的参考点。t -T称为前一时钟周
期,t+T称为下一个时钟周期。为简化表示方式,我们将这些时刻分别记作t-1和t+1。
图10-4 时钟波形
我们通过时钟ø(t)控制状态元件的操作以使系统同步。状态元件用于表示和保存时序系统的状
态,为简化讨论,我们一般采用如图1 0 - 5所示的正沿触发的状态元件D F F。这意味着状态单元
D F F在时钟从0到1 的转换期间接收输入数据D;在其他时间D F F不进行任何操作,即输入数据
D不改变状态或输出结果的值。
图10-5 正沿触发的DFF触发器
D F F触发器具有很好的特性,可用作状态元件,这一点在图1 0 - 6中作了概括说明。D F F中与其
输出Q对应的输入信号用DQ表示,在后面的讨论中一直采用该种方便的表示形式。从D F F的时
序图易知:时钟周期t 接收到的输入数据DQ在周期(t+1 )时成为其输出Q。所以下式
Q(t+ 1 ) =DQ(t) ( 1 0 - 5 )
描述了D F F的存储特性,与此等价的表达式
Q(t) =DQ(t-1 ) ( 1 0 - 6 )
说明当前的输出Q(t)即为前一时钟周期的输入数据。这一特性是分析以D触发器作状态元件的
同步时序逻辑电路的基础。
图10-6 触发器DFF的特征
10.1.2 时序逻辑网络的基本结构
时序逻辑网络具有多种结构形式,下面举例说明其中的两种主要结构。
图1 0 - 7所示的基本结构包含了时序逻辑网络的许多重要特征。该基本结构由二部分构成:
以#1和#2标识的两个组合逻辑块及以“ M”标识的状态元件(状态元件受时钟控制)。所以时
280 数字系统设计基础教程
下载
[秒]
输出
数据D在时钟正沿触发
a )状态元件b) 数据同步
输入输出
a ) 状态之中b) 状态特性
当前输入= 下一输出
序逻辑电路都具有存储元件,但存储元件的位置及其与组合逻辑块的连接方式可能会与图中
的结构形式有所不同。
在图1 0 - 7所示的时序逻辑电路的基本结构中, A、B、C为时序电路的外部输入,它们也作
为两个组合逻辑网络(随机逻辑结构或规则逻辑结构)的输入。组合逻辑块# 1产生两个内部信
号x和y,x和y在下一个时钟的上跳变沿存入存储单元M。存储单元的输出以a、b表示, a、b
分别为前一时钟周期的x、y,即:
a(t) =x(t- 1 ) (1 0 - 7)
b(t) =y(t- 1 )
组合逻辑块#2的输入为内部信号x、y与外部输入A、B、C,其输出函数为f0、f1。理解时序逻
辑网络行为功能的关键是要认识到输出信号f0、f1一般情况下为外部输入信号与内部存储单元
产生的信号的函数:
f0= f0(A,B , C;a,b) ( 1 0 - 8 )
f1= f1(A,B,C;a,b)
上述情形说明了前一输入信号( x、y )如何影响下一个状态。换句话说,状态机在某一时钟周期
内的状态和操作在一定程度上决定了其在下一个时钟周期的状态及操作,这一点即是我们将
这一类数字系统称为时序逻辑网络的原因。
最后,我们注意到本例中的存储部件必须使用两个状态元件(触发器)来保存两位信息x、y。
状态机可能的状态数为2 = 4,各状态表示为
( a b ) = ( 0 0 ) , ( 0 1 ) , ( 1 0 ) , ( 11 ) (1 0 - 9)
其状态图中有4个节点,每一个节点表示一个状态。
图10-7 时序逻辑网络的一种结构
时序逻辑网络的另一种基本结构如图1 0 - 8所示。
在该结构中,组合逻辑块产生时序逻辑网络的
输出信号g0、g1及状态元件的输入信号x、y。状
态元件M的输出a、b与外部输入A、B及C共同决
定时序逻辑网络的输出信号及其下一个状态。
我们还可以画出时序逻辑网络的其他可能
的结构形式,但各种结构形式有一点是相同的,
即:时序逻辑网络由一个或多个组合逻辑块及
数个状态元件构成。
第10章时序逻辑网络281
下载
输入逻辑块
逻辑

图10-8 状态机的另一种结构
组合逻辑块
输入输出
10.2 时序逻辑网络分析
我们先通过分析一个给定的时序电路来验证时序逻辑电路的操作与重要概念。然后,介
绍时序逻辑电路的设计及其特性。
10.2.1 单状态变量电路
下面从简单的时序逻辑电路出发介绍单状态变量的时序逻辑电路的分析方法。
在系统层次上,单状态变量的时序逻辑电路可表示为图1 0 - 9所示的形式,其输入为c、输
出为T、状态变量用X表示,但在该层次上状态变量X难以
直接观察到。由于该电路只有一个状态变量X,故其近有
两个可能的状态,即X=0和X=1。欲分析单状态变量的
时序逻辑电路的行为功能,须先从时序电路的逻辑结构
出发提取状态机的详细信息。
例1 考虑图1 0 - 1 0 a的电路,该电路采用图1 0 - 8所示的结构形式,异或门X O R相当于图1 0 - 8中
的组合逻辑块。时序逻辑电路分析的第一步是写出描述其逻辑行为的所有关系式。因为c与X
均为异或门X O R的输入,故当前时刻t的输出值T由下式确定:
( 1 0 - 1 0 )
DX(t)表示触发器D F F的输入,由于输出T(t)是触发器D F F的输入,故状态机的下一个状态的值
X(t+ 1 )表示为:
( 1 0 - 11 )
为描述时序逻辑电路的操作情形,先根据式( 1 0 - 1 0 )、( 1 0 - 11 )推导出相应的状态表。状态
表列出了状态机在时间t 的输入、输出、当前状态及其下一个状态(时间t+ 1时的状态)。图1 0 -
1 0 a的时序电路所对应的状态表如图1 0 - 1 0 b所示。可利用当前时间t的输入c(t)及状态变量的值
X(t)计算状态机在当前时间t 的输出结果T(t)。由式( 1 0 - 11 )易知,状态机的下一状态X(t+ 1 )即
为状态机的当前输出T(t)。状态表表明了时序机的下一状态与当前状态的联系。
图10-10 两个状态的时序逻辑电路
图1 0 - 11为图1 0 - 1 0 b的状态表所对应的状态图。由于状态表中只有X=1和X=0两个状态,故状
态图中只需两个节点。若X=0为当前状态,从状态表可知:当输入c=0时网络将保持当前的
状态,而当c=1时网络将转为X=1的状态;类似地,若X=1为当前状态,当输入c=0时网络
保持当前的状态不变,而当c=1时网络将转为X=0的下一个状态。时序网络的4中可能的状态
282 数字系统设计基础教程
下载
图10-9 双状态的网络
输入输出
当前值下一值
a) 电路b) 状态表
转移及相应的输出结果T在状态图中用c/T的
形式表示。时序网络的状态图能将时序机的
行为功能形象地表示出来。例如,图1 0 - 11的
状态图说明c为控制位,当c=0时系统的状态
不变,而c=1时系统的状态发生翻转。
例2考虑图1 0 - 1 2所示的电路。该电路有两
个输入x、y,一个状态元件,其状态用A表示。
易分析出网络的输出f由下式确定:
例2 考虑图1 0 - 1 2所示的电路。该电路有两个输入x、y,一个状态元件,其状态用A表示。易
分析出网络的输出f由下列确定:
( 1 0 - 1 2 )
触发器D F F的当前输入DA(t)为:
( 1 0 - 1 3 )
时序电路的下一个状态A ( t + 1 )为:
( 1 0 - 1 4 )
式(10-12)~ (10-14)构成时序网络的形式描述。
从形式描述出发,根据时序机的当前状态A(t)
及其输入x(t)、y(t)易推导出时序机的输出f(t)
和状态元件的当前输入DA( t ) 及下一状态
A(t+ 1 ),构造出如图1 0 - 1 3所示的状态表。该
状态表的形式与前例中的状态表类似,包含
了当前输入x(t)、y(t)、当前状态A(t)、输出f(t)
及时序机的下一状态A(t+ 1 )。状态表中各项的
值是由式(10-12)~ (10-14)计算出来的,可用下面的显式形式对其验证:
( 1 0 - 1 5 )
式( 1 0 - 1 5 )中的各项所包含时间变量可方便地
表示出其在当前状态及其在下一个状态的值。
可由状态表直接构造出时序机的状态图。先
假设A(t)=0为当前状态。由于时序网络只有
单个状态变量A,其输入引起的下一状态变化
仅有两种情形:要么保持在A=0状态不变,
要么转移至A=1状态。由状态表的列A( t )、
A(t+ 1 )可观察到:式( 1 0 - 1 6 )表示的输入组合与
A(t) = 0、A(t+ 1 ) = 0相对应;而式( 1 0 . 1 7 )表示的
输入组合与A(t) = 0、A(t+ 1 ) = 1相对应。
( 1 0 - 1 6 )
第10章时序逻辑网络283
下载
图10-11 图10-10的时序电路的状态图
图10-12 一个2—输入、单个状态元件的时序电路
当前状态当前输入当前输出下一状态
图10-13 图10-12所示的时序电路所对应的状态表
( 1 0 - 1 7 )
若A(t)=1为当前状态,则式( 1 0 - 1 8 )所示的输入组合使状态机保持状态不变,即A(t+ 1 ) = 1;而
式( 1 0 - 1 9 )所对应的输入组合则使状态发生翻转,即A(t+ 1 ) = 0。
( 1 0 - 1 8 )
( 1 0 - 1 9 )
将状态的转移信息与输入、输出信息结合即可构造出如图1 0 - 1 4所示的状态图,状态图中包含
了所有与时序机行为功能有关的信息,更有利于跟踪、理解时序机的操作。
图10-14 图10-12的时序电路所对应的状态图
例3 考虑图1 0 - 1 5所示的时序电路,该电路的结构与图1 0 - 7的时序电路结构形式类似,电路的
输入为u、v,输出为g,触发器D F F所保存的状态变量为R,其输出函数为:
( 1 0 - 2 0 )
上式中各项均为时序机在当前状态( t 时刻)的值;其下一状态由下式确定:
( 1 0 - 2 1 )
从式( 1 0 - 2 0 )、( 1 0 - 2 1 )构造出来的状态表如图1 0 - 1 6所示。状态表中包含当前状态下的输入
u(t)、v(t )、输出g(t )及其下一状态R(t+ 1 )。图1 0 - 1 7的状态图可由图1 0 - 1 6的状态表直接导
出。
图10-15 例3对应的时序电路图10-16 图10-15的电路所对应的状态表
284 数字系统设计基础教程
下载
现值下一个状态
图10-17 图10-15的电路所对应的状态图
10.2.2 多状态变量电路
时序逻辑电路的状态数目随着状态元件数的
增加而增大。例如,若时序电路中有2个触发器,
则其可能会有4个状态;有3个触发器的时序电路
则可能会有8个状态。增加状态元件数目有利于设
计能完成复杂处理的时序电路,同时时序电路本
身也变得非常复杂,往往需要借助于计算机辅助
工具对其加以分析。时序电路的状态变量的数目
随着其中状态元件数目的增加而增大。尽管时序
电路的状态变量数目增大了,其基本分析方法是
相同的。
考虑图1 0 - 1 8所示的时序电路,该电路有一个
输入S、两个输出ax和ay、两个状态变量x、y。电
路的状态为:
( 1 0 - 2 2 )
其中状态变量x为两个异或门X O R的输入,而状态变量y则反馈至下面的异或门X O R的输入端。
电路分析的第一步是写出其在当前状态下的输出函数,相应的输出函数如下:
( 1 0 - 2 3 )
时序电路的下一状态与其当前状态的关系如下:
( 1 0 - 2 4 )
分析的第二步是由上述表达式易构造出如图1 0 - 1 9所示的状态表。状态表中列出了S、x、y
的所有可能的组合及由这些组合计算出的当前状态下的输出和下一状态。
分析的最后一步是由状态表构造出状态图。状态图的4个节点分别表示4个状态,状态之间
的转换及时序机的输出可直接由状态表分析出来。状态表的每一行都指明了时序机的当前状态
及其当前输出和下一状态,由此可得出时序机的状态变化及其输出情形。相应的分析结果在状
态图1 0 - 2 0中用S/axay表示确定的转换。从图1 0 - 2 0的状态图可以看出:状态( 0 0 )与状态( 0 1 )之间不
第10章时序逻辑网络285
下载
图10-18 两个状态元件的时序电路
存在直接的转移关系。为实现从状态( 0 0 )到
状态( 0 1 )的转换,必须先经过状态( 11 );而
从状态( 0 1 )到( 0 0 )的状态转移顺序为( 0 1 )→
( 1 0 )→( 0 0 )。另外,本例中的电路只有一个
输入信号S,S的值决定了时序机在各个状态
下的具体行为,即输入S为时序机的控制位。
状态图的作用很明显:提供易于理解
的时序系统行为的图形描述方式。事实上,
状态图和状态表所包含的信息完全相同。
时序逻辑网络的设计一般从状态图开始,
有必要讨论由状态图到状态表的构造方法。
考虑图1 0 - 2 1的状态图。该状态图中有4个状态节点,描述了具有2个状态变量的时序系统,
其状态变量不妨以A、B表示;时序机的状态保持或转移取决与2个输入信号X、Y;时序机没
有规定输出情形。为构造状态表,我们首先列出每一个当前状态下的输入信号的各种组合情
形。由于只有两个输入信号X、Y,故每一个当前状态下只有4种可能的输入组合,如图1 0 - 2 2
的状态表中的第1表列所示。状态表的第3表列表示下一状态,具体的下一状态由当前状态和
输入信号决定,这一点可由状态图直接导出。例如,考虑状态表中当前状态为( 0 0 )的一组输入
组合,表中列出了输入的可能组合(X Y) = ( 0 0 )、( 0 1 )、( 1 0 )、( 11 ),由状态图可知相应的下一状
态分别为(A B) = ( 0 0 )、( 0 1 )、( 1 0 )、( 1 0 )。
图10-21 由状态图描述的时序逻辑网络
286 数字系统设计基础教程
下载
图10-19 两个状态元件的时序电路所对应的状态表
图10-20 两个状态网络的状态图
图10-22 与图10-21的状态图相对应的状态表
10.2.3 时序电路的一般特征
本节讨论的几个时序电路具有相似的特征。从前面的时序电路分析中我们掌握了时序电
路的一般特征:
时序电路(机)的当前状态和输入信号决定了其下一状态及其输出;
系统的状态保持或变化情形取决于系统的输入及其当前状态;
时序机的状态图和状态表是相同的设计信息的两种不同的表示形式。
所有的时序电路均具有这些特征,时序网络的复杂性不会改变其基本特征。
10.3 时序电路设计
前一节讲述了时序电路行为的分析方法。时序电路的设计是从状态转换表(图)出发,设计
出能实现这种状态转换的时序逻辑电路,这与时序电路分析恰好相反,处理相反的一类问题。
状态存储元件是时序电路设计的关键器件,在下面的讨论中,我们采用具有单个输入D(t)
和单个输出Q(t)的边沿触发的D触发器作状态存储元件。在分析一个含有一个D F F触发器的电
路时,我们根据给定的输入值来计算输出值;对时序电路设计问题,要求我们回答与之相对
立问题:
给定输出序列,什么样的输入序列会引起这些变化?
图10-23 DFF激励表
第10章时序逻辑网络287
下载
输入现时状态
下一个状态
输入输出
从上一
状态
到下一
状态所需输入
这些信息由D F F的状态变化方程来提供。并且还可由图1 0 - 2 3所示的激励表来表述,这个
表通过列出每一个可能的变化和输入引起的变化来说明触发器F F的操作。我们可以从这一点
出发,进一步讨论时序逻辑电路的设计问题。
( 1 0 - 2 5 )
假设我们要设计工作情况如图1 0 - 2 4的状态图所示的时序逻辑电路。从状态图可以推断出
电路的下述特征:
• 状态图中有两个状态“ 0”和“1”,时序网络有唯一的状态变量,以A(t)表示;
• 由于变化是0、1形式,有单个输入变量X(t)和一个输出函数f(t)。
上述特征定义了系统的总体结构。
一旦定义了所有的布尔数量,即可根据状态
转换图构造时序电路的状态表,构造的结果如图
1 0 - 2 5所示,所有的当前状态值A(t)以及下一个状
态值A(t+ 1 )已经被列出来,我们已经假设使用一
个D触发器,并且另外在表中增加了一个专栏,
这个告诉我们相对于F F目前输入DA(t)的值,从当
前状态A(t)到下一个状态A(t+ 1 )的状态转移情形。
图10-25 根据状态图推断时序逻辑设计信息
时序电路设计过程的最后一步是根据状态表构造出能完成给定操作的时序逻辑电路。我
们将时序逻辑电路看成是由两个逻辑功能块组成,其输出分别为f(t)、DA(t)。因为f(t)是时序逻
辑网络的输出,故f(t)显而易见;DA(t)则更引含一些,我们需要构造出状态转移函数DA(t)以指
导电路连线,确保系统将作出正确的响应。在激励表中,有一个用于构造DA(t)的栏。
下面我们讨论细节的设计问题。可采用在第3章出现的技术求出f(t)和DA(t)的逻辑表达式。
方法之一是对每一个函数,构造如图1 0 - 2 5 b、1 0 - 2 5 c所示的卡诺图,由卡诺图产生各个函数
的无冗余的逻辑表达式:
( 1 0 - 2 6 )
因为时序逻辑网络的输入是x,输出是f,电路内
部连线如图1 0 - 2 6所示。状态变量A是一个内部
变量,没有外部联系。根据所示的方程,通过
给指定的两个门合理连线,然后通过状态变量A
把它们连在一起,这样就构成了电路。我们还
可以通过分析过程来检查我们所设计的逻辑网
络的正确性,这样做是有益的。
288 数字系统设计基础教程
下载
图10-24 由状态图定义的设计问题
现在值下一值
a) 状态表b) f(t)的卡诺图c) DA(t)的卡诺图
图10-26 完整的时序逻辑网络
10.4 二进制计数器
一个二进制计数器有一个输出,每来一个时钟脉冲,其输出所对应的十进制值增加1。尽
管可能增加控制输入,除了时钟f以外,计数器不需要任何其他输入。考虑到如图1 0 - 2 7所示
的电路,这个电路有两个输出,形成一个两位字A1A0。像在分析中见到的一样,这个电路由一
个两位循环计数器构成,为了使A1A0能从0 0循环变化到11,并且能自动重新开始计数。设计
的第一步就是要写出逻辑表达式,求出状态元件的输入与其状态间的关系:
( 1 0 - 2 7 )
而触发器F l i p - f l a p的操作由下述特征表达式给出:
( 1 0 - 2 8 )
图10-27 一个简单的二位计数器
图10-28 计数器特征
这些逻辑表达式允许我们构造出如图1 0 - 2 8 a所示的状态表,如果我们把A1A0的当前值与它
的下一个值相对照,我们可看出计数器输出的确按顺序循环:
( 1 0 - 2 9 )
相应的十进制数的转换顺序为:
( 1 0 - 3 0 )
计数器的状态转换如图1 0 - 2 8 b所示。由于计数器除时钟之外没有其他输入、除了触发器
第10章时序逻辑网络289
下载
a) 状态表b) 状态图
的状态输出外无其他输出,故状态图中没有标明状态转移条件;相反,每来一个时钟脉冲,
计数器改变一个状态,暗示系统要用指定的时钟信号来同步。
下面我们将计数器的设计方法加以扩展以检查三位计数器的设计。定义三位计数器的输
出字为A2A1A0,三位计数器的特性由如1 0 - 2 9所示的状态图来描述,状态图给出了电路的状态
变化情形:
( 1 0 - 3 1 )
相关的十进制值的变化为从0到7的循环变换。
图10-29 一个三位计数器的状态图
一个计数器的设计过程同任何时序逻辑网络一样,即有三个变量,我们需要用三个D触发
器来作状态元件, D2、D1和D0表示输入,相应的
输出分别为: A 2、A 1 和A 0,通常可以得出:
A2(t+ 1 ) =D2(t) A1(t+ 1 ) =D1(t) A0(t+ 1 ) =D0(t),D F F激
励方程同状态图接合在一起提供了足够的信息以
构造出如图1 0 - 3 0所示的状态表,这个表列出了当
前和下一个状态以及产生变化的D F F值。
设计过程的下一步就是要根据A2、A1和A0的当
前值求出每一个触发器的输入D2、D1、D0的逻辑
表达式,这些表达式以积之和( S O P )形式直接从表
中求出:
( 1 0 - 3 3 )
状态表的每一栏中包括所有的输入1,这些表达式提供所需的组合逻辑块的结构来构造组合逻
辑网络,最终的优化设计是将这些表达式简化到最简形式,然后用基本的逻辑门来实现。这
个过程能直接用布尔代数或卡诺图法来实现,对于D F F输入,选择卡诺图法给出如图1 0 - 3 1所
示的三个卡诺图,由于其被集合表示,所以,通过应用一般优化规则,这些函数就能简化成
下述形式:
( 1 0 - 3 4 )
290 数字系统设计基础教程
下载
图10-30 三位计数器状态表
现值
A2A1A0
下一值
A2A1A0
输入
D2D1D0
图10-31 卡诺图的简化
注意到D2的优化逻辑形式不是普通的简化形式而是采用相应的异或逻辑X O R形式A1ÅA2。
最后,我们可以用这些方程来构造如图1 0 - 3 2所示的逻辑网络,完成设计。
电路实现的一个可选方式是用一个可编程逻辑阵列P L A来直接产生S O P表达式。
基于与-或阵列的P L A的一般结构如图1 0 - 3 3所示。时序电路的重要特性就是输出A2A1A0
由逻辑系列输入,并且引起触发器的输入D2D1D0变化,内部连线细节如图1 0 - 3 4所示,这个设
计建立在与-或阵列的基础上,在此与逻辑产生所有可能的最小项m0到m7,即使一些组合的
确不出现在Dn触发器输入的公式中,一旦最小项被计算出来, 0代列允许设计者选择期望值项
通过提供一个接触点来相加。
图10-32 3位计数器逻辑网络
图10-33 PLA基本时序逻辑网络
第10章时序逻辑网络291
下载
a) D2 Map b) D1 Map c) D0 Map
板板
图10-34 对于3位计数器网络PLA布线
10.5 状态机的重要性
时序逻辑网络提供的功能通常跟数字技术紧密联系在一起。既然状态机能被设计成可响
应任何输入,并且提供了一个准确的响应,状态机器能被放在单独位置,其操作不需要人的
任何帮助,它们确实是现代自动化的基础。事实上,时序网络的应用只受限于人们的想像力。
例如,按一定时序连续操作的交通灯控制器、生产线上各设备的控制器,以及一个饮料分装
机器都能通过用专门的时序逻辑网络设计出来。
然而,计算机领域的革命使得时序电路的应用方面在广度及深度上产生了显著的变化。
普通的计算机集成块的价格急剧下降,在设计中应用这类芯片可不太考虑其价格因数。早期
的计算机集成块促使台式计算机得到了广泛应用,现在用几美元就能买到一片集成块,虽然
它们与最新的处理器比起来较弱,并且还不通用,但集成块是强有力装置,很容易通过编程
完成所需执行的任务。另外,被称作微控制器的专用集成块,在许多具体嵌入式系统的应用
中都可以找到,如激光打印机、小汽车和微波炉;一个微控制器是一个简单的计算机集成块,
与通用微处理器不同,其嵌入了专用的控制电路形式并可被应用至具体的控制系统中。像这
样的集成块经常通过时序网络的时序特性用软件编程实现相应的功能,而不需额外设计专门
的电路,就可提供一个性能价格比较好的设计。
即使硬件解决方案比计算机型方案优越,但工程师们一般不借助于门电路设计,简单案
例除外。相反,像现场可编程阵列( F P G AS)等通用逻辑器件允许人们采用先进的C A D工具
来完成复杂时序电路的设计,一套好的F P G A开发工具能把时序逻辑网络的状态图和状态表联
系在一起,并能确定F P G A中必要的连线情形。
目前,时序逻辑网络设计的趋向于采用软件方法和对逻辑器件编程的方法。这两者所涉
及的领域,要求我们学习数小时就能掌握,更详细的讨论可能超出这本书的范围,但很多关
于它们的优秀的书已经上市。
292 数字系统设计基础教程
下载
我们不但追求通用时序网络设计的更深设计,而且将更集中于选择状态机的单个类型计
算机。在这方面,这种重要结构能一个复杂的时序电路,它能接收输入,并作出响应,然后
产生影响下一指令操作的输出。然而,既然一个计算机大而复杂,我们将趋向于使我们的讨
论集中于系统结构设计领域并研究高层次设计方法。
10.6 问题
1. 考虑到图P 1 0 - 1所示的时序电路,在这个电路中, p是输入,f 是输出,A是状态变量。
(a) 确定f(t)和DA(t)的方程;
(b) 构造电路的状态表;
(c) 由状态表画出其状态转换图。
图P 10-1
2. 考虑本章中图1 0 - 1 0 a所示的时序电路,假设X O R 2门由一个O R 2门代替,其他的东西保
持不变。
(a) 构造出电路的状态表;
(b) 从新状态表中产生出状态图。
3. 从图P 1 0 - 2中的表中提供的信息表构造状态图。
图P 10-2
4. 构造图P 1 0 - 3中的状态表所描述的系统的状态图,注意到X是输出,A和B是状态变量。
图P 10-3
第10章时序逻辑网络293
下载
输入输出
下一
状态
现值
下一状态
A(t+1)B(t+1)
现值
x(t) A(t)B(t)
5. 根据图P 1 0 - 4所提供的表中信息为所描述的系统构造状态图。
图P 10-4
6. 根据图P 1 0 - 5中的状态图为所描述的网络构造状态表。
( a )状态变量为Q,输入字为d1d0;
(b) 由状态表中的信息设计电路。
图P 10-5
7. 图P 1 0 - 6中的状态描述了一个具有状态变量S1S0和输入X的系统,构造时序网络状态表。
图P 10-6
8. 用如图P 1 0 - 7所示的状态图构造出状态表, A1A0表示状态,X为输入变量。
图P 10-7
294 数字系统设计基础教程
下载
9. 考虑到一个4位二进制计数器。每来一个时钟脉冲,计数器值增加1。
(a) 构造出计数器的状态图,计数器有一个由状态字A3A2A1A0组成的输出
(b) 假设电路由具有输入D3、D2、D1、D0,输出分别为A3、A2、A1、A0四个D型触发器
组成,构造出相应的状态表
(c) 写出相对于状态变量A3、A2、A1、A0的各触发器F F的输入的逻辑函数。
(d) 设计出P L A实现的计数器电路
10. 考虑图P 1 0 - 8所示的时序电路,
(a) 构造状态表;
(b) 用状态表来构造状态图。
图P 10-8
11. 对图P 1 0 - 9中的时序电路,
(a) 构造状态表;
(b) 构造状态图。
图P 10-9
12. 对图P 1 0 - 1 0中的时序电路,
(a) 构造状态表;
(b) 构造状态图。
图P 10-10
第10章时序逻辑网络295
下载
13. 考虑到如图P 1 0 - 11所示的四状态时序电路。对该电路加以分析,构造出状态表来描述
它的工作。
图P 10-11
14. 图P 1 0 - 1 2中的状态图是一个时序探测器的例子。一般而言,时序探测器用于查看位输
入和检测出特殊的输入序列。图中符号X/Y表示输入值/输出值、d为输入变量, F为输出。研
究图P 1 0 - 1 2中的状态图,
(a) 构造时序探测器的状态表;
(b) 这个时序探测器能检测到哪种模式的输入序列?如何检测特定的输入序列?
(c) 构造能循环检测输入序列d= 0、d= 0、d= 0、d= 1(0 0 0 1)的时序探测器的状态图。
图P 10-12
296 数字系统设计基础教程
下载 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值