CN100587652C - 时钟切换方法以及时钟切换装置 - Google Patents
时钟切换方法以及时钟切换装置 Download PDFInfo
- Publication number
- CN100587652C CN100587652C CN200710162656A CN200710162656A CN100587652C CN 100587652 C CN100587652 C CN 100587652C CN 200710162656 A CN200710162656 A CN 200710162656A CN 200710162656 A CN200710162656 A CN 200710162656A CN 100587652 C CN100587652 C CN 100587652C
- Authority
- CN
- China
- Prior art keywords
- clock
- signal
- processing module
- clock signal
- output terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Pulse Circuits (AREA)
- Electronic Switches (AREA)
Abstract
本发明公开了一种时钟切换方法,用于根据时钟选择信号进行第一、第二时钟信号的切换;包括:对该时钟选择信号分别在第一、第二时钟域中进行不同时序的同步处理;将同步后生成的第一、第二时钟选择信号作为门控使能信号,分别对第一、第二时钟信号进行门控处理;将门控处理后生成的第一、第二门控时钟信号组合输出。本发明还公开了相应的时钟切换装置。通过本发明,能够保证门控时钟的使能信号与时钟同步,避免门控时钟的毛刺或者亚稳态现象;能够避免时钟的相互叠加,从而避免时钟叠加所导致的时钟毛刺现象;易于实现且时钟切换的延时较小。
Description
技术领域
本发明涉及时钟信号的处理领域,尤其涉及一种时钟切换方法以及时钟切换装置。
背景技术
在芯片的实际使用中,进行时钟切换(Multiplexing)的情况非常普遍。由于在时钟切换过程中存在时钟域跨越(Clock Domain Crossing,简称CDC),因此往往导致输出时钟信号产生毛刺(glitch)。
比如,采用普通2路时钟选择器(图1A)进行时钟切换时,其输入信号包括快时钟输入信号(fast_clk)、慢时钟输入信号(slow_clk)以及时钟选择信号(fastclk_en),输出信号为时钟切换信号(sel_clk)。则当fastclk_en在slow_clk的上升沿之后很快地跳变为1,就会在sel_clk形成一个时钟毛刺,如图1B所示;而fastclk_en在fast_clk与slow_clk之间跳变,也可能导致sel_clk形成一个时钟毛刺,如图1C所示。可见,在fastclk_en与fast_clk、slow_clk的相互作用过程中,当其与两路时钟fast_clk与slow_clk相位不一致时,这种互相叠加干扰将导致时钟毛刺的产生。
由于时钟毛刺是危害电路稳定性的最主要因素,如何避免时钟毛刺的产生是时钟切换过程中必须考虑和保证的重要技术,因此为了克服上述问题,现有技术中多通过具有门控电路的改进电路(图2A)来进行时钟切换,如中国实用新型专利CN2872451,就公开了一种新型动态时钟切换电路,能够实现特定条件下时钟安全切换。但是这种改进电路仍然存在以下缺陷:
1、不能避免亚稳态现象:由于改进电路中门控电路的引入,导致了时钟亚稳态(metastability)问题的出现。如图2B所示,为门控电路的示意图,其输入信号包括时钟信号(clk)和选择信号(en),输出信号为门控信号(gated_clk),且该gated_clk为clk和en的锁存器输出信号(en_q)与clk的组合(与门)。参见图2C,当clk与en的相位干扰时,将导致亚稳态的产生。类似的,在该新型动态时钟切换电路中,由于仅有一路使能信号进行了同步,难以保证进入门控电路31或32的使能信号都与其触发时钟同步,因此不可避免地存在使能信号与触发时钟不同步所造成的亚稳态现象;
2、不能完全避免时钟毛刺现象:当快慢时钟频率相差较大时,难以避免门控输出时钟叠加所产生的毛刺;
3、使用过程中具有相当的局限性:使用该时钟切换电路进行时钟切换时,两次时钟切换之间的时间必须大于5个慢时钟周期和5个快时钟周期总长。
可以看出,现有技术中所提供的基于门控时钟的时钟切换装置不能完全避免毛刺问题,而且还引入了亚稳态和新的毛刺问题。
发明内容
本发明的目的是克服现有技术中的缺陷,提供一种时钟切换方案,以实现两个时钟的相互自由切换,并避免时钟毛刺和亚稳态的产生。
为实现上述目的,本发明的实施例提供了一种时钟切换方法,用于根据时钟选择信号进行第一、第二时钟信号的切换;包括以下步骤:
S1、对该时钟选择信号分别在第一、第二时钟域中进行同步处理,使同步后生成的第一时钟选择信号和第二时钟选择信号分别与第一时钟信号和第二时钟信号同步;
S2、将第一、第二时钟选择信号作为门控使能信号,分别对第一、第二时钟信号进行门控处理;
S3、将门控处理后生成的第一、第二门控时钟信号组合输出。
本发明的实施例还提供了一种时钟切换装置,用于根据时钟选择信号进行第一、第二时钟信号的切换;包括:时钟异序同步处理模块,用于对时钟选择信号分别在第一、第二时钟域中进行同步处理,使同步后生成的第一时钟选择信号和第二时钟选择信号分别与第一时钟信号和第二时钟信号同步;第一时钟门控处理模块,用于将同步后生成的第一时钟选择信号作为门控使能信号,对第一时钟信号进行门控处理;第二时钟门控处理模块,用于将同步后生成的第二时钟选择信号作为门控使能信号,对第二时钟信号进行门控处理;组合处理模块,用于将门控处理后生成的第一、第二门控时钟信号组合输出。
本发明的实施例还提供了相应的时钟切换装置,用于根据时钟选择信号进行快、慢时钟信号的切换。
由上述技术方案可知,本发明通过对时钟选择信号分别在两个时钟域进行同步处理,采用同步处理时序相异的方式,具有以下有益效果:
1、保证门控时钟的使能信号与触发时钟同步,避免门控时钟的毛刺或者亚稳态现象;
2、避免时钟的相互叠加,从而避免时钟叠加所导致的时钟毛刺现象;
3、易于实现且时钟切换的延时较小。
附图说明
图1A为现有技术中普通2路时钟选择器的电路图;
图1B为采用图1A所示时钟选择器进行时钟切换时的电路波形图;
图1C为采用图1A所示时钟选择器进行时钟切换时的另一电路波形图;
图2A为一具有门控电路的时钟选择器的电路图;
图2B为门控电路的电路图;
图2C为采用图2B所示门控电路时,en和clk不同步时的电路波形图;
图3为本发明所提供的时钟切换方法的一流程图;
图4为本发明所提供的时钟切换方法的一具体实施例流程图;
图5为本发明所提供的时钟切换方法的另一具体实施例流程图;
图6为本发明所提供的时钟切换装置的框图;
图7为本发明所提供的时钟切换装置的一实施例框图;
图8为本发明所提供的时钟切换装置的另一实施例框图;
图9显示了本发明所提供的时钟切换装置的一具体实施例电路功能图;
图10显示了本发明所提供的时钟切换装置一实施例的完整电路图,其门控时钟到低电平;
图11为采用图10所示电路由快时钟向慢时钟切换时的电路波形图;
图12为采用图10所示电路由慢时钟向快时钟切换时的电路波形图;
图13为图10所示电路中不使用寄存器R5时一电路波形图;
图14显示了本发明所提供的时钟切换装置一实施例的完整电路图,其门控时钟到高电平;
图15为采用图14所示电路时的部分电路波形图;
图16显示了本发明所提供的时钟切换装置另一实施例的完整电路图,其门控时钟到高电平。
具体实施方式
为了克服基于门控时钟的时钟切换器所存在的亚稳态,以及克服目前时钟切换器无法完全避免时钟切换时的毛刺现象等问题,本发明提供了相应的解决方案,下面通过具体实施例并结合附图进行详细描述。
本发明所提供的时钟切换方法用于根据时钟选择信号进行第一时钟信号和第二时钟信号的相互自由切换,避免CDC所带来的毛刺问题和亚稳态问题,以及时钟叠加所带来的毛刺现象。请结合附图3,包括以下步骤:
S1、对时钟选择信号分别在第一、第二时钟域中进行不同时序的同步处理;
可以看出,在本步骤S1中,对于时钟选择信号在两个时钟域分别进行同步处理,能够保证生成的两路信号(第一时钟选择信号和第二时钟选择信号)分别与第一时钟信号以及第二时钟信号同步,亦即相位一致,从而避免门控步骤中亚稳态和毛刺的产生。其中,在第一/第二时钟域中进行同步包括:采用第一/第二时钟信号作为触发时钟,进行至少二阶同步。
同时,这种同步处理的不同时序,能够保证所生成的两路信号(第一时钟选择信号和第二时钟选择信号)的跳变时间点区分开来,从而避免两路时钟使能区间的交叉,即两路时钟不能同时使能,从而避免组合输出步骤中叠加毛刺的产生。其中,进行延时处理包括:采用第一/第二时钟信号作为触发时钟;特别是,为了避免第一、第二时钟频率相差较大时由于时钟的叠加而产生毛刺,一般延时处理都选用慢时钟信号作为触发时钟。其中,当触发时钟为快时钟信号时,进行至少二阶延时,当触发时钟为慢时钟信号时,进行至少一阶延时。
S2、将同步后生成的第一时钟选择信号、第二时钟选择信号作为门控使能信号,分别对第一时钟信号、第二时钟信号进行门控处理;
可以看出,本步骤S2利用了现有技术中的门控电路技术来避免毛刺的产生;进一步的,由于作为门控使能信号的第一时钟选择信号与第一时钟信号同步,从而避免了对第一时钟信号进行门控处理时有可能出现的亚稳态问题;类似的,由于作为门控使能信号的第二时钟选择信号与第二时钟信号同步,从而避免了对第二时钟信号进行门控处理时有可能出现的毛刺现象和亚稳态问题。
作为本步骤S2的一个实施例1,包括以下步骤:
S21、采用同步后生成的第一时钟选择信号、第二时钟选择信号作为使能信号,对第一时钟信号、第二时钟信号分别进行低电平触发的锁存处理;
S22、将锁存处理后的生成信号分别与第一时钟信号、第二时钟信号进行逻辑“与”处理;
S23、生成第一门控时钟信号、第二门控时钟信号。
或者,作为本步骤S2的实施例2,包括以下步骤:
S21′、采用同步后生成的第一、第二时钟选择信号作为使能信号,对第一、第二时钟信号分别进行低电平触发的锁存处理;
S22′、对锁存处理后生成的信号分别进行取反操作;
S23′、将取反操作后的生成信号分别与第一时钟信号、第二时钟信号进行逻辑“或”处理;
S24′、生成第一门控时钟信号、第二门控时钟信号。
S3、将门控处理后生成的第一门控时钟信号、第二门控时钟信号组合输出。
在本步骤中,由于第一时钟选择信号和第二时钟选择信号不会同时使能,因此避免了门控处理后输出的第一、第二门控时钟信号的相互叠加干扰现象,从而避免了组合输出时由于时钟相互叠加所产生的毛刺。
具体的,当上述步骤S2采用实施例1实现时,步骤S3包括:将门控处理后生成的第一门控时钟信号、第二门控时钟信号以逻辑“或”的方式组合输出。
当上述步骤S2采用实施例2实现时,步骤S3包括:将门控处理后生成的第一门控时钟信号、第二门控时钟信号以逻辑“与”的方式组合输出。
可以看出,通过上述步骤S1~S3,能够避免门控环节有可能导致的毛刺和亚稳态现象,以及,避免组合环节时钟叠加所产生的毛刺现象,从而能够实现时钟无条件的自由切换。
具体的,步骤S1的一个实施例可以包括:
S11、对时钟选择信号,在第二时钟域中进行第一次同步;
S12、对第一次同步后的生成信号进行取反操作,生成第二时钟选择信号;
S13、对第一次同步后的生成信号,进行延时处理;
S14、对延时处理后的生成信号,在第一时钟域中进行第二次同步;
S15、对时钟选择信号与第二次同步后的生成信号进行逻辑“与”操作,生成第一时钟选择信号。
需要指出,上面所描述的实施例尤其适合于第一时钟信号为快时钟信号,第二时钟信号为慢时钟信号的情况。在此情况下,进行逻辑“与”操作时起作用的是第二次同步后的生成信号,因此在第二次同步之前进行延时。
或者,步骤S1的另一个实施例可以包括:
S11′、对所述时钟选择信号进行延时处理;
S12′、对延时处理后的生成信号,在第二时钟域中进行第一次同步;
S13′、对所述第一次同步后的生成信号进行取反操作,生成第二时钟选择信号;
S14′、对所述第一次同步后的生成信号,在第一时钟域中进行第二次同步;
S15′、对所述时钟选择信号与所述第二次同步后的生成信号进行逻辑“与”操作,生成第一时钟选择信号。
需要指出,上面所描述的实施例尤其适合于第一时钟信号为慢时钟信号,第二时钟信号为快时钟信号的情况。在此情况下,进行逻辑“与”操作时起作用的是时钟选择信号,因此在第一次同步之前进行延时。
由于在上述实现方案中,时钟选择信号需要与第二次同步后的生成信号进行逻辑“与”操作以生成第一时钟选择信号,因此当时钟选择信号与第一时钟信号不同步时,有可能在与处理过程中产生毛刺。为了杜绝毛刺出现的可能性,则S1之前还包括步骤S0:对所述时钟选择信号,在第一时钟域中进行预同步。
通过预同步处理,保证了进行与处理时,时钟选择信号已经与第一时钟信号同步,进而保证了进行与处理时时不会由于相位干涉而产生毛刺。
较佳的,可以有选择的进行时钟选择信号在第一时钟域中的同步,即所述步骤S0包括:
S01、识别所述时钟选择信号是否与第一时钟信号同步,是则直接执行步骤S1,否则执行步骤S02;
S02、对所述时钟选择信号在第一时钟域中进行同步,并对同步后的时钟选择信号执行步骤S1。
请进一步结合附图4和附图5,分别显示了本发明所提供的时钟切换方法的具体实施例的流程图。
本发明还提供实现时钟无毛刺自由切换的时钟切换装置,请参考图6,包括:
时钟异序同步处理模块100,接收时钟选择信号和第一、第二时钟信号的输入,用于对时钟选择信号分别在第一、第二时钟域中进行同步处理;
第一时钟门控处理模块200,用于将同步后生成的第一时钟选择信号作为门控使能信号,对第一时钟信号进行门控处理;
第二时钟门控处理模块300,用于将同步后生成的第二时钟选择信号作为门控使能信号,对第二时钟信号进行门控处理;
组合处理模块400,用于将门控处理后生成的第一门控时钟信号和第二门控时钟信号组合输出,该输出信号就是切换后的时钟信号。
通过上述时钟切换装置可以看出,时钟异序同步处理模块100的同步处理,保证了第一时钟门控处理模块200和第二时钟门控处理模块300进行门控处理时,不致出现毛刺和亚稳态现象;而时钟异序同步处理模块100的不同时序处理,保证了组合处理模块400进行信号组合时,不致出现由于时钟叠加导致的毛刺现象。
作为时钟异序同步处理模块100的一个实施例,请参考图7,时钟异序同步处理模块100可以包括:
一次同步处理模块101,用于对时钟选择信号在第二时钟域中进行第一次同步;
延时处理模块102,与一次同步处理模块101连接,用于对第一次同步后的生成信号,进行延时处理;
二次同步处理模块103,与延时处理模块102连接,用于对延时处理后的生成信号,在第一时钟域中进行第二次同步;
与处理模块104,与二次同步处理模块103连接,用于对时钟选择信号与第二次同步后的生成信号进行逻辑“与”操作,生成第一时钟选择信号;
反相处理模块105,与一次同步处理模块101连接,用于对第一次同步后的生成信号进行取反操作,生成第二时钟选择信号。
需要指出,上面所描述的实施例适合于第一时钟信号为快时钟信号,第二时钟信号为慢时钟信号的情况。在此情况下,与处理模块104进行逻辑“与”操作时起作用的是第二次同步后的生成信号,因此延时处理模块102设置在在二次同步处理模块103之前。
作为时钟异序同步处理模块100的另一个实施例,请参考图8,时钟异序同步处理模块100可以按照以下方式构成:一次同步处理模块101连接在延时处理模块102之后,二次同步处理模块103对第一次同步后的生成信号,在第一时钟域中进行第二次同步。需要指出,本实施例尤其适合于第一时钟信号为慢时钟信号,第二时钟信号为快时钟信号的情况。在此情况下,进行逻辑“与”操作时起作用的是时钟选择信号,因此在一次同步处理模块101之前设置延时处理模块102。
由于在上述实现方案中,反相处理模块105需要对时钟选择信号与第二次同步后的生成信号进行逻辑“与”操作以生成第一时钟选择信号,因此当时钟选择信号与第一时钟信号不同步时,有可能在与处理过程中产生毛刺。为了杜绝毛刺出现的可能性,则本时钟切换装置还包括预同步处理模块001,用于接收时钟选择信号的输入,对时钟选择信号在第一时钟域中进行同步,并将同步后的时钟选择信号输入到时钟异序同步处理模块100中。
较佳的,为了避免每一次都进行预同步的处理,在上面描述的时钟切换装置基础上,本时钟切换装置还可以包括:
同步识别模块002,用于在预同步处理模块001之前接收时钟选择信号的输入,并识别时钟选择信号是否与第一时钟信号同步,是则将时钟选择信号输入时钟异序同步处理模块100中;否则将时钟选择信号输入预同步处理模块001中。
其中,本实施例所涉及的任一同步步处理模块至少由双寄存器构成,其触发时钟为相应时钟域的时钟信号;所述延时处理模块触发时钟为第一/第二时钟信号。具体来说,一次同步处理模块101的触发时钟为第二时钟信号,二次同步处理模块103和预同步处理模块001的触发时钟为第一时钟信号,而延时处理模块102的触发时钟可以为第一/第二时钟信号。特别是,为了避免第一、第二时钟频率相差较大时由于时钟的叠加而产生毛刺,一般延时处理都选用慢时钟信号作为触发时钟。其中,当触发时钟为快时钟信号时,所述延时处理模块102至少由二阶寄存器构成,当触发时钟为慢时钟信号时,所述延时处理模块102至少由单寄存器构成。
对于第一、第二门控时钟处理模块和组合处理模块,也可以存在不同的实现方案。
例如,第一时钟门控处理模块200可以包括:第一锁存处理模块,用于采用第一时钟信号作为触发时钟,对第一时钟选择信号进行低电平触发的锁存处理;第一与处理模块,用于将第一锁存处理模块输出的信号与第一时钟信号进行逻辑“与”处理,生成第一门控时钟信号;相应的,第二时钟门控处理模块300可以包括:第二锁存处理模块,用于采用第二时钟信号作为触发时钟,对第二时钟选择信号进行低电平触发的锁存处理;第二与处理模块,用于将第二锁存处理模块输出的信号与第二时钟信号进行逻辑“与”处理,生成第二门控时钟信号;则,组合处理模块400包括或处理模块,分别与第一与处理模块和第二与处理模块连接,用于将门控处理后生成的第一、第二门控时钟信号以逻辑“或”的方式组合输出。
再比如,第一时钟门控处理模块200可以包括:第一锁存处理模块,用于采用第一时钟信号作为触发时钟,对第一时钟选择信号进行低电平触发的锁存处理;第一反相处理模块,用于对锁存处理后生成的信号进行取反操作;第一或处理模块,用于将第一反相处理模块输出的信号与第一时钟信号进行逻辑“或”处理,生成第一门控时钟信号;相应的,第二时钟门控处理模块300包括:第二锁存处理模块,用于采用第二时钟信号作为触发时钟,对第二时钟选择信号进行低电平触发的锁存处理;第二反相处理模块,用于对锁存处理后生成的信号进行取反操作;第二或处理模块,用于将第二反相处理模块输出的信号与第二时钟信号进行逻辑“或”处理,生成第二门控时钟信号;则,组合处理模块400包括与处理模块,分别与第一或处理模块和第二或处理模块连接,用于将门控处理后生成的第一、第二门控时钟信号以逻辑“与”的方式组合输出。
基于上述时钟切换方法和时钟切换装置的技术方案,可以衍生出多种具体的时钟切换电路加以实现,下面通过举例的方式加以描述,但非限制。在下面的实施例中,以快时钟信号(fast_clk)为第一时钟信号,慢时钟信号(slow_clk)为第二时钟信号举例说明。
在本实施例中,时钟切换方法包括:
对时钟选择信号fastclk_en,在快时钟域中进行预同步;
对同步后的时钟选择信号,采用慢时钟信号slow_clk作为触发时钟进行二阶同步(第一次同步);
对第一次同步后的生成信号进行取反操作,生成慢时钟选择信号sen;
对二阶同步后的生成信号,采用慢时钟信号slow_clk作为触发时钟进行一阶延时(延时处理);
对延时处理后的生成信号,采用快时钟信号fast_clk作为触发时钟进行二阶同步(第二次同步);
对时钟选择信号与第二次同步后的生成信号进行逻辑“与”操作,生成快时钟选择信号fen;
将fen和sen作为门控使能信号,分别对快时钟信号fast_clk、慢时钟信号slow_clk进行门控处理,生成快门控时钟信号fclk_gated、慢门控时钟信号sclk_gated;
将fcik_gated和scik_gated组合输出。
需要指出,上述S1具体实施例中同步阶数的选择是保证组合输出时无叠加毛刺和门控无亚稳态的最低要求,本领域技术人员也可以相应进行更多阶数的同步处理和延时处理,但会延长处理时间。
请结合图9,本实施例中时钟切换装置包括:
第一双寄存器同步电路,用于进行预同步;
三寄存器同步电路,用于采用慢时钟信号slow_clk作为触发时钟,对时钟选择信号fastclk_en进行三阶同步;此时,时钟选择信号fastclk_en为经过同步处理的时钟选择信号;
第二双寄存器同步电路,用于采用快时钟信号fast_clk作为触发时钟,对三寄存器同步电路输出的信号进行二阶同步;
与门,用于对时钟选择信号fastclk_en与第二双寄存器同步电路输出的信号进行与操作,生成快时钟选择信号fen;
反相器,用于接收三寄存器同步电路的二阶输出,经反相操作生成慢时钟选择信号sen;
快时钟门控电路,用于将同步后生成的快钟选择信号fen作为门控使能信号,对快时钟信号fast_clk进行门控处理;
慢时钟门控电路,用于将同步后生成的快钟选择信号sen作为门控使能信号,对快时钟信号slow_clk进行门控处理;
其中,快、慢时钟门控电路可采用低电平出发的锁存器与一个与门的组合,也可以采用反相器与一个或门的组合实现。
具体而言,当采用锁存器与一个与门的组合时,相应的要采用或门进行组合输出,如本实施例所示;采用反相器与一个或门的组合时,相应的要采用与门组合输出。
本领域技术人员可以了解,第一时钟信号为慢时钟信号(slow_clk),第二时钟信号为快时钟信号(fast_clk)时同样适用。特别的,在此情况下,较佳的实施例为先进行延时,再进行第一次同步。
下面结合实际电路的设计以及相应的波形图对本发明提供的时钟切换方法和时钟切换装置进行描述。
以快时钟信号(fast_clk)为第一时钟信号,慢时钟信号(slow_clk)为第二时钟信号举例,请结合图10,为一个门控时钟到低电平的完整电路图,包括:
寄存器R1,其D端连接时钟选择信号fastclk_en,clk端连接快时钟信号fast_clk,输出信号为fen0;
寄存器R2,其D端与寄存器R1的输出端连接,clk端连接快时钟信号fast_clk,输出信号为fen1;可以看出,fen1为fastclk_en在快时钟域内进行二阶预同步的结果;
寄存器R3和R4,其D端与前一寄存器的输出端连接,clk端连接slow_clk,输出信号分别为sen0和sen1;其中,sen1是将fen1进行2阶慢时钟同步的结果;
寄存器R5,其D端与寄存器R4的输出端连接,clk端连接slow_clk,输出信号为sen2;sen2相当于对sen1进行一阶延时的结果;
寄存器R6、R7,其D端与前一寄存器的输出端连接,clk端连接fast_clk,输出信号分别为fen2和fen3;可以看出,fen3是对sen2进行2阶快时钟同步的结果;
与门A3,其输入端分别与第二寄存器R2的输出端和第七寄存器R7的输出端连接,即接收信号fen1与fen3;其输出即为快时钟门控的使能信号fen;
反相器I1,其输入端与第四寄存器R4的输出端连接,即接收信号sen1;其输出即为慢时钟门控的使能信号sen;
锁存器L1,其D端与所述与门A3的输出端连接,其clk端连接快时钟信号fast_clk;
与门A1,其输入端连接锁存器L1的输出端以及快时钟信号fast_clk,其输出端输出快门控时钟信号fclk_gated;
锁存器L2,其D端与反相器I1的输出端连接,其clk端连接慢时钟信号slow_clk;
与门A2,其输入端连接锁存器L2的输出端以及慢时钟信号slow_clk,其输出端输出慢门控时钟信号sclk_gated;
或门O3,其输入端分别接收快门控时钟信号fclk_gated和慢门控时钟信号sclk_gated,其输出端为所述时钟切换装置的输出端,输出时钟切换信号sel_clk。
采用本实施例所示电路,时钟选择信号fastclk_en的初始状态(1或0)可以任意选择,而且该时钟选择信号fastclk_en的时钟域可以任意,不必与快时钟或者慢时钟保持同步。
参见图11,为采用本实施例所示电路由快时钟向慢时钟切换时的电路波形图。其中,sen的开启早于fen的关闭,避免了两路时钟重叠产生的毛刺;以及,由于fen、sen都是和各自的时钟fast_clk、slow_clk同步,避免了门控使能信号和时钟不同步引起的毛刺以及亚稳态现象。
参见图12,为采用本实施例所示电路由慢时钟向快时钟切换时的电路波形图。其中,sen的关闭早于fen的开启,避免了两路时钟重叠产生的毛刺;以及,由于fen、sen都是和各自的时钟fast_clk、slow_clk同步,避免了门控使能信号和时钟不同步引起的毛刺以及亚稳态现象。
特别需要指出的是,寄存器R5用于进行延时处理,是为了在快慢时钟频率相差较大时,完全避免时钟叠加时的毛刺产生现象。参见图13,显示了不使用寄存器R5可能出现的波形,该波形由于信号叠加而产生了毛刺。
总的来说,本实施例所提供的时钟切换装置的时延为:从快时钟到慢时钟,最快1个快时钟周期和1个慢时钟周期,最慢为2个快时钟周期和2个慢时钟周期。从慢时钟到快时钟,最快2个快时钟周期和2个慢时钟周期,最慢为4个快时钟周期和3个慢时钟周期。具有较小的时延和电路规模。
本领域技术人员可以理解,当慢时钟信号(slow_clk)为第一时钟信号,快时钟信号(fast_clk)为第二时钟信号时,相当于将本实施例中全部器件的快时钟输入替换为慢时钟输入,慢时钟输入替换为快时钟输入既可,不会对本发明的技术方案构成影响。同时,上述器件数量的选择是保证组合输出时无叠加毛刺和门控无亚稳态的最低要求,本领域技术人员也可以相应选用更多寄存器来进行更多阶数的同步处理和延时处理,但会延长处理时间。但较佳的,慢时钟信号(slow_clk)为第一时钟信号,快时钟信号(fast_clk)为第二时钟信号时的实现方案最好先进行延时,再进行同步。
仍以快时钟信号(fast_clk)为第一时钟信号,慢时钟信号(slow_clk)为第二时钟信号举例,请结合图14,为一个门控时钟到高电平的完整电路图,包括:
寄存器R1,其D端连接时钟选择信号fastclk_en,clk端连接快时钟信号fast_clk,输出信号为fen0;
寄存器R2,其D端与寄存器R1的输出端连接,clk端连接快时钟信号fast_clk,输出信号为fen1;可以看出,fen1为fastclk_en在快时钟域内进行二阶预同步的结果;
寄存器R3和R4,其D端与前一寄存器的输出端连接,clk端连接slow_clk,输出信号分别为sen0和sen1;其中,sen1是将fen1进行2阶慢时钟同步的结果;
寄存器R5,其D端与寄存器R4的输出端连接,clk端连接slow_clk,输出信号为sen2;sen2相当于对sen1进行一阶延时的结果;
寄存器R6、R7,其D端与前一寄存器的输出端连接,clk端连接fast_clk,输出信号分别为fen2和fen3;可以看出,fen3是对sen2进行2阶快时钟同步的结果;
与门A3,其输入端分别与第二寄存器R2的输出端和第七寄存器R7的输出端连接,即接收信号fen1与fen3;其输出即为快时钟门控的使能信号fen;
反相器I0,其输入端与第四寄存器R4的输出端连接,即接收信号sen1;其输出即为慢时钟门控的使能信号sen;
第一锁存器L1,其D端与所述第三与门A3的输出端连接,其clk端连接快时钟信号fast_clk;
反相器I1,其输入端与第一锁存器L1的输出端连接,输出信号为fenb;
或门O1,其输入端连接反相器I1的输出端以及快时钟信号fast_clk,其输出端输出快门控时钟信号fclk_gated;
第二锁存器L2,其D端与反相器I0的输出端连接,其clk端连接慢时钟信号slow_clk;
反相器I2,其输入端与反相器I0的输出端连接,输出信号为senb;
或门O2,其输入端连接反相器I2的输出端以及慢时钟信号slow_clk,其输出端输出慢门控时钟信号sclk_gated;
与门A4,其输入端分别接收快门控时钟信号fclk_gated和慢门控时钟信号sclk_ gated,其输出端为所述时钟切换装置的输出端,输出时钟切换信号sel_clk。
采用上述电路,时钟选择信号fastclk_en的初始状态(1或0)可以任意选择,而且该时钟选择信号fastclk_en的时钟域可以任意,不必与快时钟或者慢时钟保持同步。以及,能够避免两路时钟重叠产生的毛刺和避免门控使能信号与时钟不同步引起的毛刺以及亚稳态现象,其部分波形图如图15所示。
同样的,当慢时钟信号(slow_clk)为第一时钟信号,快时钟信号(fast_clk)为第二时钟信号时,相当于将本实施例中全部器件的快时钟输入替换为慢时钟输入,慢时钟输入替换为快时钟输入既可,不会对本发明的技术方案构成影响。同时,上述器件数量的选择是保证组合输出时无叠加毛刺和门控无亚稳态的最低要求,本领域技术人员也可以相应选用更多寄存器来进行更多阶数的同步处理和延时处理,但会延长处理时间。但较佳的,慢时钟信号(slow_clk)为第一时钟信号,快时钟信号(fast_clk)为第二时钟信号时的实现方案如图16所示,为一个门控时钟到高电平的完整电路图。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (18)
1.一种时钟切换方法,用于根据时钟选择信号进行第一、第二时钟信号的切换;其特征在于,包括以下步骤:
S1、对所述时钟选择信号分别在第一、第二时钟域中进行同步处理,使同步后生成的第一时钟选择信号和第二时钟选择信号分别与第一时钟信号和第二时钟信号同步;
S2、将所述第一、第二时钟选择信号作为门控使能信号,分别对第一、第二时钟信号进行门控处理;
S3、将门控处理后生成的第一、第二门控时钟信号组合输出。
2.根据权利要求1所述的时钟切换方法,其特征在于,所述步骤S1包括:
S11、对所述时钟选择信号,在第二时钟域中进行第一次同步;
S12、对所述第一次同步后的生成信号进行取反操作,生成第二时钟选择信号;
S13、对所述第一次同步后的生成信号,进行延时处理;
S14、对所述延时处理后的生成信号,在第一时钟域中进行第二次同步;
S15、对所述时钟选择信号与所述第二次同步后的生成信号进行逻辑“与”操作,生成第一时钟选择信号。
3.根据权利要求1所述的时钟切换方法,其特征在于,所述步骤S1包括:
S11′、对所述时钟选择信号进行延时处理;
S12′、对延时处理后的生成信号,在第二时钟域中进行第一次同步;
S13′、对所述第一次同步后的生成信号进行取反操作,生成第二时钟选择信号;
S14′、对所述第一次同步后的生成信号,在第一时钟域中进行第二次同步;
S15′、对所述时钟选择信号与所述第二次同步后的生成信号进行逻辑“与”操作,生成第一时钟选择信号。
4.根据权利要求2或3所述的时钟切换方法,其特征在于,所述步骤S1之前还包括步骤S0:对所述时钟选择信号,在第一时钟域中进行预同步。
5.根据权利要求4所述的时钟切换方法,其特征在于,所述步骤S0包括:
S01、识别所述时钟选择信号是否与第一时钟信号同步,是则直接执行步骤S1,否则执行步骤S02;
S02、对所述时钟选择信号在第一时钟域中进行同步,并对同步后的时钟选择信号执行步骤S1。
6.根据权利要求2或3所述的时钟切换方法,其特征在于:
所述在第一/第二时钟域中进行同步包括:采用第一/第二时钟信号作为触发时钟,进行至少二阶同步;
所述进行延时处理包括:采用第一/第二时钟信号作为触发时钟,进行延时;其中,当触发时钟为快时钟信号时,进行至少二阶延时,当触发时钟为慢时钟信号时,进行至少一阶延时。
7.根据权利要求1或2所述的时钟切换方法,其特征在于,所述步骤S2包括:
S21、采用同步后生成的第一、第二时钟选择信号作为使能信号,对第一、第二时钟信号分别进行低电平触发的锁存处理;
S22、将锁存处理后的生成信号分别与第一、第二时钟信号进行逻辑“与”处理;
S23、生成第一、第二门控时钟信号;
所述步骤S3包括:将门控处理后生成的第一、第二门控时钟信号以逻辑“或”的方式组合输出。
8.根据权利要求1或3所述的时钟切换方法,其特征在于,所述步骤S2包括:
S21′、采用同步后生成的第一、第二时钟选择信号作为使能信号,对第一、第二时钟信号分别进行低电平触发的锁存处理;
S22′、对锁存处理后生成的信号分别进行取反操作;
S23′、将取反操作后的生成信号分别与第一、第二时钟信号进行逻辑“或”处理;
S24′、生成第一、第二门控时钟信号;
所述步骤S3包括:将门控处理后生成的第一、第二门控时钟信号以逻辑“与”的方式组合输出。
9.一种时钟切换装置,用于根据时钟选择信号进行第一、第二时钟信号的切换;其特征在于,包括:
时钟异序同步处理模块,用于对所述时钟选择信号分别在第一、第二时钟域中进行同步处理,使同步后生成的第一时钟选择信号和第二时钟选择信号分别与第一时钟信号和第二时钟信号同步;
第一时钟门控处理模块,用于将同步后生成的第一时钟选择信号作为门控使能信号,对第一时钟信号进行门控处理;
第二时钟门控处理模块,用于将同步后生成的第二时钟选择信号作为门控使能信号,对第二时钟信号进行门控处理;
组合处理模块,用于将门控处理后生成的第一、第二门控时钟信号组合输出。
10.根据权利要求9所述的时钟切换装置,其特征在于,所述时钟异序同步处理模块包括:
一次同步处理模块,用于对所述时钟选择信号,在第二时钟域中进行第一次同步;
延时处理模块,与所述一次同步处理模块连接,用于对所述第一次同步后的生成信号,进行延时处理;
二次同步处理模块,与所述延时处理模块连接,用于对所述延时处理后的生成信号,在第一时钟域中进行第二次同步;
与处理模块,与所述二次同步处理模块连接,用于对所述时钟选择信号与所述第二次同步后的生成信号进行逻辑“与”操作,生成第一时钟选择信号;
反相处理模块,与所述一次同步处理模块连接,用于对所述第一次同步后的生成信号进行取反操作,生成第二时钟选择信号。
11.根据权利要求9所述的时钟切换装置,其特征在于,所述时钟异序同步处理模块包括:
延时处理模块,用于对所述时钟选择信号进行延时处理;
一次同步处理模块,与所述延时处理模块连接,用于对延时处理后的生成信号,在第二时钟域中进行第一次同步;
二次同步处理模块,与所述一次同步处理模块连接,用于对所述第一次同步后的生成信号,在第一时钟域中进行第二次同步;
与处理模块,与所述二次同步处理模块连接,用于对所述时钟选择信号与所述第二次同步后的生成信号进行逻辑“与”操作,生成第一时钟选择信号;
反相处理模块,与所述一次同步处理模块连接,用于对所述第一次同步后的生成信号进行取反操作,生成第二时钟选择信号。
12.根据权利要求10或11所述的时钟切换装置,其特征在于,还包括预同步处理模块,用于接收时钟选择信号的输入,对所述时钟选择信号在第一时钟域中进行同步,并将同步后的时钟选择信号输入到所述时钟异序同步处理模块中。
13.根据权利要求12所述的时钟切换装置,其特征在于,还包括识别模块,用于在所述预同步处理模块之前接收时钟选择信号的输入,并识别所述时钟选择信号是否与所述第一时钟信号同步,是则将所述时钟选择信号输入所述时钟异序同步处理模块中,否则将所述时钟选择信号输入所述预同步处理模块中。
14.根据权利要求9-11任一所述的时钟切换装置,其特征在于,所述任一同步处理模块至少由双寄存器构成,其触发时钟为相应时钟域的时钟信号;所述延时处理模块的触发时钟为第一/第二时钟信号,其中,当触发时钟为快时钟信号时,所述延时处理模块至少由二阶寄存器构成,当触发时钟为慢时钟信号时,所述延时处理模块至少由单寄存器构成。
15.根据权利要求9-11任一所述的时钟切换装置,其特征在于,
所述第一时钟门控处理模块包括:
第一锁存处理模块,用于采用第一时钟信号作为触发时钟,对所述第一时钟选择信号进行低电平触发的锁存处理;
第一与处理模块,用于将所述第一锁存处理模块输出的信号与第一时钟信号进行逻辑“与”处理,生成第一门控时钟信号;
所述第二时钟门控处理模块包括:
第二锁存处理模块,用于采用第二时钟信号作为触发时钟,对所述第二时钟选择信号进行低电平触发的锁存处理;
第二与处理模块,用于将所述第二锁存处理模块输出的信号与第二时钟信号进行逻辑“与”处理,生成第二门控时钟信号;
所述组合处理模块包括或处理模块,分别与第一与处理模块和第二与处理模块连接,用于将门控处理后生成的第一、第二门控时钟信号以逻辑“或”的方式组合输出。
16.根据权利要求9-11任一所述的时钟切换装置,其特征在于,
所述第一时钟门控处理模块包括:
第一锁存处理模块,用于采用第一时钟信号作为触发时钟,对所述第一时钟选择信号进行低电平触发的锁存处理;
第一反相处理模块,用于对锁存处理后生成的信号进行取反操作;
第一或处理模块,用于将所述第一反相处理模块输出的信号与第一时钟信号进行逻辑“或”处理,生成第一门控时钟信号;
所述第二时钟门控处理模块包括:
第二锁存处理模块,用于采用第二时钟信号作为触发时钟,对所述第二时钟选择信号进行低电平触发的锁存处理;
第二反相处理模块,用于对锁存处理后生成的信号进行取反操作;
第二或处理模块,用于将所述第二反相处理模块输出的信号与第二时钟信号进行逻辑“或”处理,生成第二门控时钟信号;
所述组合处理模块包括与处理模块,分别与第一或处理模块和第二或处理模块连接,用于将门控处理后生成的第一、第二门控时钟信号以逻辑“与”的方式组合输出。
17.一种时钟切换装置,用于根据时钟选择信号进行快、慢时钟信号的切换;其特征在于,包括:
第一寄存器,其D端连接所述时钟选择信号,clk端连接快时钟信号;
第二寄存器,其D端与所述第一寄存器的输出端连接,clk端连接快时钟信号;
第三、第四寄存器,其D端与前一寄存器的输出端连接,clk端连接慢时钟信号;
第五寄存器,其D端与第四寄存器的输出端连接,clk端连接慢时钟信号;
第六、第七寄存器,其D端与前一寄存器的输出端连接,clk端连接快时钟信号;
第三与门,其输入端分别与第二寄存器的输出端和第七寄存器的输出端连接;
反相器,其输入端与所述第四寄存器的输出端连接;
第一锁存器,其D端与所述第三与门的输出端连接,其clk端连接快时钟信号;
第一与门,其输入端连接所述第一锁存器的输出端以及快时钟信号,其输出端输出快门控时钟信号;
第二锁存器,其D端与所述反相器的输出端连接,其clk端连接慢时钟信号;
第二与门,其输入端连接所述第二锁存器的输出端以及慢时钟信号,其输出端输出慢门控时钟信号;
第三或门,其输入端分别接收快门控时钟信号和慢门控时钟信号,其输出端为所述时钟切换装置的输出端。
18.一种时钟切换装置,用于根据时钟选择信号进行快、慢时钟信号的切换;其特征在于,包括:
第一寄存器,其D端连接所述时钟选择信号,clk端连接快时钟信号;
第二寄存器,其D端与所述第一寄存器的输出端连接,clk端连接快时钟信号;
第三、第四寄存器,其D端与前一寄存器的输出端连接,clk端连接慢时钟信号;
第五寄存器,其D端与第四寄存器的输出端连接,clk端连接慢时钟信号;
第六、第七寄存器,其D端与前一寄存器的输出端连接,clk端连接快时钟信号;
第三与门,其输入端分别与第二寄存器的输出端和第七寄存器的输出端连接;
反相器,其输入端与所述第四寄存器的输出端连接;
第一锁存器,其D端与所述第三与门的输出端连接,其clk端连接快时钟信号;
第一反相器,其输入端与所述第一锁存器的输出端连接;
第一或门,其输入端连接所述第一反相器的输出端以及快时钟信号,其输出端输出快门控时钟信号;
第二锁存器,其D端与所述反相器的输出端连接,其clk端连接慢时钟信号;
第二反相器,其输入端与所述第二锁存器的输出端连接;
第二或门,其输入端连接所述第二反相器的输出端以及慢时钟信号,其输出端输出慢门控时钟信号;
第四与门,其输入端分别接收快门控时钟信号和慢门控时钟信号,其输出端为所述时钟切换装置的输出端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710162656A CN100587652C (zh) | 2007-10-16 | 2007-10-16 | 时钟切换方法以及时钟切换装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710162656A CN100587652C (zh) | 2007-10-16 | 2007-10-16 | 时钟切换方法以及时钟切换装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101126941A CN101126941A (zh) | 2008-02-20 |
CN100587652C true CN100587652C (zh) | 2010-02-03 |
Family
ID=39094996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710162656A Active CN100587652C (zh) | 2007-10-16 | 2007-10-16 | 时钟切换方法以及时钟切换装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100587652C (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526829B (zh) * | 2008-03-06 | 2011-08-10 | 中兴通讯股份有限公司 | 无毛刺时钟切换电路 |
CN101592975B (zh) * | 2008-05-30 | 2012-10-03 | 深圳艾科创新微电子有限公司 | 一种时钟切换电路 |
CN101377691B (zh) * | 2008-09-05 | 2012-01-11 | 无锡中星微电子有限公司 | 一种apb总线跨时钟域访问的电路及方法 |
US8415981B2 (en) * | 2011-08-15 | 2013-04-09 | Mediatek Singapore Pte. Ltd. | Integrated circuit device, synchronisation module, electronic device and method therefor |
CN103838295A (zh) * | 2012-11-27 | 2014-06-04 | 中兴通讯股份有限公司 | 一种低速外设模组集成方法及装置 |
US9323285B2 (en) * | 2013-08-13 | 2016-04-26 | Altera Corporation | Metastability prediction and avoidance in memory arbitration circuitry |
CN104714774A (zh) * | 2013-12-14 | 2015-06-17 | 中国航空工业集团公司第六三一研究所 | 一种基于数字电路的真随机数的产生方法 |
CN104579295A (zh) * | 2014-12-10 | 2015-04-29 | 中国电子科技集团公司第四十七研究所 | 时钟动态切换电路及方法 |
CN105138069B (zh) * | 2015-10-23 | 2018-03-09 | 上海华力创通半导体有限公司 | 一种数字域时钟选择装置及实现方法 |
CN106055026B (zh) * | 2016-07-20 | 2019-04-12 | 深圳市博巨兴实业发展有限公司 | 一种微控制器soc中实时时钟单元 |
CN109787625B (zh) * | 2019-03-05 | 2022-04-05 | 上海芷锐电子科技有限公司 | 一种基于双pll的系统超频引起的电压毛刺保护系统 |
CN110502066B (zh) * | 2019-08-15 | 2021-03-02 | Oppo广东移动通信有限公司 | 时钟切换装置、方法及电子设备 |
CN111490867B (zh) * | 2020-04-26 | 2021-02-12 | 杭州锐讯科技有限公司 | 一种面向分布式应用的采样时钟同步系统及方法 |
CN111613257B (zh) * | 2020-05-29 | 2022-07-15 | 西安紫光国芯半导体有限公司 | 一种多相位时钟信号的门控电路、方法及电子设备 |
CN112600550B (zh) * | 2020-12-21 | 2024-04-23 | 中国电子科技集团公司第四十七研究所 | 一种基于跨时钟域的异步时钟选择电路及其切换方法 |
CN115242224A (zh) * | 2022-05-16 | 2022-10-25 | 无锡华大国奇科技有限公司 | 一种多时钟无毛刺切换电路及切换方法 |
CN116318071A (zh) * | 2023-05-22 | 2023-06-23 | 合肥智芯半导体有限公司 | 时钟切换电路、时钟切换方法 |
-
2007
- 2007-10-16 CN CN200710162656A patent/CN100587652C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101126941A (zh) | 2008-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100587652C (zh) | 时钟切换方法以及时钟切换装置 | |
CN102012717B (zh) | 一种时钟切换方法及时钟切换装置 | |
CN101299159B (zh) | 时钟切换电路 | |
TWI538403B (zh) | 用於具有雙邊觸發正反器之電路的一整合時脈閘控單元 | |
US6107841A (en) | Synchronous clock switching circuit for multiple asynchronous clock source | |
CN202171760U (zh) | 一种时钟动态切换电路 | |
CN102043123B (zh) | 一种扫描链测试电路 | |
CN103546125A (zh) | 一种多选一无毛刺时钟切换电路 | |
CN103197728A (zh) | 不同时钟域无毛刺时钟切换电路的实现方法及电路 | |
KR102654395B1 (ko) | 글리치-프리 클럭 스위칭 회로 | |
CN105490675A (zh) | 时钟动态切换方法及装置 | |
KR20080020459A (ko) | 클록 전환 회로 | |
US8928378B2 (en) | Scan/scan enable D flip-flop | |
CN112130617A (zh) | 一种时钟动态切换电路 | |
CN101593221A (zh) | 一种防止异域时钟动态切换毛刺的方法和电路 | |
US20080012605A1 (en) | Glitch-free clock switcher | |
CN104579295A (zh) | 时钟动态切换电路及方法 | |
JP5261956B2 (ja) | 双方向シフトレジスタ | |
CN201867469U (zh) | 一种扫描链测试电路 | |
US20080024184A1 (en) | Flip-flop having improved set-up time and method used with | |
WO2023235164A1 (en) | Anti-aging clock source multiplexing | |
CN201917845U (zh) | 一种时钟切换装置 | |
CN104660222A (zh) | 一种新型电流切换式的d触发器及五分频电路 | |
CN113985960A (zh) | 系统时钟无毛刺切换电路及其复位实现方法 | |
CN113504809B (zh) | 一种多路时钟的动态切换方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |