不同时钟域无毛刺时钟切换电路的实现方法及电路的制作方法

文档序号:6362665阅读:248来源:国知局
专利名称:不同时钟域无毛刺时钟切换电路的实现方法及电路的制作方法
技术领域
本发明涉及一种不同时钟域无毛刺时钟切换电路的实现方法。本发明还涉及一种不同时钟域无毛刺时钟切换电路。
背景技术
在当前的芯片设计中,越来越多的使用多时钟设计,时钟之间的实时切换也成为了必不可少的操作。如果用类似于选择器的电路来对两个异步时钟进行切换,切换后的时钟很可能会有毛刺产生,如果把这个毛刺当成正常的时钟脉冲,很可能出现数据和信号的错误改变,这可能会引发致命的系统错误。对于异步时钟的无毛刺切换有非常经典的电路。对于两两时钟切换,主要思路是将时钟选择信号和另一路时钟的无效信号相与,对相与后的信号进行上升沿和下降沿的两级采样后再作为时钟使能输出时钟。该电路在两路时钟都存在的情况下能够实现时钟的无毛刺切换,但是如果所选时钟突然停止,则无法成功地将时钟切换到另一路时钟。因为时钟选择电路本身是时序逻辑,如果在选择另一路时钟时当前所选时钟已经停止,则无法输出时钟无效信号,另一路时钟也无法被选择。比如,在双界面卡中有接触和非接两种接口时钟,这两种时钟在系统内部都会用到,由于双界面卡的工作模式会实时切换,接口时钟的突然停止是经常发生的,在这种情况下,经典的时钟切换电路将无法实现时钟切换,这可能会使得系统无法正常工作。

发明内容
本发明所要解决的技术问题是提供一种不同时钟域无毛刺时钟切换电路的实现方法,能在不同时钟域时钟切换过程中无毛刺产生,并且无论待切换时钟存在与否都能够实现指定的切换;为此,本发明还有提供一种不同时钟域无毛刺时钟切换电路。为解决上述技术问题,本发明的不同时钟域无毛刺时钟切换电路的实现方法,是采用如下技术方案实现的:步骤1、将所有待切换的时钟同步到同一高频时钟,每个同步后的待切换时钟以原有的周期和闻频时钟的脉冲呈现;步骤2、采用第一级时钟切换电路,在第一级时钟选择信号的控制下,对同步后的待切换时钟进行门控,产生第一级门控后的待切换时钟,将两个经第一级门控后产生的待切换时钟相或,产生第二级待切换时钟;如果不需要第二级时钟切换,则经或运算产生的时钟就是切换后的最终时钟;如果需要第二级时钟切换则执行步骤3 ;步骤3、采用第二级时钟切换电路,在第二级时钟选择信号的控制下,对第二级待切换时钟进行门控,产生第二级门控后的待切换时钟,将两个经第二级门控后产生的待切换时钟相或,产生第三级待切换时钟,如果不需要第三级时钟切换,则经或运算产生的时钟就是切换后的最终时钟;步骤4、如果还有多级时钟切换,则采用与步骤3相同的方法进行下一级的时钟切换过程;直至完成时钟切换为止。本发明的不同时钟域无毛刺时钟切换电路,包括:第一时钟同步电路、第二时钟同步电路、第三时钟同步电路和第四时钟同步电路,分别对应将输入的待切换的异步时钟clkO_async_1、clkl_async_1、clk2_async_i和clk3_async_i用同一高频时钟采样,同步到时钟周期不变,但以高频时钟脉冲呈现的高频时钟,作为冋步后的待切换时钟;第一时钟切换电路,在第一级时钟选择信号的控制下,对第一时钟同步电路和第时钟冋步电路输出的冋步后的待切换时钟进彳丁门控,广生弟一级丨]控后的待切换时钟,并将两个经第一级门控后产生的待切换时钟相或,产生第二级待切换时钟A ;第二时钟切换电路,在第一级时钟选择信号的控制下,对第三时钟同步电路和第四时钟同步电路输出的同步后的待切换时钟进行门控,产生第一级门控后的待切换时钟,并将两个经第一级门控后产生的待切换时钟相或,产生第二级待切换时钟B ;第三时钟切换电路,在第二级时钟选择信号的控制下,对第二级待切换时钟A和第二级待切换时钟B进行门控,产生两个第二级门控后的待切换时钟,将两个经第二级门控后广生的待切换时钟相或,广 生切换后的最终时钟。本发明将所有待切换时钟同步到同一高频时钟,所有待切换时钟以原有的周期和高频时钟的脉冲呈现,时钟选择信号也与高频时钟同步,这样时钟之间就可以根据时钟选择信号实时的进行切换而不会出现毛刺,并且无论待切换时钟是否存在,切换电路都能够根据时钟选择信号将时钟成功切换。本发明与现有的无毛刺时钟切换电路实现方法相比,除了能够实现异步时钟之间的无毛刺切换,并且能够在当前时钟停止的情况下也能实现时钟的切换,这在双界面智能卡中十分重要。


下面结合附图与具体实施方式
对本发明作进一步详细的说明:图1是本发明一实施例不同时钟域无毛刺时钟切换电路原理图;图2是图1中时钟同步电路原理图;图3是图1中时钟切换电路原理图;图4是所述不同时钟域无毛刺时钟切换电路的实现方法流程图。
具体实施例方式结合图4所示,所述不同时钟域无毛刺时钟切换电路的实现方法,用高频时钟采样待切换的时钟,检测待切换时钟的上升沿,并以此作为时钟门控使能信号,产生时钟周期不变但脉冲为高频时钟脉冲的待切换时钟。用与高频时钟同步的时钟选择信号对待切换时钟分别进行门控,将两个经门控后产生的待切换时钟相或,产生本级时钟的切换结果。如果有多级时钟切换,则上一级时钟切换的输出作为下一级时钟切换的输入继续进行切换,直到完成所有的时钟切换。图1是本发明的一实施例,能够实现两级不同时钟域无毛刺时钟切换的电路,其包括:第一时钟同步电路、第二时钟同步电路、第三时钟同步电路和第四时钟同步电路,分别对应将输入的待切换的时钟(异步时钟)clkO_async_1、clkl_async_1、clk2_async_i和clk3_aSync_i用同一高频时钟采样,同步到时钟周期不变(即保持输入的待切换的时钟原有时钟周期)但以高频时钟脉冲呈现的高频时钟,作为同步后的待切换时钟。第一时钟切换电路(第一级时钟切换电路),在第一级时钟选择信号的控制下,对第一时钟同步电路和第二时钟同步电路输出的同步后的待切换时钟进行门控,产生第一级I ]控后的待切换时钟,并将两个经弟一级丨]控后广生的待切换时钟相或,广生弟_■级待切换时钟A。第二时钟切换电路(第一级时钟切换电路),在第一级时钟选择信号的控制下,对第三时钟同步电路和第四时钟同步电路输出的同步后的待切换时钟进行门控,产生第一级I ]控后的待切换时钟,并将两个经弟一级丨]控后广生的待切换时钟相或,广生弟_■级待切换时钟B。第三时钟切换电路(第二级时钟切换电路),在第二级时钟选择信号的控制下,对第二级待切换时钟A和第二级待切换时钟B进行门控,产生两个第二级门控后的待切换时钟,将两个经弟~.级I ]控后广生的待切换时钟相或,广生切换后的最终时钟。图2是时钟同步电路一实施例原理图。该时钟同步电路包括:三个依次串联连接的第一 D触发器DFF1、第二 D触发器DFF2和第三D触发器DFF3。一第一与门ANDl,其一输入端与第二 D触发器DFF2的数据输出端Q和第三D触发器DFF3的数据输入端D相连接,第三D触发器DFF3的数据输出端Q经一反相器与第一与门ANDl的另一输入端相 连接。—第一锁存器SCl,其数据输入端D与所述第一与门ANDl的输出端相连接。—第二与门AND2,其一输入端与所述第一锁存器SCl的数据输出端Q相连接。所述第一 D触发器DFFl的时钟输入端CLK、第二 D触发器DFF2的时钟输入端CLK、第三D触发器DFF3的时钟输入端CLK和第二与门AND2的另一输入端输入高频时钟clk_high_freq,该高频时钟clk_high_freq经一反相器输入所述第一锁存器SCl的时钟输入端CLK。所述第一 D触发器DFFl的数据输入端D输入待切换的时钟(异步时钟)clk_async_i。图2中虚线框内的第一锁存器SCl和第二与门AND2组成时钟门控电路。第一锁存器SCl在高频时钟clk_high_freq的低电平期间将第一与门ANDl的输出EN锁存到该第一锁存器SCl的输出ENL ;当高频时钟clk_high_freq上升沿来临时,如果第一锁存器SCl的输出ENL为高电平,则所述第二与门AND2的输出信号clk_sync随高频时钟clk_high_freq变化;如果第一锁存器SCl的输出ENL为低电平,则第二与门AND2的输出信号clk_sync持续为低电平。图3是时钟切换电路一实施例原理图。该时钟切换电路包括:一反相器FX,其输入端输入时钟选择信号select_i。一第二锁存器SC2,其数据输入端D与所述反相器FX的输出端相连接,同步后的待切换时钟clkO_sync经一反相器输入所述第二锁存器SC2的时钟输入端CLK。一第三与门AND3,其一输入端与所述第二锁存器SC2的数据输出端Q相连接,另一输入端输入经同步后的待切换时钟clk0_sync。一第三锁存器SC3,其数据输入端D输入时钟选择信号select」,同步后的待切换时钟clkl_Sync经一反相器输入所述第三锁存器SC3的时钟输入端CLK。一第四与门AND4,其一输入端与所述第三锁存器SC3的数据输出端Q相连接,另一输入端输入经同步后的待切换时钟clkl_sync。—或门0R,其一输入端与第三与门AND3的输出端相连接,输入经门控后产生的待切换时钟clkO ;另一输入端与第四与门AND4的输出端相连接,输入经门控后产生的待切换时钟clkl ;广生下一级待切换时钟或切换后的最终时钟elk。图3中虚线框内的锁存器SC和与门AND组成时钟门控电路。第二锁存器SC2在同步后的待切换时钟clk0_sync的低电平期间,将反相器FX的输出ENO锁存到该第二锁存器SC2的输出ENL0。当同步后的待切换时钟clk0_sync上升沿来临时,如果第二锁存器SC2的输出ENLO为高电平,则第三与门AND3的输出信号clkO随同步后的待切换时钟clk0_sync变化;如果第二锁存器SC2的输出ENLO为低电平,则第三与门AND3的输出信号clkO持续为低电平。同理,第三锁存器SC3在同步后的待切换时钟clkl_Sync的低电平期间将时钟选择信号select_i锁存到第三锁存器SC3的输出ENLl。当同步后的待切换时钟clkl_sync上升沿来临时,如果第三锁存器SC3的输出ENLl为高电平,则第四与门AND4的输出信号clkl随同步后的待切换clkl_sync变化;如果第三锁存器SC3的输出ENLl为低电平,则第四与门AND4的输出信号clkl持续为低电平。由于第二锁存器SC2的输出ENO和第三锁存器SC3的输出ENl是相反的信号,因此经门控后产生的待切换时钟clkO和clkl不会同时为高电平,它们相或之后的输出信号elk也不会有毛刺产生。以上通过具体实施方式
和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
权利要求
1.一种不同时钟域无毛刺时钟切换电路的实现方法,其特征在于,包括如下步骤: 步骤1、将所有待切换的时钟同步到同一高频时钟,每个同步后的待切换时钟以原有的周期和高频时钟的脉冲呈现; 步骤2、采用第一级时钟切换电路,在第一级时钟选择信号的控制下,对同步后的待切换时钟进行门控,产生第一级门控后的待切换时钟,将两个经第一级门控后产生的待切换时钟相或,产生第二级待切换时钟,如果不需要第二级时钟切换,则经或运算产生的时钟就是切换后的最终时钟;如果需要第二级时钟切换则执行步骤3 ; 步骤3、采用第二级时钟切换电路,在第二级时钟选择信号的控制下,对第二级待切换时钟进行门控,产生第二级门控后的待切换时钟,将两个经第二级门控后产生的待切换时钟相或,产生第三级待切换时钟,如果不需要第三级时钟切换,则经或运算产生的时钟就是切换后的最终时钟; 步骤4、如果还有多级时钟切换,则采用与步骤3相同的方法进行下级时钟的切换过程;直至完成时钟切换为止。
2.如权利要求1所述的方法,其特征在于:采用高频时钟检测待切换时钟的上升沿或者下降沿,并以此 作为时钟门控使能信号,通过门控电路产生以原有的周期和高频时钟的脉冲呈现的同步后的待切换时钟。
3.如权利要求1所述的方法,其特征在于:所述多级时钟切换是在两两时钟切换的基础上进行切换的。
4.一种不同时钟域无毛刺时钟切换的电路,其特征在于,包括: 第一时钟同步电路、第二时钟同步电路、第三时钟同步电路和第四时钟同步电路,分别对应将输入的待切换的异步时钟clkO_async_1、clkl_async_1、clk2_async_i和clk3_async」用同一高频时钟采样,同步到时钟周期不变,但以高频时钟脉冲呈现的高频时钟,作为冋步后的待切换时钟; 第一时钟切换电路,在第一级时钟选择信号的控制下,对第一时钟同步电路和第二时钟冋步电路输出的冋步后的待切换时钟进彳丁门控,广生弟一级丨 控后的待切换时钟,并将两个经第一级门控后产生的待切换时钟相或,产生第二级待切换时钟A ; 第二时钟切换电路,在第一级时钟选择信号的控制下,对第三时钟同步电路和第四时钟冋步电路输出的冋步后的待切换时钟进彳丁门控,广生弟一级丨]控后的待切换时钟,并将两个经第一级门控后产生的待切换时钟相或,产生第二级待切换时钟B ; 第三时钟切换电路,在第二级时钟选择信号的控制下,对第二级待切换时钟A和第二级待切换时钟B进行门控,产生两个第二级门控后的待切换时钟,将两个经第二级门控后产生的待切换时钟相或,产生切换后的最终时钟。
5.如权利要求4所述的电路,其特征在于,所述时钟同步电路包括: 三个依次串联连接的第一 D触发器、第二 D触发器和第三D触发器;。
一第一与门,其一输入端与第二 D触发器的数据输出端和第三D触发器的数据输入端相连接,第三D触发器的数据输出端经一反相器与第一与门的另一输入端相连接; 一第一锁存器,其数据输入端与所述第一与门的输出端相连接; 一第二与门,其一输入端与所述第一锁存器的数据输出端相连接; 所述第一 D触发器的时钟输入端、第二 D触发器的时钟输入端、第三D触发器的时钟输入端和第二与门的另一输入端输入高频时钟clk_high_freq,该高频时钟clk_high_freq经一反相器输入所述第一锁存器的时钟输入端; 所述第一 D触发器的数据输入端输入待切换的异步时钟clk_async_i。
6.如权利要求5所述的电路,其特征在于,所述第一锁存器在高频时钟clk_high_freq的低电平期间将第一与门的输出EN锁存到该第一锁存器的输出ENL ;当高频时钟clk_high_freq上升沿来临时,如果第一锁存器的输出ENL为高电平,则所述第二与门的输出信号clk_Sync随高频时钟clk_high_freq变化;如果第一锁存器的输出ENL为低电平,则第二与门的输出信号clk_sync持续为低电平。
7.如权利要求4所述的电路,其特征在于,所述时钟切换电路包括: 一反相器,其输入端输入时钟选择信号select」; 一第二锁存器,其数据输入端与所述反相器的输出端相连接,同步后的待切换时钟clkO_sync经一反相器输入所述第二锁存器的时钟输入端; 一第三与门,其一输入端与所述第二锁存器的数据输出端相连接,另一输入端输入经同步后的待切换时钟clkO_sync ; 一第三锁存器,其数据输入端输入时钟选择信号select_i,同步后的待切换时钟clkl_sync经一反相器输入所述第三锁存器的时钟输入端; 一第四与门,其一输入端与所述第三锁存器的数据输出端相连接,另一输入端输入经同步后的待切换时钟clkl_sync ; 一或门,其一输入端与第三与门的输出端相连接,输入经门控后产生的待切换时钟clkO ;另一输入端与第四与门的输出端相连接,输入经门控后产生的待切换时钟clkl ;产生下一级待切换时钟或切换后的最终时钟elk。
8.如权利要求7所述的电路,其特征在于:所述第二锁存器在同步后的待切换时钟clk0_sync的低电平期间,将反相器的输出ENO锁存到该第二锁存器的输出ENLO ;当同步后的待切换时钟clk0_sync上升沿来临时,如果第二锁存器的输出ENLO为高电平,则第三与门的输出信号clkO随同步后的待切换时钟clk0_sync变化;如果第二锁存器的输出ENLO为低电平,则第三与门的输出信号clkO持续为低电平; 所述第三锁存器在同步后的待切换时钟clkl_sync的低电平期间将时钟选择信号select_i锁存到第三锁存器的输出ENLl ;当同步后的待切换时钟clkl_sync上升沿来临时,如果第三锁存器SC3的输出ENLl为高电平,则第四与门的输出信号clkl随同步后的待切换clkl_Sync 变化;如果第三锁存器的输出ENLl为低电平,则第四与门的输出信号clkl持续为低电平。
全文摘要
本发明公开了一种不同时钟域无毛刺时钟切换电路的实现方法,将所有待切换的时钟同步到同一高频时钟,每个同步后的待切换时钟以原有的周期和高频时钟的脉冲呈现;采用第一级时钟切换电路,在第一级时钟选择信号的控制下,对同步后的待切换时钟进行门控,产生第一级门控后的待切换时钟,将两个经第一级门控后产生的待切换时钟相或,产生第二级待切换时钟;采用第二级时钟切换电路,在第二级时钟选择信号的控制下,对第二级待切换时钟进行门控,产生第二级门控后的待切换时钟,将两个经第二级门控后产生的待切换时钟相或,产生第三级待切换时钟。本发明还公开了一种不同时钟域无毛刺时钟切换电路。本发明能在不同时钟域时钟切换过程中无毛刺。
文档编号G06F1/04GK103197728SQ20121000408
公开日2013年7月10日 申请日期2012年1月6日 优先权日2012年1月6日
发明者徐云秀, 何玉明 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1