同步电路的制作方法

文档序号:17816956发布日期:2019-06-05 21:50阅读:215来源:国知局
同步电路的制作方法

本申请实施例涉及半导体技术领域,尤其涉及一种同步电路。



背景技术:

数字信号是使用离散值表示的信号,具体的,数字信号通常使用0和1两个二进制数表示两种状态,并使用有限位的二进制数表示大小。有鉴于抗干扰能力强,易于加密和存储等优点,数字信号被广泛应用于半导体领域。通常,数字信号系统的输入信号可能是同步信号或者异步信号,当数字电路系统是同步信号系统时,若输入信号是异步信号,为了消除异步信号产生的亚稳态,在将异步信号输入同步时钟域之前,通过两个或者两个以上的同步寄存器将异步信号同步化。

参见图1,图1为常用的两级同步电路的电路图,其中,该同步电路包括n组同步打拍电路,每组同步打拍电路包括两级寄存器1,并且,2n个寄存器1的时钟(clock,clk)统一由时钟发生器(clock)触发。基于图1所示的电路,异步信号d1,异步信号d2,……异步信号dn一一输入到n组同步打拍电路中,n组同步打拍电路中每组同步打拍电路的两级寄存器1,对相应异步信号执行两级延时后,输出同步信号。即,n组同步打拍电路一一输出同步信号q1,同步信号q2,……,同步信号qn。n是大于或者等于1的整数。

需要指出的是,寄存器1的工作原理在于,当clock输出一个时钟脉冲时,寄存器1的clk受到该时钟脉冲的触发,执行一次跳变,使得该寄存器1采集当前时刻的输入信号,并对所采集的信号执行锁存后输出。当clock输出下一个时钟脉冲时,该寄存器1的clk再次受到触发并执行跳变,使得该寄存器1采集当前时刻的输入信号,并同样对所采集的信号锁存并输出,从而按照时钟脉冲对应的时钟周期更新输出的信号。

通常,由于n个异步信号中每个异步信号的跳变均不可预见,导致n个异步信号的跳变无规律可循,因此,为了保证同步信号系统正常工作,通过clock持续不停的向2n个寄存器的clk输出时钟脉冲,触发2n个寄存器按照时钟脉冲对应的时钟周期不断执行锁存,从而将会造成动态功耗。



技术实现要素:

本申请实施例提供了一种同步电路,以解决现有同步电路动态功耗大的问题。

本申请实施例提供了一种同步电路,所述电路包括延时单元,检测单元和门控时钟单元,

所述延时单元,用于接收p路异步信号,输出p路同步信号,所述p是大于或者等于1的整数;

所述检测单元,用于检测所述p路异步信号中是否有至少一路异步信号发生跳变,并当所述p路异步信号中至少一路异步信号发生跳变时,向所述门控时钟单元输出门控信号;

所述门控时钟单元,用于在接收所述门控信号后,向所述延时单元输出第一时钟脉冲,所述第一时钟脉冲用于触发所述延时单元对所述p路异步信号执行延时。

由此可见,本申请实施例,通过在同步电路中增设检测单元和门控时钟单元,从而能够通过检测单元检测p路异步信号中是否有异步信号发生跳变,若p路异步信号均未发生跳变,检测单元不向门控时钟单元输出门控信号,使得门控时钟单元不向延时单元输出时钟脉冲,进而,使得延时单元不执行延时。若p路异步信号中任意一路异步信号发生跳变,检测单元向门控时钟单元输出门控信号,触发门控时钟单元向延时单元输出时钟脉冲,进而,触发延时单元301按照时钟脉冲对应的时钟周期执行延时。采用本实现方式,能够检测是否有异步信号发生跳变,并仅在有异步信号发生跳变时,才对异步信号执行延时,从而能够大量降低动态功耗。

在本申请实施例第一种可能的实现方式中,所述延时单元,还用于对应所述p路异步信号中的每路异步信号,向所述检测单元输出至少两路待检测信号,所述至少两路待检测信号包括对应路的异步信号,以及至少一路所述对应路异步信号上一次延时后的信号;所述检测单元,具体用于检测所述p路异步信号中的每路异步信号对应的至少两路待检测信号是否完全相同,并当至少一路异步信号对应的至少两路待检测信号不完全相同时,向所述门控时钟单元输出门控信号。

异步信号跳变指的是异步信号的电平值从0变为1,或者从1变为0。基于此,若当前无异步信号跳变,那么,当前延时单元301对每一路异步信号延时后的信号的电平值,均是对应路的异步信号上一次延时后的电平值,并且,稳定在当前电平值。若某一路异步信号发生跳变,那么该路异步信号当前的电平值,必然与该路异步信号当前任意一级延时后的信号的电平值均不相同。因此,采用本实现方式,能够通过检测异步信号电平值的变化,确定异步信号是否跳变,操作简单,无需复杂扩展。

