跨时钟域信号同步方法6种
异步时钟数据同步方法

异步时钟数据同步方法异步时钟数据同步是指在不同状态、速率或时钟域的两个电子设备之间传输数据时,确保数据的正确性和同步性。
因为不同的状态、速率或时钟域可能导致数据传输的不同步,容易引发数据错误或丢失。
为了解决这个问题,可以采用以下几种方法进行异步时钟数据同步。
1. 同步异步转换器(Synchronizer):同步异步转换器是常用的一种方法,它可以将两个不同时钟域的信号之间建立同步关系。
通常,一个同步异步转换器由两级触发器(Flip-flop)构成。
第一级触发器根据初始时钟域的时钟信号进行触发,而第二级触发器根据目标时钟域的时钟信号进行触发。
这样,可以确保在目标时钟域接收到正确同步的数据。
2. 异步FIFO(First-In-First-Out):异步FIFO是一种具有先进先出功能的存储器,可以在不同时钟域之间传输和同步数据。
异步FIFO通常包括读指针和写指针,用于控制数据的读写和同步。
读指针和写指针的控制逻辑可以根据不同时钟域的时钟信号进行同步,保证数据的正确传输。
3.异步协议:异步协议是一种用于处理异步时钟数据传输的特殊协议。
异步协议通常包括一些额外的控制信号和状态机,用于保证数据的正确传输和同步。
异步协议可以根据不同时钟域的时钟信号进行同步,并且可以在传输数据之前进行握手、校验和错误处理。
4.异步握手协议:异步握手协议是一种用于在异步时钟数据传输中进行数据同步的协议。
异步握手协议通常包括一些额外的控制信号和状态机,用于确保数据的正确传输和同步。
异步握手协议可以根据不同时钟域的时钟信号进行同步,并且可以在传输数据之前进行握手、确认和错误处理。
5.异步串行通信接口:异步串行通信接口是一种用于在不同时钟域之间进行数据传输的接口。
异步串行通信接口通常包括一些特殊的编码和解码技术,用于确保在不同时钟域之间传输的数据的正确性和同步性。
异步串行通信接口可以根据不同时钟域的时钟信号进行同步,并且可以在传输数据之前进行握手、校验和错误处理。
数字信号在不同时钟域间同步

数字信号在不同时钟域间同步
随着系统应用需求的不断增多和集成电路技术的快速发展,大规模数字电路中常包含多个时钟域,设计中不可避免地要完成数字信号在不同时钟域间的传递,这时,如何保持系统的稳定,顺利完成控制信号和数据通路的传输就变得至关重要,这也是电路设计中最为棘手的问题之一。
如果不采取一定的措施,控制信号和数据通路的接收方极易产生亚稳态信号,从而造成电路的同步出错。
本文讨论了控制信号和数据通路的同步,提出了解决方案。
1 控制信号的同步技术
控制信号的同步分从快时钟域到慢时钟域、从慢时钟域到快时钟域的转换和异步输入控制信号的同步三种情况。
分别采用直接锁存法和锁存反馈法来实现。
1.1 直接锁存法。
单bit信号快到慢合慢到快的通用的跨时钟的处理方式

单bit信号快到慢合慢到快的通用的跨时钟的处理方式
单bit信号从快到慢合慢到快的通用跨时钟处理方式可以采用
以下方法:
1.同步器(Synchronizer):使用两个时钟域之间的同步器将
快时钟域的信号同步到慢时钟域。
同步器由两个触发器组成,一个触发器在快时钟域上工作,另一个触发器在慢时钟域上工作。
该方法可以保证数据在两个时钟域之间传输的稳定和正确,并且减少时钟域之间的干扰。
2.边沿检测(Edge Detection):使用边沿检测电路来检测信号的变化,然后将检测到的边沿信号传递给慢时钟域的逻辑电路。
这种方法适用于只需要检测信号是否发生变化,而不需要精确传输每个时钟周期的情况。
3.FIFO(First-In-First-Out):使用FIFO缓冲区将快时钟域的
信号存储在一个缓冲区中,然后根据慢时钟域的速率逐个取出。
这种方式使得在两个时钟域之间实现了数据的异步传输,保证了数据传输的稳定性。
FIFO缓冲区可以通过使用双端口内存
或使用多个单端口内存实现。
4.双向移位寄存器(Bidirectional Shift Register):使用双向移
位寄存器来对信号进行转换,将快时钟域的信号转换为慢时钟域的形式。
双向移位寄存器可以在两个时钟域之间同步地移位数据,以实现跨时钟域的数据传输。
以上提到的方法都是跨时钟域处理中常用的方法,选择适合的
方法取决于具体的应用场景和需求。
在设计中需要考虑时钟域之间的时序关系,数据的稳定性和延迟等因素。
此外,还需要进行时序仿真和验证,确保跨时钟域的设计满足设计要求。
跨时钟域的方法

跨时钟域的方法
跨时钟域的方法,是指在两个或多个时钟之间进行同步的一种技术。
在现代通信和计算机网络中,不同设备的时钟往往有微小的差异,如果不进行同步,就可能导致通信中的时间戳错误或者计算机网络中的数据同步问题。
因此,跨时钟域的方法是保证不同设备之间时间同步的关键技术之一。
在实际应用中,跨时钟域的方法主要包括两种:硬件同步和软件同步。
硬件同步是指使用专门的硬件设备来进行时钟同步,例如使用GPS信号来同步时钟;软件同步则是指使用特定的软件算法来进行时钟同步,例如使用NTP协议来进行网络时间同步。
这两种方法各有优缺点,在具体应用中需要根据实际需求来选择合适的方法。
在跨时钟域的方法中,还需要考虑到时钟漂移和时钟抖动等问题。
时钟漂移指的是时钟频率的变化,而时钟抖动则是指时钟频率的波动。
这些问题会影响时钟同步的精度,因此需要采取相应的措施来进行补偿。
在硬件同步中,一般采用精密的晶振来提高时钟精度;在软件同步中,采用算法来进行时钟漂移和抖动的补偿。
总之,跨时钟域的方法是现代通信和计算机网络中非常重要的技术之一。
它可以保证不同设备之间的时间同步,从而确保通信和数据同步的准确性和可靠性。
在实际应用中,需要根据具体情况选择合适的同步方法,并且采取相应的措施来解决时钟漂移和抖动等问题。
快时钟到慢时钟跨时钟域处理

快时钟到慢时钟跨时钟域处理随着现代电子技术的不断发展,各种智能设备越来越普及,而这些设备中都包含了各种不同的时钟。
面对不同的时钟,如何进行跨时钟域处理成为了一个重要的问题。
本文将围绕这个问题展开讨论。
一、时钟域时钟域是指在一个系统中,由于时钟信号的不同而形成的不同的时钟区域。
在一个系统中,可能会有多个时钟域,每个时钟域都由一个时钟信号驱动。
例如,一个处理器的时钟域和一个外设的时钟域就是两个不同的时钟域。
二、时钟域的跨越在一个系统中,不同的时钟域之间需要进行数据的传输和交互。
但是,由于不同的时钟域具有不同的时钟频率和时钟相位,因此在传输和交互数据时会遇到一些问题。
例如,如果一个时钟域的时钟频率是100MHz,而另一个时钟域的时钟频率是50MHz,那么在传输数据时就需要进行频率的转换。
又例如,如果一个时钟域的时钟相位发生了变化,那么在传输数据时就需要进行时钟相位的校准。
三、跨时钟域处理的方法为了解决跨时钟域处理的问题,有以下几种方法。
1.同步方法同步方法是指在不同的时钟域之间建立同步信号,使得数据能够在同步信号的边沿进行传输。
这种方法需要在两个时钟域之间建立同步电路,并且需要在同步电路中添加缓存器来保证数据的正确传输。
同步方法的优点是能够保证数据的正确性,缺点是需要额外的硬件开销。
2.异步方法异步方法是指在不同的时钟域之间使用异步传输协议进行数据的传输。
这种方法不需要建立同步电路,只需要使用异步传输协议即可。
异步方法的优点是不需要额外的硬件开销,缺点是在数据传输过程中可能会出现误码。
3.频率转换方法频率转换方法是指将一个时钟域的时钟频率转换成另一个时钟域的时钟频率。
这种方法需要使用时钟控制电路来实现,可以通过倍频或分频的方式实现。
频率转换方法的优点是不需要建立同步电路,缺点是会引入一定的时钟抖动。
4.时钟域转换方法时钟域转换方法是指将一个时钟域的时钟信号转换成另一个时钟域的时钟信号。
这种方法需要使用时钟域转换电路来实现。
FPGA设计中跨时钟域信号同步方法

FPGA设计中跨时钟域信号同步方法邹晨【期刊名称】《航空计算技术》【年(卷),期】2014(000)004【摘要】随着FPGA系统设计的复杂化,系统内部的各个功能模块往往需要工作在不同频率的异步时钟域中,因此系统内核心功能模块与外设的通信设计无法避免地会涉及到跨时钟域的数据与信号的传递问题。
尽管跨时钟域的同步问题并不属于FPGA系统设计领域的新问题,但是随着多时钟域系统的常见化和复杂化,使得跨时钟域同步这一要求具备了新的重要意义。
在对跨时钟域设计中容易出现的亚稳态现象及其造成的影响进行简要概述与分析的基础上,为了减小亚稳态发生的概率和降低系统对亚稳态错误的敏感程度,提出了四种跨时钟域同步的解决方案,较为详细地阐述了设计方案,对设计进行了评估与分析,并给出了优化设计。
%With the complication of FPGA design ,the different modules in the design always work in the asynchronous clock domains .So the core module in the system has the problem of cross-clock domain when communicating with other modules .The cross-clock domain design becomes more and more impor-tant with complication of the design .The paper firstly introduces some basic concepts and elements of the metastable state occurred in the cross-clock domain design and its infection .In order to reduce the proba-bility of the metastable state ,this paper presents four FPGA-based synchronous units in detail and makes some discuss on the mend of thedesign .The performances analysis ,simulation and synthesis result is giv-en at the end of this paper .【总页数】4页(P131-134)【作者】邹晨【作者单位】中航工业西安航空计算技术研究所,陕西西安710068【正文语种】中文【中图分类】TP331.2【相关文献】1.跨时钟域信号的几种同步方法研究 [J], 赵晓海2.SoC中跨时钟域的信号同步设计 [J], 邵翠萍;史森茂;吴龙胜3.FPGA设计中跨时钟域同步方法的研究 [J], 唐辉艳;李绍胜4.FPGA设计中跨时钟域的问题与方法 [J], 王利祥;5.跨时钟域传递位数据的同步方法 [J], 高焕琦;岳亚杰;高俊锋因版权原因,仅展示原文概要,查看原文内容请购买。
跨时钟域信号的几种同步方法研究

跨时钟域信号的几种同步方法研究赵晓海【摘要】为使跨时钟域信号能够被目标时钟正确采集,提出并总结了几种同步方法,详尽论述了这些方法所涉及的存储器计算和synthesis设置。
跨时钟域信号的同步方法应根据源时钟与目标时钟的相位关系、该信号的时间宽度和多个跨时钟域信号之间的时序关系来选择。
如果两时钟有确定的相位关系,可由目标时钟直接采集跨时钟域信号,且在synthesis中应设此两时钟为同步关系;否则,需要借助FIFO (First in,First out),在synthesis时,此两时钟必须设为false path关系。
跨时钟域信号的宽度至少应为目标时钟周期的两倍。
对于彼此有确定时序关系的多个跨时钟域信号,在同步前应使其保持足够距离。
所述方法在CMOS(Complementary Metal Oxide Semiconductor)图像传感器的设计中被实际应用。
经仿真和芯片的系统验证,该图像传感器可以正确完成信号在各时钟间的同步,并以60帧/s的速率正确输出分辨率为1 280×720的数据。
%To have destination clock sample correctly signals across clock domains,this paper proposes the several synchronous methods and discusses how to calculate depth of corresponding memory and how to set the synthesisparameters.According to phase relation between source and destination clocks,width of signals and timing relation between the signals,the synchronous methods are chosen.If the phase relation iscertain,destination clock may directly sample signals across clock domains,and synchronous relation is set to the clocks insynthesis.Otherwise,FIFO(First in,First out) must be applied,and paths across the clock domains must be set to false path in synthesis.Width ofsignals is at least twice as long as period of destination clock.If signals have certain order relation with each other,sufficient distance must be held in source clock domain.The methods were applied in a practical design for CMOS(Complementary Metal Oxide Semiconductor) image sensor.By simulation and chip system verification,the sensor can synchronize signals between clock domains and transmit correctly images of resource 1280×720 at 60 fps.【期刊名称】《电子设计工程》【年(卷),期】2012(020)007【总页数】6页(P139-143,147)【关键词】集成电路;同步电路;图像传感器;时钟同步【作者】赵晓海【作者单位】北京思比科微电子技术股份有限公司数字部,北京100085【正文语种】中文【中图分类】TN79当前,实现图像采集、处理和压缩等功能的数字集成电路产品得到了广泛应用[1]。
跨时钟域信号的几种同步方法研究

V0 . 0 12 No7 .
电子 设计 工程
Elc r n c De i n En i e rn e to i sg g n e i g
21 0 2年 4月
Ap . 0 2 r2 1
跨 时钟 域信 号 的几种 同步方 法研 究
赵 晓 海
( 京 思 比科 微 电 子技 术 股 份 有 限 公 司数 字 部 北京 1 0 8 ) 北 0 0 5 摘 要 :为 使 跨 时钟 域信 号 能 够被 目标 时 钟 正 确 采 集 , 出 并 总 结 了 几 种 同 步 方 法 , 尽 论 述 了 这 些 方 法 所 涉 及 的 存 提 详
储 器 计 算 和 snh s 设 置 。 跨 时钟 域 信 号 的 同步 方 法应 根 据 源 时钟 与 目标 时 钟 的 相 位 关 系 、 信 号 的 时 间 宽 度 和 多 y tei s 该
个跨 时钟 域 信 号之 间 的 时序 关 系来 选 择 。 果 两 时钟 有 确 定 的 相 位 关 系 , 由 目标 时钟 直接 采 集跨 时钟 域 信 号 , 在 如 可 且 snl s v tei l s中应 设 此 两 时 钟 为 同 步 关 系 ; 则 , 要 借 助 FF Frtn Frt u) 在 sn ei 否 需 IO( i , i t, y t s si so h s时 , 两 时 钟 必 须 设 为 此 fl ah关 系 。 时钟 域 信 号 的 宽度 至 应 为 目标 时 钟 周 期 的 两 倍 。 于彼 此 有 确 定 时 序 关 系的 多个 跨 时 钟 域 信 号 , a eDt s 跨 对 在 同步 前 应 使 其 保 持 足 够 距 离。 述 方 法在 C S C mpe nayMe l xd e i n u t ) 所 MO ( o l metr t ieS m c d c r 图像 传 感 器 的设 计 中被 aO o o 实 际应 用 。经 仿 真 和 芯 片 的 系统 验 证 , 图像 传 感 器 可 以 正 确 完 成 信 号 在 各 时钟 间 的 同步 , 以 6 该 并 0帧/ 的 速 率 正 确 s
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
种6跨时钟域信号同步方法.跨时钟域信号同步方法6种ASIC中心1 引言基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统。
但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免。
如果对跨时钟域带来的亚稳态、采样丢失、潜在逻辑错误等等一系列问题处理不当,将导致系统无法运行。
本文总结出了几种同步策略来解决跨时钟域问题。
2 异步设计中的亚稳态触发器是FPGA设计中最常用的基本器件。
触发器工作过程中存在数据的建立(setup)和保持(hold)时间。
对于使用上升沿触发的触发器来说,建立时间就是在时钟上升沿到来之前,触发器数据端数据保持稳定的最小时间。
而保持时间是时钟上升沿到来之后,触发器数据端数据还应该继续保持稳定的最小时间。
我们把这段时间成为setup-hold时间(如图1所示)。
在这个时间参数内,输入信号在时钟的上升沿是不允许发生变化的。
如果输入信号在这段时间内发生了变化,输出结果将是不可知的,即亚稳态 (Metastability)图1一个信号在过渡到另一个时钟域时,如果仅仅用一个触发器将其锁存,那么采样的结果将可能是亚稳态。
这也就是信号在跨时钟域时应该注意的问题。
如图2所示。
信号dat经过一个锁存器的输出数据为a_dat。
用时钟b_clk进行采样的时候,如果a_dat正好在b_clk的setup-hold时间内发生变化,此时b_ dat,而是处于中间状态。
经过一段时间之后,ぜ,也不是逻辑?就既不是逻辑.有可能回升到高电平,也有可能降低到低电平。
输出信号处于中间状态到恢复为逻辑?或逻辑ぜ的这段时间,我们称之为亚稳态时间。
触发器进入亚稳态的时间可以用参数MTBF(Mean Time Between Failures)来描述,MTBF即触发器采样失败的时间间隔,表示为:其中fclock表示系统时钟频率,fdata代表异步输入信号的频率,tmet代表不会引起故障的最长亚稳态时间,C1和C2分别为与器件特性相关的常数。
如果MTBF 很大,就认为这个设计在实际工作中是能够正常运行的,不会因为亚稳态导致整个系统的失效。
当触发器处于亚稳态,且处于亚稳态的时间超过了一个时钟周期,这种不确定的状态还会影响到下一级的触发器,最终导致连锁反应,从而使整个系统功能失常。
3 同步策略在异步设计中,完全避免亚稳态是不可能的。
因此,设计的基本思路应该是:首先尽可能减少出现亚稳态的可能性,其次是尽可能减少出现亚稳态并给系统带来危害的可能性。
以下是根据实际工作总结出来的几种同步策略。
3.1电平同步器为了避免进入亚稳态,应当使参数MTBF尽可能大。
通常采用的方法是双锁存器法,即在一个信号进入另一个时钟域之前,将该信号用两个锁存器连续锁存两次(如图3所示)。
理论研究表明这种设计可以将出现亚稳态的几率降低到一个很小的程度,但这种方法同时带来了对输入信号的一级延时,需要在设计时钟的时候加以注意。
对于上面的双锁存器法,如果a_clk的频率比b_clk的频率高,将可能出现因为dat变化太快,而使b_clk无法采样的问题。
即在信号从快时钟域向慢时钟域过渡的时候,如果信号变化太快,慢时钟将可能无法对该信号进行正确的采样,所以在使用双锁存器法的时候,应该使原始信号保持足够长的时间,以便另一个时钟域的锁存器可以正确地对其进行采样。
3.2 边沿同步器如果我们需要用跳变沿而不是电平又该怎样处理呢,在电平同步器之后再加一级触发器,用第二级触发器的输出和第三级触发器的输出来进行操作。
这种结构叫做边沿同步器。
always @ (posedge Clk)begininputs_reg1 <= inputs;inputs_reg2 <= inputs_reg1;inputs_reg3 <= inputs_reg2;if (inputs_reg2 == 1'b1 && inputs_reg3 == 1'b0)begin...end...end以上两种同步器在慢时钟域信号同步入快时钟域时工作的很好,但是反过来的话,可能就工作不正常了。
举一个很简单的例子,如果被同步的信号脉冲只有一个快时钟周期宽,且位于慢时钟的两个相邻跳变沿之间,那么是采不到的。
这时就需要采用脉冲同步器。
这种同步器也是由3个触发器组成,同时需要对发送信号做一些处理。
3.3 脉冲同步器脉冲同步器的输入信号是一个单时钟宽度脉冲,它触发原时钟域中的一个翻转电路(下图)。
每当翻转电路接收到一个脉冲时,它就会在高、低电平间进行转换,然后通过电平同步器到达异或门的一个输入端,而另一个信号经一个时钟周期的延迟进入异或门的另一端,翻转电路每转换一次状态,这个同步器的输出端就产生一个单时钟宽度的脉冲。
图:脉冲同步器的输入信号是一个单时钟宽度脉冲,它触发原时钟域中的一个翻转电路脉冲同步器的基本功能是从某个时钟域取出一个单时钟宽度脉冲,然后在新的时钟域中建立另一个单时钟宽度的脉冲。
脉冲同步器也有一个限制,即输入脉冲之间的最小间隔必须等于两个同步器时钟周期。
如果输入脉冲相互过近,则新时钟域中的输出脉冲也紧密相邻,结果是输出脉冲宽度比一个时钟周期宽。
当输入脉冲时钟周期大于两个同步器时钟周期时,这个问题更加严重。
这种情况下,如果输入脉冲相邻太近,则同步器就不能检测到每个脉冲。
3.4 结绳法由于双锁存器法在快时钟域向慢时钟域过渡中可能存在采样失效的问题,我们引入了一种安全的跨时钟域的方法:结绳法。
结绳法适合任何时钟域所示。
4,如图)的频率和相位关系可以任意选定clk2,(clk1的过渡.图4中的_clk1表示该信号属于clk1时钟域,_clk2的信号表示该信号属于clk2时钟域。
在两次src_req_clk1之间被src_vld_clk1结绳(Pluse2Toggle)。
将src_vld_clk1用双锁存器同步以后,该信号转换为dst_req_clk2(Toggle2Pluse)。
同理,用dst_vld_clk2将dat_req_clk2结绳,dst_vld_clk2表明在clk2时钟域中,src_dat_clk1已经可以进行正确的采样了。
最后将dst_vld_clk2转换为dst_ack_clk1(Synchronizer andToggle2Pluse)。
dst_ack_clk1表明src_dat_clk1已经被clk2正确采样了,此后clk1时钟域就可以安全地传输下一个数据了。
可以看出,结绳法的关键是将信号结绳以后,使其保持足够长的时间,以便另一个时钟可以正确采样。
图5描述了结绳法的具体实现,主要包括3个基本单元:Pluse2Toggle、Synchronizer 和Toggle2Pluse。
Pluse2Toggle模块负责将两个脉冲信号结绳,即将单脉冲信号延长;Synchronizer模块用双锁存器法将得到的信号过渡到另一个时钟域;Toggle2Pluse模块与Pluse2Toggle功能相对,即将延长的脉冲信号还原为单脉冲,这里用到了异或门。
整体的设计思想就是用Pluse2Toggle将信号延长,用Synchronizer过渡,再用Toggle2Pluse还原,以保证另一个时钟域可以正确采样,而接收方用相反的流程送回响应信号。
结绳法可以解决快时钟域向慢时钟域过渡的问题,且适用的范围很广。
但是结绳法实现较复杂,在设计要求较高的场合应该慎用。
3.5 握手协议在许多应用中,跨时钟域传送的不只是简单的信号,数据总线、地址总线和控制总线都会同时跨域传输。
工程师们用一些其它的手段来处理这些情况,如握手协议等。
当几个电路不能预知相互的响应时间时,握手方法能让数字电路间实现有效的通信。
例如,仲裁总线结构可以让一个以上的电路请求使用单个的总线,用仲裁方法来决定哪个电路可以获得总线的访问权,例如 PCI 或 AMBA(高级微控制器总线架构)。
每个电路都发出一个请求信号,由仲裁逻辑决定谁是“赢家”。
获胜的电路会收到一个应答,表示它可以访问总线。
该电路于是中断请求,开始使用总线。
不同时钟域电路使用的握手协议有两种基本类型:全握手(Full-handshake)和部分握手(partial-handshake)。
每种类型的握手都要用同步器,每种都各有自己的优缺点。
对全握手信号,双方电路在声明或中止各自的握手信号前都要等待对方的响应(图 4)。
首先,电路 A 声明它的请求信号,然后,电路 B 检测到该请求信号有效后,声明它的响应信号。
当电路 A 检测到响应信号有效后,中止自己的请求信号。
最后,当电路 B 检测到请求无效后,它中止自己的响应信号。
除非电路 A 检测到无效的响应信号,否则它不会再声明新的请求信号。
图4,对全握手信号,双方电路在声明或中止各自的握手信号前都要等待对方的响应。
这种类型的握手使用了电平同步器。
设计人员将这种技术用在如下情况:响应电路(电路 B)需要告知请求电路(电路 A)它可以处理请求。
这种握手方法要求请求电路延迟它的下一个请求,直到它检测到响应信号无效。
可以用经验估算法判断这个协议的时序:信号跨越一个时钟域要花两个时钟周期的时间,信号在跨越多个时钟域前被电路寄存。
全部的时间序列是:A 时钟域中最多五个周期加上 B 时钟域最多六个周期。
全握手类型很强健,因为通过检测请求与响应信号,每个电路都清楚地知道对方的状态。
这种方式的不足之处是完成所有交互的整个过程要花费很多时钟周期。
另一种类型是部分握手,它可以缩短这些事件的过程。
使用部分握手信号时,通信双方的电路都不等对方的响应就中止各自的信号,并继续执行握手命令序列。
部分握手类型比全握手类型在健壮性方面稍弱,因为握手信号并不指示各自电路的状态,每一电路都必须保存状态信息(在全握手信号里这个信息被送出去)。
但是,由于无需等待其它电路的响应,完整的事件序列花费时间较少。
当使用部分握手信号方式时,响应的电路必须以正确的时序产生它的信号。
如果响应电路要求先处理完一个请求,然后才能处理下一个请求,则响应信号的时序就很重要。
电路用它的响应信号来指示它的处理任务何时完成。
一种部分握手方法混合了电平与脉冲信号,而其它的方法则只使用脉冲信号。
.在第一种部分握手方法中,电路 A 以有效电平声明其请求信号,电路 B 则以一个单时钟宽度脉冲作为响应。
此时,电路 B 并不关心电路 A 何时中止它的请求信号。
但为了使这种方法成立,电路 A 中止请求信号至少要有一个时钟周期长,否则,电路 B 就不能区别前一个请求和新的请求。
在这种握手方式下,电路 B 为请求信号使用一个电平同步器,电路 A 为响应信号使用一个脉冲同步器。
只有当电路 B 检测到请求信号时才发出响应脉冲。