第六章 同步设计技术
关于使用同步设计还是异步设计,已有很多讨论。同步电路易于设
计和修改,并且和工艺关系不大,但是它通常不如异步电路效率高,即
占用芯片面积较大。异步设计通常需要有更高的设计技巧和经验。
对于 ASIC 设计而言,同步设计将优于异步设计,因为 ASIC 是 品
种多、批量小的一类 IC。然而,最好的 解决办法是开发一种功能很强
的高级综合系统,它可以生成自同步电路。这时,所生成的模块在内部
是局部异步的,但是在模块间是全局同步的。
前一章中说明了一些 ASIC 单元和设计技术中存在的问题,特别是
门控时钟和在锁存器中使用电平敏感异步清除。 本章将介绍解决这些问
题的若干同步设计技术,并引入一组基本同步部件,它们能够在分层设
计中作为标准部件。另外,还将叙述如何按照一套互相协调的设计原则,
用这些部件构成完全同步的系统。
6.1 同步的定义
我们需要明确同步的概念,因为它是形成同步设计的基础。首先,
我们采用严格的定义。
对于静态同步设计,一系统是同步的,假若:
1. 每个边缘敏感部件的时钟输入是一次时钟输入的某个函数;并
且仍是像一次时钟那样的时钟情号。
2. 所有存储元件(包括计数器) 都是边缘敏感的,在系统中没有电
平敏感存储元件。
这个定义和结构化VLSI设计中的同步序列机的定义是一致的,一同
步序列机定义为是由一组合网络组成的, 且具有从输出端经过边缘敏感
存储元件向输入端的反馈。 同步性要求在存储元件中仅在有效时钟边缘
上存在状态变化。
在本章 中,给出一组符合静态同步系统定义的全同步电路元
件。在后面的章节中,还将讨论将此严格定义稍加放松的系统,以便采
用电平敏感锁存器和 RAM。
6.2 基本的同步部件
构成同 步基本部件基础的是边缘
敏感 D 型触发器(图 6-1)。其基本性质
为,在时钟(ck)输入的上升边之后,d
输入端的逻辑值出现在 q 输出端,而其
补值出现在 q 非输出端。这一过程就是
取样过程。
图 6-1 边缘敏感 D 型触发器
D 型触发器受到一些定时限制,即
建立时间、保持时间和最小时钟宽度,
如图 6-2 所示。
6.3 同步清除 D 型触发器
我们希望 ASIC 有一个性能,即全
局复位。这是一个测试要求;在后面
还要详细讨论。ASIC 设计中应避免使
用异步清除 D 型触发器(它破坏了 6.1 节中所述同步系统的两个条件),
应代之以同步清除。 这样就产生了第一个新的基本部件——带同步清除
的 D 型触发器(图 6-3)。它用于无条件锁存数据。其真值表(d 在时钟上
升边取样)如表 6-1:
图 6-2 D 型触发器的定时限制
注意;加用缓冲器以增大驱动强度。许多 D 型触发器的驱动能力差,
需要在其输出端加缓冲。
6.4 带使能端的 D 型触发器(E 型触发器)
最有用的存储单元之一
是一种锁存器,它能够保持一
个数据直到通知它锁存另一
数据时为止。由这一要求得出
“允许”触发器或称为 E 型触
发器(图 6-4)。它有一个从其
输出端到其输入端的反馈环
路,使其能保持数据长达若干
个时钟周期。
图 6-3 同步清除的 D 型触发器
若 E 型触发器被禁止(输
入 e 为低),则多路选择器选
择 q 输出,故经过下一时钟边
缘后其状态仍然不变。若 E 型
触发器在允许状态(输入e为高), 则d输入的值被时钟取样至q输出端。
其真值表如下(d 在时钟上升边被取样):
图 6-4 带使能端的 D 型触发器
E 型触发器用于有条件地
锁存数据。由它产生出下列用
于描述同步逻辑元件的名词:
图 6-5 用传输门的 E 型触发器
1. 允许元件具有一控制
线(允许线),它把此元件转换
至有效状态
或无效状态。在有效状态(上
面真值表中末两行),电路的
状态在每一时钟上升边时可
以改变。在无效状态(上面表
中第 2 行),电路的状态在连
续的时钟周期中始终保持不
变。
图 6-6 用与非门的 E 型触发器
2. 自由运行电路元件没
有允许线。它在每一时钟上升
边都可改变状态。同步清除 D
型触发器就是一例(图 6-1)。
在 ASIC 的 CAD 系统的基本部件库中没有 E 型触发器时,可用两种
方法设计。一种方法是用一传输门(图 6-5),另一种方法是使用一 3 输
入“与或非”门(图 6-6)。后者特别保险并且硅片利用率高。
6.5 T 型触发器
一种在同步计数器中特
别有用的触发器是 T 型触发
器或称反转触发器(图
6-7)。
当 t 输入端无效时,锁
存器在时钟上升边仍然保持
状态不变。在 t 有效时,电路在时钟上升边之后即取补状态。真值表如
下;
图 6-7 T 型触发器
像 E 型触发器那样,T
型触发器可以用一个传输门
多路选择器(图 6-8)或一 3 输
入端“与或非”门(图 6-9)实
现。
图 6-8 用传输门的 T 型触发器
对于某些应用,例如并行
负载计数器,要求使用 E 型和
T 型混合触发器。这样混合电
路的原理示于图 6-10。它用逻
辑门实现的方法示于图 6-11。
注意,由于扇入问题,应避免
使用 4 输入端“或非”门。
图 6-9 用逻辑门的 T 型触发器
E/T 触发器有四种工作
状态:复位、无变化、反转和
数据输入,如下表所示。所需
状态由外部逻辑选择。
在上述电
路中, “允许”
优先于“反馈”。
若在图 6-10 中
把两个多路选
择器的次序对
调,则此优先等
级也改变了。
图 6-10 混合(E/T)型触发器
图 6-11 混合(E/T)型触发器的实现
6.6 同步 RS 触发器
同步 RS 触发器是从异步的改进而来,后者存在严重缺点,如上一
章所述。同步 RS 触发器示于图 6-12 中。注意它有两个清除端,一个本
地清除 r 和一个全局清除 gc。
我们注意,当复位端 r 和置位端 s 都为高电平时,没有不确定状
态。在同步 RS 触发器中复位优先于置位,其真值表(在时钟上升边沿取
样)为:
这种锁存
器的主要用途
是用在号志
中,以及在全
同步系统中处
理请求之处。
它还可以用于
有条件地执行
一系列状态。
图 6-12 同步 RS 触发 器
6.7 R 型触发器
在这组基本部件中,只有请求(R 型)触发器具有一个异步电平 敏
感输入,后者用于应答信号,同步清除用于全局复位。它有两种结构,
示于图 6-13 和图 6-14 中。其真值表如下:
R 型触
发器的使用
在下一章讨
论信号交换
(握手)时再
详述。
图 6-13 R 型触发器之一
图 6-14 R 型触发器之二
6.8 状态产生
本章下面部分将讨
论如何用这些基本部件
构成全同步系统。在
所有标准部件中最重要
的是 同步二进计数器
(SBC)(图 6-15)。SBC 有
许多用途,其中一种即
状态产生。
一同步二进计数器
构成大多数同步电路的骨干。电路的全部控制状态是从 SBC 译码而来。
图 6-16 示出一种同步电路的一般形式, 它受作为状态产生器使用的 SBC
所控制。其各点波形的时间关系图示于图 6-17。
图 6-15 同步二进计数器
以这种方式受控的同步电路可以认为是一个状态机, 它按固定的状
态周期工作。这种控制技术可以推广到控制作为状态机的一片 ASIC。
关于状态机的详细讨论可以参看有关教科书。
图 6-16 计数器的同步电路
图 6-17 各点波形的时间关系
6.8.1 状态的无条件执行
通常用单状态译码器完成状态的无条件执行,此译码器连接在主计
数器上。图 6.8.4 示出实现这一原理的连续平均电路。它顺序取 16 项
数据,并输出其和。每 16 项数据之和锁存于输出寄存器,并将累加器
清除。
图 6.8.4
在图 6.8.5 中给出一个 RS 触发器电路应用的例子。它能将一状态
序列编码,在一数据序列的末尾附加上循环冗余码(CRC)的比特。在状
态 m,RS 触发器使多路转换开关改为从 CRC 产生器选择校验比特输出。
图 6.8.5
在状态(m+n),RS 触发器复位,使多路转换开关重新选择数据输出。同
时,CRC 产生器和同步二进计数器也复位。
辅助计 数器可以用来完成许多功能,这种计数器通常不是二进制
的。例如,模 10 计数器可以完成二进制向 BCD 码的变换(图 6.8.6)。
此外,在数据分帧和电视或计算机显示等处也用非二进制计数器。
图 6.8.6
6.8.2 状态的有条件执行
在根据无条件执行状态序列原则设计的电路中, 转移仅限于用以实
现非二进制的无条件转移类型。 其他各种电路要求用有条件转移或有条
件执行一状态序列。
图 6.8.7
对于下列各项
中至少两项进行比
较,可以有条件地改
变其控制流程,即电
路的内部状态、电路
中一项或几项数据
的值以及原始输入
数据。进行判断的方法,可以用译码器进行静态比较或固定比较,或用
比较器对变量作相等或不等(大于或小于)比较, 或作寄存器与寄存器比
较。图 6.8.7 示出这些情况的最一般的形式:比较电路的内部状态、电
路中数据值和原始输
入,以决定是否有一允
许状态。
图 6.8.8
图 6.8.8 给出一
个比较具体的例子。它
示出用于控制执行一
系列操作的 RS 触发
器,其操作的控制决定
于一寄存器中的数据
之值。
图6.8.9另一个取
决于数据值的有条件
控制的例子是分频(除
法)。分频通常由一连
续相减或“移位和”相
减过程实现。在每次操
作的末尾,对当前数据
值判断一次,以决定是
需要进行另外的操作,
还是全过程已经完成。
图 6.8.9
为了实现电路内部的控制,计数器受其复位输入(它通常将计数值
置为零)或“计数允许”(它可以使计数停止)控制。锁存器受其“允许”
(允许接受新数据)控制。并行置位计数器通过其置位和“计数允许”受
到控制。
有条件执行的操作有三种方式:强迫(立即)式、等待式和单步(增
量)式。强迫执行通常由复位完成,等待 由允许实现。单步式是在计数
器处于“允许”的一个时钟周期中,在执行某一状态时将其值增加 1。
图 6.8.9 示出一个增量式同步二进制计数器。图 6.8.10 给出一个有条
件等待式同步二进制计数器,而图 6.8.11 示出一个有条件强迫式同步
二进制计数器。
图 6.8.10
图 6.8.11
6.9 中央允许产生器
在上一章
中提到的属于
用不良设计方
法设计的中央
时钟产生器,
可以用等效的
同步式电路取
代,后者即中
央允许产生
器。这一设计
中采用了本章
介绍的所有设
计方法。图
6.9.1 中示出
的简单允许产
生器能够推广
到和任何有条
件或无条件状态的执行相结合。
图 6.9.1
6.10 同步清除
虽然本 章中作为单元电路介绍的同步清除在某些情况下功能上等
效于异步清除, 但是当一电路有全局复位功能时优先选用同步清除的理
由如下:
1. 某些电路具有自己的同步清除功能。可以将其用于全局清除,
以节省硅片面积。
2. 混合使用全局异步清除和局部同步清除会使电路功能混乱,导
致产生异常情况。
3. 在许多情况下,采用同步清除的电路比异步的占用较少空间。
4. 使用 RAM 和寄存器一类的元件,在初始化时,要求在连续几个
时钟周期中清除,这意味着同步清除。
5. 系统可能希望当运行时清除 ASIC。若这是异步清除,则将遇到
长复位脉冲和短复位脉冲的所有问题(见 5.13.12 和 5.13.13 节)。
6.11 时钟歪斜的消除
同步设计的最重要要求之一是将时钟歪斜减小到可以接受的程度。
假设时钟缓冲符合第五章中的规则,则还有另外两种设计方法可以采
用。
第一种情况是从一 D 型触发器的 q 输出端直接馈给另一触发器的 d
输入端时,延迟不足以满足第二个 D 型触发器对保持时间的要求。解决
方法是使用一个低驱动强度的源 D 型触发器,并且不加缓冲。高的相对
扇出有助于改进保持时间。
第二种 设计方法是在各个受时钟控制的部件之后分别接入缓冲。
器,并在两个缓冲器输出端之间接一平衡网络。若两支路由于某种原因
不平衡,则有一小电流通过网络,从而消除时钟歪斜。
6.12 小 结
同步 ASIC 电路设计的要点如下:
1. 同步系统的所有边缘敏感单元都对同一时钟边缘响应,并且不
使用电平敏感存储单元。
2. D 型触发器按下列方式构成一套同步锁存器:
(1) 同步清除 D 型触发器用于无条件锁存数据。
(2) E 型触发器用于有条件地锁存数据,并在其无效状态连续
在几个时钟周期内保持数据。
(3) T 型触发器用于同步计数器。
(4) 同步 RS 触发器没有模糊状态,用于号志,并在全同步系
统中处理请求。
(5) 带异步电平敏感复位端的 R 型触发器用于异步信号交换
(握手)。
3. 同步系统常由一个或几个状态产生器控制;状态是有条件的或
无条件的。
4. 在非中央控制(用多于一个状态产生器)的场合,控制方法总能
分解为有条件和无条件地执行状态。有条件执行总能分解为等待、强迫
和增量方式。
5. 时钟歪斜是同步电路设计中主要应考虑的问题,须将其减小至
可以接受的水平。