在本申请实施例第二种可能的实现方式中,所述检测单元用于输出门控信号,当所述p为1时,所述门控信号是所述异步信号对应的两路待检测信号的异或运算结果。

在本申请实施例第三种可能的实现方式中,所述检测单元用于输出门控信号,当所述p大于或者等于2时,所述门控信号是所述p路异步信号中每路异步信号的至少两路待检测信号的异或运算结果的或运算结果。

其中,本申请实施例中,异步信号指电平值跳变无时间规律的信号,而同步时钟域的触发信号应当具有一定的时间规律。基于此,无论所输入的异步信号有几路,在输入到同步时钟域之前均需要同步化。而采用本实现方式,使用异或运算检测异步信号是否跳变,实现简单,且不会增减电路的复杂度。

在本申请实施例第四种可能的实现方式中,所述门控时钟单元包括延时子单元、门控子单元、第一时钟发生子单元和第二时钟发生子单元,其中,

所述延时子单元,用于接收第二时钟脉冲和所述门控信号,输出触发信号至所述门控子单元,所述触发信号是按照所述第二时钟脉冲的时钟周期对所述门控信号执行延时后得到的;

所述门控子单元,用于在接收到所述触发信号时,向所述第一时钟发生子单元输出使能信号;

所述第一时钟发生子单元,用于在所述使能信号的作用下,向所述延时单元输出所述第一时钟脉冲;

所述第二时钟发生子单元,用于向所述延时子单元输出所述第二时钟脉冲。

其中,门控时钟的工作原理在于,用于输出时钟脉冲的时钟发生单元受控于逻辑门单元,当该逻辑门单元未向该时钟发生单元发送使能信号时,该时钟发生单元不做任何操作,当该逻辑门单元向该时钟发生单元发送使能信号时,该时钟发生单元才输出时钟脉冲。基于此原理,通过在同步电路中设置门控时钟单元,能够按照需求控制时钟脉冲的输出,进而,能够间接控制延时单元是否执行延时。

在本申请实施例第五种可能的实现方式中,所述延时单元包括p组同步打拍电路,所述p组同步打拍电路中的每组同步打拍电路,用于接收所述p路异步信号中与所述同步打拍电路对应的异步信号,并输出相应异步信号对应的同步信号;

所述p组同步打拍电路中每组同步打拍电路包括q级寄存器,所述q级寄存器中的第一级寄存器的输入端,用于输入相应异步信号,所述q级寄存器中的第q级寄存器的输出端,用于输出相应异步信号对应的同步信号;

所述q级寄存器中所述第一级寄存器的输入端和至少第i级寄存器的输出端,还用于输出信号至所述检测单元的输入端,所述q是大于或者等于2的整数,所述i是小于或者等于q大于或者等于1的整数。

本实现方式公开了延时单元的具体连接结构,采用本实现方式,能够检测是否有异步信号发生跳变,并仅在有异步信号发生跳变时,才对异步信号执行延时,从而能够大量降低动态功耗。

在本申请实施例第六种可能的实现方式中,所述检测单元包括p组异或门电路,所述p组异或门电路与所述p组同步打拍电路一一对应;

所述p组异或门电路中每组异或门电路的输入端,用于接收对应组同步打拍电路的第一级寄存器的输入端和至少第i级寄存器的输出端输出的信号;

所述p组异或门电路中每组异或门电路的输出端,用于输出所述对应组同步打拍电路的第一级寄存器的输入端和至少第i级寄存器的输出端输出的信号的异或运算结果。

在本申请实施例第七种可能的实现方式中,当所述p大于或者等于2时,所述检测单元还包括或门电路;

所述或门电路的输入端,用于接收所述p组异或门电路中每组异或门电路输出的异或运算结果;

所述或门电路的输出端,用于输出所述p组异或门电路的异或运算结果的或运算结果至所述门控时钟单元的输入端。

本申请实施例第六种或第七种可能的实现方式,公开了检测单元的具体连接结构,采用本实现方式,使用异或运算检测异步信号是否跳变,实现简单,且不会增减电路的复杂度。

在本申请实施例第八种可能的实现方式中,所述延时子单元包括至少q级寄存器,所述至少q级寄存器的时钟输入所述第二时钟发生子单元输出的所述第二时钟脉冲,所述第二时钟脉冲用于触发所述至少q级寄存器执行锁存;

当所述p为1时,所述至少q级寄存器中第一级寄存器的输入端,用于接收所述异或门电路输出的所述异或运算结果;当所述p大于或者等于2时,所述至少q级寄存器中第一级寄存器的输入端,用于接收所述或门电路输出的所述或运算结果;

所述至少q级寄存器中最后一级寄存器的输出端,用于输出经过至少q级延时后的所述异或运算结果或者所述或运算结果至所述门控子单元的输入端。

在本申请实施例第九种可能的实现方式中,所述门控子单元包括门控电路,所述第一时钟发生子单元包括门控时钟电路;

所述门控电路的输入端,用于接收所述经过至少q级延时后的异或运算结果或者或运算结果;

当受到所述经过至少q级延时后的异或运算结果或者或运算结果触发时,所述门控电路的输出端,用于向所述门控时钟电路输出所述使能信号;

所述门控时钟电路的输入端,用于接收所述使能信号;

所述门控时钟电路的输出端,用于向所述q级寄存器的时钟输出所述第一时钟脉冲,所述第一时钟脉冲用于触发所述q级寄存器的执行锁存。

本申请实施例第八种或第九种可能的实现方式,公开了门控时钟单元的具体连接结构,采用本实现方式,通过在同步电路中设置门控时钟单元,能够按照需求控制时钟脉冲的输出,进而,能够间接控制延时单元是否执行延时。

为解决现有同步电路功耗大的问题,本申请实施例提供的同步电路,包括延时单元,检测单元和门控时钟单元三部分,其中,延时单元用于接收p路异步信号,并输出p路同步信号。检测单元用于检测该p路异步信号中,是否有至少一路异步信号发生跳变,并当p路异步信号中至少一路异步信号发生跳变时,向门控时钟单元输出门控信号。该门控时钟单元在门控信号的触发下,向延时单元发送时钟脉冲,以触发延时单元对该p路异步信号执行延时。由此可见,本方案的同步电路,能够检测异步信号是否发生跳变,并在任意一路异步信号发生跳变时,才向延时单元发送时钟脉冲,从而能够使得同步电路中的寄存器无需不断的执行锁存,进而能够大量降低同步电路的动态功耗。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的现有的两级同步电路的电路图;

图2为图1所示的同步电路的一种实施方式的信号波形图;

图3为本申请实施例提供的同步电路的结构示意图;

图4为本申请实施例提供的同步电路的第二种实施方式的结构示意图;

图5为本申请实施例提供的同步电路的元器件连接结构图;

图6为基于图5所示的同步电路的一种实施方式的结构示意图;

图7为图6所示同步电路的一种实施方式的信号波形图;

图8为基于图5所示的同步电路的第二种实施方式的结构示意图。

具体实施方式

其中,本申请的技术场景中,同步时钟域接收到规律相位的信号,例如可以是整点时刻的上升沿时,被触发运行,而异步信号的跳变毫无规律可循,即,异步信号的上升沿可能发生在任意时刻。因此,若将异步信号直接输出到同步时钟域,那么,即使异步信号跳变产生上升沿,但是从时间角度与同步时钟域的触发逻辑不匹配,该上升沿依然无法触发同步时钟域运行。基于此,在将异步信号输出到同步时钟域之前,通常按照规律的时钟周期对异步信号进行采样,然后,将采样得到的信号输出到同步时钟域,从而使得输出到同步时钟域的信号从时间的角度规律化,该过程即为将异步信号同步的过程。由于对异步信号执行采样,以及将采样得到的信号输出,会对原信号造成延时,所以,本领域通常也将该过程称为对异步信号执行延时。

基于上述描述,参见图2,图2示出了图1的一种可选实施方式的信号波形图,其中,图1中clock输出的时钟脉冲的时钟周期是50ns,并且持续不断的输入到图1中2n个寄存器1中的每个寄存器1的clk,以触发2n个寄存器1均以50ns为周期执行锁存。其中,寄存器1每锁存成功一次,即对相应异步信号完成一次采样。本实施例中,还示出了异步信号d1和异步信号dj的波形图,其中,j是大于1小于等于n的整数。异步信号d1发生跳变的时刻是600ns和630ns,异步信号dj跳变的时刻是2500ns和750ns。

其中,图2仅是以d1和dj为例示出了异步信号的跳变时刻,在实际运行中,n个异步信号中各个异步信号的跳变时刻,可能均不相同,也可能其中几个异步信号的某一个跳变时刻相同,其他跳变时刻各不相同。由此可见,n个异步信号中每个异步信号的跳变时刻均较为随机。因此,为了保证n个异步信号顺利同步,clock持续的向2n个寄存器1的clk输入时钟周期是50ns时钟脉冲,以使2n个寄存器1一直以50ns为周期执行锁存。

需要说明的是,图1中n通常是几百或者几千,而每一个寄存器1每执行一次锁存,均会产生一定的动态功耗,因此,2n个寄存器1每执行一次锁存,将会产生大量的动态功耗。基于此,由于2n个寄存器1对产生跳变的异步信号执行的锁存,才是有效的锁存,对于无异步信号跳变时的锁存,均是无效的锁存,而2n个寄存器1的锁存周期是50ns,n个异步信号的跳变周期远大于50ns,即,2n个寄存器1的有效锁存操作的次数,远小于无效锁存的次数,因此,现有的同步电路及其同步机制,产生的动态功耗非常大。为解决该问题,本领域技术人员提出了本申请的技术方案。

下面结合附图,对本申请实施例进行描述。

参见图3,图3是本申请实施例提供的同步电路的结构示意图,本实施例中,同步电路包括延时单元301、检测单元302和门控时钟单元303。其中,延时单元301,用于接收并行输入的p路异步信号,输出p路同步信号。其中,p是大于或者等于1的整数,p路同步信号与p路异步信号一一对应。检测单元302,用于检测所述p路异步信号中是否有至少一路异步信号发生跳变,并当所述p路异步信号中至少一路异步信号发生跳变时,向门控时钟单元303输出门控信号。门控时钟单元303,用于在接收到门控信号时,向延时单元输出第一时钟脉冲,第一时钟脉冲用于触发延时单元对p路异步信号执行延时。

由此可见,本申请实施例,通过在同步电路中增设检测单元302和门控时钟单元303,从而能够通过检测单元302检测p路异步信号中是否有异步信号发生跳变,若p路异步信号均未发生跳变,检测单元302不向门控时钟单元303输出门控信号,使得门控时钟单元303不向延时单元301输出时钟脉冲,进而,使得延时单元301不执行延时。若p路异步信号中任意一路异步信号发生跳变,检测单元302向门控时钟单元303输出门控信号,触发门控时钟单元303向延时单元301输出时钟脉冲,进而,触发延时单元301按照时钟脉冲对应的时钟周期执行延时。

在上述描述的基础上,本申请实施例中,延时单元301,还用于对应p路异步信号中的每路异步信号,向检测单元302输出至少两路待检测信号,该至少两路待检测信号包括对应路的异步信号,以及至少一路所述对应路异步信号上一次延时后的信号。检测单元302,具体用于检测p路异步信号中的每路异步信号对应的至少两路待检测信号是否完全相同,并当至少一路异步信号对应的至少两路待检测信号不完全相同时,输出门控信号至门控时钟单元303。其中,检测单元302可以是通过检测每路异步信号的至少两路待检测信号的电平值是否相同,确定对应路的异步信号是否跳变。

其中,异步信号跳变指的是异步信号的电平值从0变为1,或者从1变为0,根据同步电路对异步信号执行延时的目的可知,采集异步信号跳变后的信号,并将异步信号跳变后的信号从时间角度规律化,因此,若p路异步信号均未发生跳变,那么,延时单元301对该p路异步信号执行延时没有任何意义。而当p路异步信号中任意一路异步信号发生跳变时,需要对该跳变后的异步信号执行延时,以同步该路异步信号。基于此,根据本申请实施例的执行方式,若当前无异步信号跳变,那么,当前延时单元301对每一路异步信号延时后的信号的电平值,均是对应路的异步信号上一次延时后的电平值,并且,稳定在当前电平值。若某一路异步信号发生跳变,那么该路异步信号当前的电平值,必然与该路异步信号当前任意一级延时后的信号的电平值均不相同。基于此,检测单元302可以通过检测每一路异步信号当前的电平值,与该路异步信号至少一路上一次延时后的信号的电平值是否相同,确定该路异步信号是否跳变。

需要说明的是,通常,若延时单元301对一路异步信号执行q次延时得到相应的同步信号,则描述为该异步信号经过q级延时得到相应同步信号。其中,q是大于等于2的整数。由于每一级延时操作需要受到一个时钟脉冲的触发,因此,q级延时全部执行完成,需要q个时钟脉冲的触发,可以设置多个同步寄存器。基于此,当延时单元301设置q级延时时,若有异步信号跳变,为了能够将跳变的异步信号顺利的同步,所以,门控时钟单元303向延时单元301输出时钟脉冲,至少包括q个周期的时钟脉冲。

由此可见,本方案中,只有p路异步信号中任意异步信号发生跳变时,才向延时单元301输出时钟脉冲,使得延时单元301只在有异步信号跳变时,被触发执行延时操作,从而能够避免延时单元301执行无效的延时操作,进而,能够大量减少同步电路的动态功耗。

基于图3对应的实施例,当p是1时,检测单元302仅需要检测一路异步信号对应的至少两路待检测信号的电平值是否完全相同。具体的,在本申请的一个可选实施例中,检测单元302可以但不限于,对该至少两路待检测信号的电平值执行异或运算,并可以将异或运算的结果作为门控信号。

其中,异或运算的逻辑规则是,当执行运算的值全部相同时,运算结果为0,当执行运算的值中有一个值与其他值不同时,结果为1。基于此,当该异步信号未发生跳变时,该至少两路待检测信号的电平值全部相同,其异或运算结果为0,当该异步信号发生跳变时,该至少两路待检测信号的电平值不完全相同,其异或运算结果为1,从而能够准确、快速的检测出该路异步信号是否发生跳变。并且,基于此,门控信号可以是1。

当p大于1时,检测单元302可以分别对p路异步信号中每路异步信号对应的至少两路待检测信号的电平值执行异或运算,从而得到p个异或运算结果。由于p路异步信号中,只要一路异步信号发生跳变,即需要触发延时单元301执行延时,因此,检测单元302可以对p个异或运算结果执行或运算,以确定p路异步信号是否有至少一路异步信号发生跳变。其中,或运算的逻辑规则是,当p个异或运算结果全部为0时,或运算结果为0,当p个异或运算结果中至少一个异或运算结果为1时,或运算结果为1。由此可见,检测单元302进一步通过或运算,能够简捷、快速的确定p路异步信号中是否有异步信号发生跳变。

通过上述对检测单元302的描述,本方案中的检测单元302执行方式简单有效,便于实现,并且,根据其实现原理可知,无需对原电路进行复杂扩展。

参见图4,图4是本申请实施例提供的同步电路的第二种实施方式的结构示意图,在图3对应的实施例的基础上,门控时钟单元303具体可以包括:延时子单元3031、门控子单元3032、第一时钟发生子单元3033和第二时钟发生子单元3034。其中,延时子单元3031,用于接收第二时钟脉冲和门控信号,输出触发信号至门控子单元3032,触发信号是按照所述第二时钟脉冲的时钟周期对所述门控信号执行延时后得到的;门控子单元3032,用于在接收到触发信号时,向时钟发生子单元3033输出使能信号;第一时钟发生子单元3033,用于在使能信号的作用下,向延时单元301输出第一时钟脉冲;第二时钟发生子单元3034,用于向延时子单元3031输出第二时钟脉冲。

其中,门控时钟的工作原理在于,用于输出时钟脉冲的时钟发生单元受控于逻辑门单元,当该逻辑门单元未向该时钟发生单元发送使能信号时,该时钟发生单元不做任何操作,当该逻辑门单元向该时钟发生单元发送使能信号时,该时钟发生单元才输出时钟脉冲。即,相当于设置一个“门”,当“门”打开时,向外输出时钟脉冲,当“门”关闭时,不做任何操作,而“门”的开启,受控于门控信号的触发。基于此,在上述描述的基础上,当p路异步信号中至少一路异步信号发生跳变时,检测单元302才能生成用于触发门控时钟单元303的“门”开启的信号,进而使得门控时钟单元303输出第一时钟脉冲。具体的,门控时钟单元303中的门控子单元3032接受门控信号的触发,并向第一时钟发生子单元3033发送使能信号,第一时钟发生子单元3033输出第一时钟脉冲。由此可见,采用本实现方式,能够按照需求控制时钟脉冲的输出,进而,能够间接控制延时单元301是否执行延时。

需要说明的是,由于每路异步信号的至少两路待检测信号均包括该路异步信号,而异步信号的异步特性实质上由其电平值的变化体现,因此,该路异步信号的电平值与任意信号的电平值的异或运算结果,所体现的同样是异步信号,进而,根据p个异或运算结果得到的门控信号是异步信号。基于此,在将门控信号输入到门控子单元3032之前,应当先同步该门控信号,才能得到用于触发门控子单元3032的触发信号。

具体的,若p路异步信号需要执行q级延时才能被同步,那么,基于该p路异步信号运算得到的门控信号,也可以通过q级延时被同步。当然,在本申请的其他可选示例中,还可以对门控信号执行多于q级的延时,具体的,最多可以执行q+2级延时。

此外,由于p路异步信号中每路异步信号的跳变均不可预见,因此,为了保证有异步信号跳变时,能够及时触发第一时钟发生子单元3033向延时单元301输出第一时钟脉冲,本申请实施例中,可以通过第二时钟发生子单元3034不间断的向延时子单元3031输出第二时钟脉冲,以使延时子单元3031持续的按照第二时钟脉冲对应的时钟周期执行延时,从而及时的将触发信号输入到门控子单元3032。

上述实施例从逻辑功能的角度对本方案进行了描述,为了使本领域技术人员更加清楚、详细的了解本方案,下面从硬件组成的角度对本方案进行描述。

参见图5,图5为本申请实施例提供的同步电路的元器件连接结构图,其中,与图3和图4相对应的,延时单元301包括p组同步打拍电路,其中,p组同步打拍电路与包括异步信号x1、异步信号x2至异步信号xp的p路异步信号一一对应,并且,p组同步打拍电路中每组同步打拍电路,用于输入相应的异步信号,并输出与所输入的异步信号对应的同步信号,例如,异步信号x1对应的同步信号y1,异步信号x2对应的同步信号y2,异步信号xp对应的同步信号yp。

具体的,如图5所示,p组同步打拍电路中每组同步打拍电路包括q级寄存器,该q级寄存器中的第一级寄存器的输入端,用于接收相应异步信号,该q级寄存器中第q级寄存器的输出端,用于输出相应异步信号对应的同步信号。

此外,每组q级寄存器还向检测单元302输出一组待检测信号。具体的,每组q级寄存器将所接收的异步信号,以及至少第i级寄存器输出的信号,作为相应异步信号的待检测信号输出到检测单元302。其中,i是小于等于q大于等于1的整数。

其中,需要说明的是,在本申请实施例中,q可以是2以及大于2的数量,具体的,可以根据操作环境的需求适应性设置,例如,在本申请的一个可选示例中,q可以是2。此外,每组q级寄存器可以将每一级寄存器输出的信号均作为待检测信号输出,或者,从每一级寄存器输出的信号中任选至少一个信号作为待检测信号输出。例如,在本申请的一个可选示例中,可以将异步信号和第q级寄存器输出的同步信号作为待检测信号,本申请实施例对此不做限制。

进一步的,当p大于1时,任意两组q级寄存器所输出的待检测信号的数量,可以相同也可以不同。例如,第一组q级寄存器所输出的待检测信号是2路,第二组q级寄存器所输出的待检测信号可以是2路,也可以是3路。当两组q级寄存器所输出的待检测信号的数量相同时,该两组q级寄存器所输出的非异步信号,可以是相同级寄存器的输出信号,也可以是不同级寄存器的输出信号。例如,第一组q级寄存器和第二组q级寄存器均输出2路待检测信号,那么,第一组q级寄存器和第二组q级寄存器所输出的信号是,相应异步信号和同步信号,即,第q级寄存器的输出信号,或者,第一组q级寄存器输出的是相应异步信号和第q级寄存器的输出信号,而第二组q级寄存器输出的是相应异步信号和第q-1级寄存器的输出信号。当然,为了降低电路复杂性,使得电路便于维护,可选的,将p组q级寄存器所输出的待检测信号的数量设置为相同,并且,各组寄存器均由相同级的寄存器输出非异步信号。

再次参见图5,检测单元302包括p组异或门电路,该p组异或门电路与p路待检测信号一一对应。其中,该p组异或门电路中每组异或门电路的输入端,接收相应q级寄存器输出的至少两路待检测信号。该异或门电路对相应至少两路待检测信号的电平值执行异或运算之后,通过输出端输出相应异或运算结果。例如,包括异步信号x1对应的异或运算结果xor1,异步信号x2对应的异或运算结果xor2,异步信号xp对应的异或运算结果xorp。

其中,根据检测单元302的检测原理可知,当p为1时,仅需要获取一路异步信号的至少两路待检测信号的电平值的异或运算结果,并且,此种实施场景下,该组异或门电路可以将异或运算结果作为门控信号clken输出至门控时钟单元303的输入端。

当p大于1时,在确定p个异或运算结果之后,还需要确定p个异或运算结果是否全部相同,因此,检测单元302包括p组异或门电路和一组或门电路。此种实施场景下,p组异或门电路均将异或运算结果输出至或门电路的输入端,或门电路对xor1、xor2至xorp执行或运算,其输出端将p个异或运算结果的或运算结果作为门控信号clken输出至门控时钟单元303的输入端。

再次参见图5,门控时钟单元303中的延时子单元3031包括至少q级寄存器,该至少q级寄存器的时钟输入第二时钟发生子单元3034输出的第二时钟脉冲,第二时钟脉冲用于触发该至少q级寄存器对门控信号clken执行锁存。具体的,当p为1时,该至少q级寄存器中第一级寄存器的输入端,用于接收异或门电路输出的异或运算结果;当p大于1时,该至少q级寄存器中第一级寄存器的输入端,用于接收或门电路输出的或运算结果。该至少q级寄存器中最后一级寄存器的输出端,用于输出经过至少q级延时后的门控信号clken至门控子单元3032的输入端。

门控子单元3032具体可以是门控电路,该门控电路的输入端,用于接收经过至少q级延时后的门控信号clken,在受到经过至少q级延时后的门控信号clken触发时,该门控电路的输出端,用于向第一时钟发生子单元3033输出使能信号。

第一时钟发生子单元3033具体可以是门控时钟电路,该门控时钟电路的输入端,用于接收门控电路输出的使能信号,该门控时钟电路的输出端,用于向延时单元301的p组q级寄存器中每个寄存器的时钟输出第一时钟脉冲,以触发p组q级寄存器中的每个寄存器执行锁存。

第二时钟发生子单元3034可以是时钟脉冲发生器,用于持续不断的向延时子单元3031的至少q级寄存器中的每个寄存器输出第二时钟脉冲。

需要指出的是,虽然本申请实施例中延时子单元3031的至少q级寄存器持续执行锁存,但是一个同步电路中p组q个寄存器的数量,是延时子单元3031的寄存器的数量的几何倍数,因此,采用本申请实施例的执行方式,延时子单元3031中的寄存器所产生的功耗较p组q个寄存器所减少的功耗可以忽略不计。

参见图6,图6是本申请实施例提供的同步电路一种可选实施方式,本实施例中,p为500,q为2,那么,异步信号x1输入第一组同步打拍电路,并经第一组同步打拍电路执行两级延时后,输出对应的同步信号y1,异步信号x2输入第二组同步打拍电路,并经第二组同步打拍电路执行两级延时后,输出对应的同步信号y2,依此类推,其他异步信号与同步打拍电路以及同步信号的对应关系,与上述描述类似,此处不再详述。

其中,本实施例中,第一组同步打拍电路将异步信号x1和同步信号y1输出到第一组异或门电路的输入端,第二组同步打拍电路将异步信号x2和同步信号y2输出到第二组异或门电路的输入端,相应的,每一组同步打拍电路将所对应的异步信号和同步信号输出到相应的异或门电路中。第一组异或门电路对异步信号x1的电平值和同步信号y1的电平值执行异或运算,得到异或运算结果xor1,第二组异或门电路对异步信号x2的电平值和同步信号y2的电平值执行异或运算,得到异或运算结果xor2,其他组异或门电路同样对输入的两个信号的电平值执行异或运算,并得到相应的异或运算结果,并且,500组异或门电路均将异或运算结果输出到或门电路的输入端。或门电路对异或运算结果xor1,异或运算结果xor2以及其他异或运算结果执行或运算,得到或运算结果clken,并将或运算结果clken输出到第501组同步打拍电路第一级寄存器的输入端。

需要说明的是,当异步信号x1发生跳变时,异步信号x1的电平值和同步信号y1的电平值不同,异或运算结果xor1是1,当异步信号x1未发生跳变时,异步信号x1的电平值和同步信号y1的电平值相同,异或运算结果xor1是0,相应的,其他异或运算结果同样与相应的异步信号是否跳变相关。当500个异或运算结果中有一个是1时,或运算结果clken为1,否则,或运算结果clken为0。

本实施例中,第501组同步打拍电路设置有两级寄存器,并且,该两级寄存器所接收的时钟脉冲,由时钟发生器c持续不断的输出。第501组同步打拍电路将或运算结果clken执行两级延时之后,输出到门控电路的输入端。

其中,本实施例中,门控电路在信号1的触发下向门控时钟电路发送使能信号,因此,当门控电路接收到的信号是0时,不做任何操作,那么,门控时钟电路不被触发,从而也不发送时钟脉冲。当门控电路接收到的信号是1时,向门控时钟电路发送使能信号,门控时钟电路被触发,向500组同步打拍电路中的全部寄存器输出时钟脉冲,500组同步打拍电路中的寄存器开始执行锁存,将500路异步信号延时两级。

此外,需要说明的是,图6对应的实施例中,触发门控电路向门控时钟电路发送使能信号的触控信号是1,在本申请的另一个实施例中,触控信号也可以是0。具体的,当触控信号时0时,信号1将不能触发门控电路向门控时钟电路发送使能信号,那么,基于图6所示的同步电路,或门电路的输出端可以将或运算输出至非门电路,非门电路的输出端将或运算结果的非运算结果输出至门控电路。具体的,本申请实施例不再详述。

具体的,参见图7,图7是对应图6所示的同步电路的信号波形图,本实施例以所示的时间段内异步信号x1和异步信号x2发生了跳变,其他异步信号未跳变为例。

其中,异步信号x1在50ns之后100ns之前的某时刻发生跳变,电平值从0变为1,由于此时同步信号y1是跳变之前的信号,电平值为0,因此,第一组异或门电路输出的异或运算结果xor1是1,进而,或门电路输出的或运算结果clken也是1。然后,或运算结果clken按照时钟发生器c提供的时钟脉冲的时钟周期延时两个周期,门控电路接受触控并向门控时钟电路发送使能信号,门控时钟电路输出时钟脉冲。在此过程中,每个处理过程均会造成一定延时,所以,门控时钟电路最终在200ns时,门控时钟电路向500组同步打拍电路输出时钟脉冲。其中,本实施例中,时钟发生器c提供的时钟脉冲的时钟周期也是50ns。

由于异步信号x1跳变后的电平值1持续到200ns之后250ns之前,而500组同步打拍电路中的寄存器均从200ns开始接收时钟脉冲并开始执行锁存,因此,第一组同步打拍电路在200ns时,能够采集到异步信号x1跳变后的信号,并对其执行两级延时,使得第一组同步打拍电路在250ns时输出异步信号x1开始跳变的信号的同步信号。

需要说明的是,根据图7所示,异步信号x1自跳变开始持续到约220ns,而异步信号x1跳变后的信号对应的同步信号y1,在250ns时才被输出,因此,从异步信号x1跳变开始到约220ns,异步信号x1的电平值与同步信号y1的电平值一直不同,使得异或运算结果xor1在该段时间内一直是1,或运算结果clken在该段时间内也一直是1。从而能够在将近150ns的时间段内,持续触发门控电路向门控时钟电路发送使能信号,进而,触发门控时钟电路持续将近150ns输出时钟脉冲,即,使得门控时钟电路从200ns开始至350ns一直输出时钟脉冲。

当然,当异步信号x1从约220ns开始电平值跳变为0,而同步信号y1从250ns至300ns的电平值一直是1,因此,从250ns至300ns的时间段内,异步信号x1的电平值与同步信号y1的电平值依然不同,其对应的异或运算结果xor1和产生的或运算结果clken也均为1,因此,该时间段也能够触发门控时钟电路输出时钟脉冲。

进一步的,从300ns开始,异步信号x1和同步信号y1均是跳变前的状态,即,异步信号x1的电平值和同步信号y1的电平值均是0,因此,其对应的异或运算结果xor1是0。本实施例中,若其他异步信号均无跳变,那么,或运算结果clken也为0,门控电路不被触发,进而,门控时钟电路停止输出时钟脉冲,直到任意异步信号发生跳变。例如,本实施例中,异步信号x2在约512ns时发生跳变,从而触发门控时钟电路再次输出时钟脉冲。具体的,与异步信号x1跳变时的触发过程类似。其中,同步信号x2、异或运算结果xor2、或运算结果clken以及时钟脉冲的变化详见图7所示,本申请实施例此处不再赘述。

需要指出的是,图7所示的实施例仅为本申请的一个可选示例,因此,虽然图7所示的实施例中,第一时钟脉冲和第二时钟脉冲的时钟周期相同,但是本申请的其他实施方式中,第一时钟脉冲和第二时钟脉冲的时钟周期也可以不同,本申请实施例对此不做限制。

图6所示的同步电路仅是本申请的一种可选实施方式,在本申请的另一个实施例中,p还可以是其他值,q可以是3,本申请实施例对此不做限制。此外,无论p和q的值是多少,其工作原理与图7对应的描述相同。

参见图8,图8是基于图5所示的同步电路的第二种实施方式的结构示意图,与图6不同的,本实施例中,每组同步打拍电路向相应的异或门电路输出3路待检测信号,其中,3路待检测信号包括对应路的异步信号、第一级寄存器的输出信号和对应路异步信号的同步信号。

当然,虽然图8所示的实施例中,每路异步信号对应3路待检测信号,但是图7所示的实施过程同样适用于图8的同步电路,具体的,本申请实施例不再重复。

此外,图6和图8仅仅是本申请的两种可选实施方式,对本申请实施例不构成限制。当q大于2时,每组同步打拍电路可以任选一级寄存器的输出信号,作为一路待检测信号输出至异或门电路,本申请实施例对此不做限制。

由此可见,本申请实施例的技术方案,通过异步信号当前的电平值与该异步信号上次延时后的电平值的关系,确定该异步信号是否发生跳变,并根据不同的结果对门控时钟电路形成不同的触发机制。使得门控时钟电路在异步信号跳变时,才向延时单元中的全部寄存器输出时钟脉冲,触发延时单元中的全部寄存器执行锁存。从而能够避免延时单元中的全部寄存器持续不断的频繁执行锁存,进而,能够大量降低同步电路的动态功耗。

本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1