专利名称:数字时钟切换装置的制作方法
技术领域:
本发明的第一方面涉及一种数字时钟切换装置,工作中能免死锁地切换集成电路的数字时钟源。
本发明的第二方面涉及一种方法,用于免死锁地切换集成电路的数字时钟源。
本发明的第三方面涉及至少一种计算机程序产品,用于免死锁地切换集成电路的数字时钟源。
背景技术:
大多数数字集成电路需要时钟信号来同步它们的工作。往往,将电路设计成使时钟信号能来自一个以上的时钟源。例如,时钟源或是在芯片内部产生,或是由外部供给。此种设计的动力在于灵活性和减少功耗。某些应用中,已经有外部产生的时钟可予使用,这样产生另一个片上时钟就是能量浪费。而另一些应用中,没有此种外部时钟可予使用。由于生产一种集成电路的许多不同变型极其费钱,所以,通常的实践是设计一种芯片来满足两种情况下的需求。
为了使此成为可能,必须有一个可用于改变数字时钟源的电路。此种时钟变更必须是无假闪信号的,也就是,必须能保证由数字系统看到的时钟既没有很短促的脉冲,也没有间隔很紧密的时钟脉冲。由于内部时钟与外部时钟间相互异步,所以,此种变更的实施必需相当小心。典型地,在容许第二时钟信号接替之前,应确保第一时钟信号已中止足够时间。
按照现代技术水平,实现此种功能的电路示明于图1。电路50由负责管理时钟变更的两个有限状态机(FSM)521、522构成。FSM521和522之每一个与一路时钟输入Clk_A或Clk_B相关联。FSM521、522在有关时钟输入的1→0跳变沿处改变它们的状态。FSM521和522之每一个有一路输出ClkEn,当它们置1时可使相应的时钟转送到时钟输出端Clk_Out。输入信号(钟选信号)假定与Clk_Out同步,它将确定哪路时钟应工作。FSM521和522之每一个通过其输入端“对方ClkEn”监测对方时钟使能信号的状态。由于假定输入时钟互相异步,所以对于来自对方时钟领域的输入信号,必需使用双重闩锁同步器541和542。
图1中示明的电路50又包含两个分别与FSM541和542连接的第二双重闩锁同步器561和562,它们也以钟选信号作为其输入。电路50中还包含两个分别与FSM521和522及时钟源Clk_A和Clk_B连接的与门581和582。从图1可见,与门581和582的输出连接到或门60上,或门60的输出形式即为时钟输出Clk_Out。
通过图2中所示明FSM521和522的状态图,可以最好地表明电路50的功能。FSM521与522的差别只在于它们的复位情况以及它们对钟选信号极性的响应。假定在复位状态下Clk_A是启动的,且钟选信号为0。对于与Clk_A关联的FSM521来说,状态图中变量A置“1”,而对于与Clk_B关联的FSM522来说,变量A置“0”。
复位情况下,FSM521和522按此复位状态开始工作。上方的FSM521(A=1)进到导通状态,给其ClkEn,并容许Clk_A转送至Clk_Out上。下方的FSM522(A=0)则进到切断状态。
某种场合下,要求改变系统的时钟源。使钟选信号改变为“1”。上方的FSM521感知这改变,通过再给定ClkEn进到不运行其时钟的状态。由于FSM521和522两者不同步,对于下方的FSM522来说,必需确保上方的FSM521已断开时钟输出。所以,在感知钟选信号变化后,下方的FSM522进入等待状态。只当它感知上方的FSM521确实已断开时钟输出(对方ClkEn=0),方才进到导通状态,容许时钟Clk_B转送出去。
当要切换新的时钟(例如,Clk_B)不存在时,标准的时钟切换电路50随之会发生问题。这或许是由于对应用电路理解有误,或许是由于集成电路制造有差错。当要求系统改变时钟源时,上方的FSM521将断开其输出时钟。然而,若下方的FSM522没有时钟输出,它决不会转变到导通状态。由于系统时钟不会重新启动,因而钟选信号不能改变。此种死锁是非常不希望的,因为这意味着,芯片将没有诊断信息就直接停止工作,而且不可能在交替的工作模式中使工作的功能恢复(应用Clk_A时钟源)。
发明概要本发明的一个目的是解决上面提到的问题。
按照本发明的第一方面,提供一种数字时钟切换装置,工作中能免死锁地切换集成电路的数字时钟源。数字时钟切换装置中包含与第一时钟源关联的第一有限状态机以及与第二时钟源关联的第二有限状态机。两个有限状态机相互连接,以便监测对方有限状态机的当前状态。每个有限状态机有一个输入信号(钟选信号),工作中能控制哪个时钟源应运行而转送到数字时钟切换装置的时钟输出端。每个有限状态机包含一个带有变量(Cnt1;Cnt2)的计数器装置,其中,当所述输入信号(钟选信号)指明切断工作时钟源时,与工作时钟源关联的计数器装置会使其变量(Cnt1,Cnt2)初始化到一个常数(Nfail1,Nfail2)上,由此,与工作时钟源关联的有限状态机进入检查状态,其中,计数器装置在每个时钟周期内递减一次变量(Cnt1,Cnt2)。如果对方有限状态机在变量(Cnt1,Cnt2)递减计数到零之前确认它们时钟源存在,则工作时钟源的切换将起作用。另一方面,如果变量(Cnt1,Cnt2)递减计数到零,则工作时钟源的切换不起作用。按照本发明的数字时钟切换装置其主要优点在于,当不存在一方的时钟源时,能保证系统决不进入死锁状态。
就此种关系而言可得到进一步的优点,即每个有限状态机具有一个时钟使能信号(ClkEn1,ClkEn2)输出,其每个输出作为一个与门的第一输入,其中,每个与门的第二输入为所述时钟源(Clk_A,Clk_B),并且,还使所述数字时钟切换装置中包含一个连接到每个与门输出端上的第一或门,由它转送所述数字时钟切换装置的所述时钟输出(Clk_Out)。
此外,就此种关系而言具有一个优点,即每个有限状态机的所述时钟使能信号输出(ClkEn1,ClkEn2)通过第一双重闩锁同步器装置连接到对方有限状态机的一个输入(对方ClkEn2;对方ClkEn1)上,由此,每个有限状态机通过所述输入(对方ClkEn1;对方ClkEn2)能监测所述对方时钟使能信号(ClkEn1,ClkEn2)的状态。
就此种关系而言可得到进一步的优点,即每个有限状态机连接到第二双重闩锁同步器装置上,由此,所述输入信号(钟选信号)通过所述第二双重闩锁同步器装置转送出去。
此外,就此种关系而言具有一个优点,即所述第一时钟源(Clk_A)连接到、并控制与所述第一有限状态机相连接的所述第一和第二双重闩锁同步器装置,并且,所述第二时钟源(Clk_B)连接到、并控制与所述第二有限状态机相连接的所述第一和第二双重闩锁同步器装置。
就此种关系而言可得到进一步的优点,即所述有限状态机在对方有限状态机确认。其时钟源(Clk_B;Clk_A)存在之前,其工作中能使所述工作时钟源(Clk_A;Clk_B)不运行。
按照另一个实施,与所述不工作的时钟源(Clk_B;Clk_A)关联的所述有限状态机在所述对方有限状态机使所述工作时钟源(Clk_A;Clk_B)不运行之前,工作中能确认对方时钟源(Clk_B;Clk_A)存在。
此外,就此种关系而言具有一个优点,即所述数字时钟切换装置还包含与每个有限状态机之差错输出(Error1,Error2)相连接的第二或门。
就此种关系而言可得到进一步的优点,即所述计数器装置使所述变量(Cnt1;Cnt2)已递减计数到零,当前处于所述检查状态中的所述有限状态机工作进入差错状态,其中,所述有限状态机其工作能够再启动所述工作时钟源(Clk_A;Clk_B),转送到所述时钟输出端(Clk_Out),并对所述第二或门发出一个差错信号。
此外,就此种关系而言具有一个优点,即每个有限状态机还包含一个输出(SwOK1;SwOK2)和一个输入(对方SwOK1;对方SwOK2),其中,每个有限状态机的所述输出(SwOK1;SwOK2)通过第三双重闩锁同步器装置连接到对方有限状态机的所述输入(对方SwOK1;对方SwOK2)上。
就此种关系而言可得到进一步的优点,即所述第一时钟源(Clk_A)连接到、并在工作中控制与所述第一有限状态机相连接的所述第三双重闩锁同步器装置,并且,所述第二时钟源(Clk_B)连接到、并在工作中控制与所述第二有限状态机相连接的所述第三双重闩锁同步器装置。
此外,就此种关系而言具有一个优点,即所述有限状态机它的时钟使能信号(ClkEn1;ClkEn2)起作用,且所述输入信号(钟选信号)指明切断所述工作时钟源(Clk_A;Clk_B),则所述有限状态机的工作进入检查状态,其中,对方有限状态机在所述计数器装置使所述变量(Cnt1;Cnt2)递减计数到零之前它的输出(SwOK2;SwOK1)存在,则所述工作时钟源(Clk_A;Clk_B)不运行,又如若对方有限状态机在所述计数器装置使所述变量(Cnt1;Cnt2)递减计数到零之前它的输出(SwOK2,SwOK1)也不存在,则所述有限状态机的工作进入所述差错状态,对所述第二或门发出所述差错信号。
就此种关系而言可得到进一步的优点,即所述有限状态机它的时钟使能信号(ClkEn1;ClkEn2)不工作,而所述输入信号(钟选信号)指明切换到它的时钟源(Clk_A;Clk_B)上,则所述有限状态机的运行进入等待状态,并且工作中它的输出(SwOK1;SwOK2)变得起作用。而当所述对方有限状态机切断其时钟源(Clk_B;Clk_A)时,工作中对方时钟源(Clk_A;Clk_B)成为有效,其输出转送到所述时钟输出端(Clk_Out)上。
本发明的另一个目的是提供一种方法,用于免死锁地切换集成电路的数字时钟源。该方法的实现借助于第一和第二时钟源(Clk_A;Clk_B),其中,第一时钟源(Clk_A)工作,而第二时钟源(Clk_B)不工作。方法中包含步骤当指明切断所述工作时钟源(Clk_A)时,将变量(Cnt1)初始化到一个常数(Nfail1,Nfail2)上;在每个时钟周期内递减计数一次所述变量(Cnt1);如果在所述变量(Cnt1)递减计数到零之前确认所述不工作的时钟源(Ckl_B)存在,则所述工作时钟源的切换将起作用(Clk_B工作);以及,第一方面,如果所述变量(Cnt1)被递减计数到零,则所述工作时钟源的切换不起作用(Clk_A工作)。
按照本发明之方法的主要优点在于,不存在对方时钟源时,能保证系统决不会进入死锁状态。
就此种关系而言可得到进一步的优点,即所述方法还包含步骤在确认对方时钟源(Ckl_B)存在之前,使所述工作时钟源(Clk_A)不运行。
此外,就此种关系而言具有一个优点,即所述方法还包含步骤在使所述工作时钟源(Clk_A)不运行之前,确认所述不工作时钟源(Clk_B)存在。
就此种关系而言可得到进一步的优点,即所述方法还包含步骤
如果所述变量(Cnt1)递减计数到零,再启动所述工作时钟源(Clk_A);以及发出差错指示。
此外,就此种关系而言具有一个优点,即所述方法的实现借助于它含一个其中有与所述第一时钟源(Clk_A)关联的第一有限状态机以及与所述第二时钟源(Clk_B)关联的第二有限状态机的数字时钟切换装置,其中,每个有限状态机具有一个输入信号(钟选信号),工作中控制哪个时钟源(Clk_A;Clk_B)应工作,并转送到所述数字时钟切换装置的时钟输出端(Clk_Out),又其中,每个有限状态机包含一个具有变量(Cnt1;Cnt2)的计数器装置,且其中所述方法还包含步骤当所述输入信号(钟选信号)指明切断所述工作时钟源(Clk_A)时,使得与所述工作时钟源(Clk_A)关联的所述有限状态机进入检查状态。
就此种关系而言可得到进一步的优点,即每个有限状态机具有一个时钟使能信号(ClkEn1;ClkEn2),它们通过第一双重闩锁同步器装置连接到对方有限状态机的一个输入端(对方ClkEn1;对方ClkEn2)上,且其中所述方法还包含步骤每个有限状态机监测所述对方时钟使能信号(ClkEn2;ClkEn1)的状态。
此外,就此种关系而言具有一个优点,即每个有限状态机还包含一个输出(SwOK1;SwOK2)和一个输入(对方SwOK2;对方SwOK1),其中所述方法还包含步骤如果所述有限状态机它的时钟使能信号(ClkEn1;ClkEn2)起作用,以及所述输入信号(钟选信号)指明切断所述工作时钟源(Clk_A;Clk_B),则所述有限状态机进入检查状态;如果所述对方有限状态机在所述计数器装置使所述变量(Cnt1;Cnt2)递减计数到零之前它的输出(SwOK2;SwOK1)已起作用,则中止所述工作时钟源(Clk_A;Clk_B);以及,如果所述对方有限状态机在所述计数器装置使所述变量(Cnt1;Cnt2)递减计数到零之前它的输出(SwOK2;SwOK1)不起作用,则进入所述有限状态机的所述差错状态;并且,发出所述差错信号。
就此种关系而言可得到进一步的优点;即所述方法还包含步骤如果所述有限状态机它的时钟使能信号(ClkEn1;ClkEn2)不起作用,而所述输入信号(钟选信号)指明切换时钟源(Clk_A;Clk_B),则所述有限状态机进入等待状态,它的输出(SwOK1;SwOK2)变为起作用;以及,当所述对方有限状态机切断其时钟源(Clk_B;Clk_A)时,便激活对方时钟源(Clk_A;Clk_B),并将它转送到所述时钟输出端(Clk_Out)。
本发明的另一个目的是提供至少一种计算机程序产品,用于免死锁地切换集成电路的数字时钟源,计算机程序产品可直接装入至少一台数字计算机的内部存储器中,它包含用于实现按照本发明之方法的软件代码部分,并可在所述至少一台计算机上运行至少一种程序产品。
按照本发明的计算机程序产品的主要优点在于,程序产品能保证不存在对方时钟源时系统决不会进入死锁状态。
应着重指出,用语“包含/包含有”用于本说明书中时是借以说明特征、步骤或成分的存在,但并不排除一个或多个其他特征、整体、步骤、成分或组群的存在。
现在,参考
本发明的各实施例。
图1是已知电路50的方框图,用于无假闪信号的时钟源切换;图2是图1的电路50中包含的有限状态机521、522、的状态图,用以示明电路50的功能;图3是按照本发明第一实施例数字时钟切换装置10的方框图,工作中能免死锁地切换集成电路的数字时钟源;图4是按照本发明的方法流程图,用于免死锁地切换集成电路的数字时钟源;图5是按照本发明第二实施例数字时钟切换装置10的方框图;图6是图5的数字时钟切换装置10中包含的有限状态机121、122的状态图;图7是按照本发明第三实施例数字时钟切换装置10的方框图;图8是图7的数字时钟切换装置10中包含的有限状态机121、122的状态图;以及,图9是按照本发明的一些计算机程序产品1021......、102n的示意图。
具体实施例方式
图3中示明按照本发明第一实施例数字时钟切换装置10的方框图。数字时钟切换装置10在工作中能免死锁地切换集成电路的数字时钟源。数字时钟切换装置10中包含与第一时钟源Clk_A关联的第一有限状态机121以及与第二时钟源Clk_B关联的第二有限状态机122。由图3可见,有限状态机121和122通过信号ClkEn1、ClkEn2、对方ClkEn1、对方ClkEn2相互连接,以便监测对有限状态机122和121的当前状态。每个有限状态机121、122有一个输入信号(钟选信号),在工作中能控制哪个时钟源Clk_A、Clk_B应起作用,转送到数字时钟切换装置10的时钟输出Clk_Out上。每个有限状态机121、122包含有带变量(Cnt1;Cnt2)的计数器装置141、142,其中,与工作时钟源关联的计数器装置其变量(Cnt1;Cnt2)初始化到一个常数(Nfail1;Nfail2)上,当输入信号(钟选信号)指明切断工作时钟源Clk_A、Clk_B时,与工作时钟源Clk_A、Clk_B关联的有限状态机121、122由此进入检查状态,其中,计数器装置141、142使变量(Cnt1;Cnt2)在每个时钟周期内递减计数一次。如果在变量(Cnt1;Cnt2)递减计数到零之前对方有限状态机122、121确认它的时钟源Clk_B、Clk_A存在,则工作时钟源的切换将起作用,Clk_B、Clk_A工作。另一方面,如果变量(Cnt1;Cnt2)被递减计数到零,则工作时钟源Clk_A、Clk_B的切换不起作用。
图4示明按照本发明之方法的流程图,用于免死锁地切换集成电路的数字时钟源。方法的实施借助于第一和第二时钟源Clk_A和Clk_B,其中,第一时钟源Clk_A工作,第二时钟源Clk_B不工作。该方法开始自方框70,在方框72上该方法继续如下步骤当指明切断工作时钟源Clk_A时,将变量(Cnt1)初始化到一个常数(Nfail1;Nfail2)上。此后,在方框74上该方法继续如下步骤在每个时钟周期内递减计数一次变量(Cnt1)。在方框76上,该方法查询如下问题变量(Cnt1)大于0否?如果回答为否定,该方法在方框78上继续如下步骤工作时钟源的切换不起作用,也就是,Clk_A将仍然工作。另一方面,如果对方框76查询问题的回答为肯定,则在方框80上该方法继续查询问题是否确认存在不工作时钟源Clk_B?如果回答为否定,该方法继续按照方框74再执行其步骤。另一方面,如果对方框80查询问题的回答为肯定,则在方框82上该方法继续如下步骤实施对工作时钟源Clk_A的切换,也就是,时钟源Clk_B将起作用。在方框84上,该方法完成程序。
图5示明按照本发明第二实施例数字时钟切换装置10的方框图,数字时钟切换装置10在工作中能免死锁地切换集成电路的数字时钟源。数字时钟切换装置10中包含与第一时钟源Clk_A连接的第一有限状态机121以及与第二时钟源Clk_B连接的第二有限状态机122。有限状态机121和122通过信号ClkEn1、ClkEn2、对方ClkEn1、对方ClkEn2相互连接,以便监测对方有限状态机122、121的当前工作状态。每个有限状态机121、122有一个输入信号(钟选信号),在工作中能控制哪个时钟源Clk_A、Clk_B应起作用,转送到数字时钟切换装置10的时钟输出Clk_Out上。每个有限状态机121、122包含带有变量(Cnt1;Cnt2)的计数器装置141、142,其中,与工作时钟源关联的计数器装置其变量(Cnt1;Cnt2)初始化到一个常数(Nfail1,Nfail2)上,当输入信号(钟选信号)指明切断工作时钟源Clk_A、Clk_B时,与工作时钟源Clk_A、Clk_B连接的有限状态机121、122由此进入检查状态,其中,计数器装置141、142使变量(Cnt1;Cnt2)在每个时钟周期内递减一次。如果在变量(Cnt1;Cnt2)递减计数到零之前对方有限状态机122、121确认它的时钟源Clk_B、Clk_A存在,则工作时钟源的切换将起作用,Clk_B、Clk_A工作。另一方面,如果变量(Cnt1;Cnt2)被递减计数到零,则工作时钟源Clk_A、Clk_B的切换不起作用。数字时钟切换装置10中还包含两个与门161、162,其中,与门161、162之每一个具有第一输入端时钟使能信号ClkEn1、ClkEn2以及形式为时钟源Clk_A、Clk_B的第二输入端。数字时钟切换装置10中还包含与门161和162所连接的第一或门18,它的输出即是时钟输出Clk_Out。
由图5可见,数字时钟切换装置10还包含两个第一双重闩锁同步器装置201、202,其每一个各别连接到有限状态机121、122上。每个有限状态机121、122分别连接第二双重闩锁同步器装置221、222,由此,输入信号(钟选信号)通过第二双重闩锁同步器装置221、222进行转送。由图5可见,第一时钟源Clk_A连接到、并控制与第一有限状态机121相连接的第一和第二双重闩锁同步器装置201、221,第二时钟源Clk_B连接到、并控制与第二有限状态机122相连接的第一和第二双重闩锁同步器装置202、222。数字时钟切换装置10中还包含第二或门24,其输入连接于每个有限状态机121、122的差错输出Error1、Error2上。第二或门24的输出为差错信号。
图6示明图5的数字时钟切换装置10内包含有限状态机121、122的状态图。
为了避免出现死锁情况,必需确认被选定的时钟存在,并在选定的时钟不存在的场合下,系统时钟继续运行。
本发明与常规时钟切换电路之间的主要差别在于,当转换中使相关时钟源切断时(从导通状态转变到切断状态),它们FSM121、122的工作状况不同。本发明的设计中,FSM121、122必须首先经过检查状态。在进入检查状态之前,将一个变量(Cnt1;Cnt2)初始化到常数值(Nfail1;Nfail2)上。检查状态时期内,计数器141、142在每个时钟周期内递减计数一次。如果发现,对方FSM已对时钟切换起响应,并启动其时钟,本方FSM可安全地进入切断状态。如果对方FSM无响应,计数器141、142将递减计数到零。此种场合下,可认为对方时钟不存在,本方FSM进入差错状态,再启动其原来的输出时钟,并给出一个差错指示。所述常数(Nfail1;Nfail2)应设定于一个合适值上,以使得在对方时钟存在的情况下计数器141、142决不会递减计数到零。
本电路预定的应用场合主要针对对方时钟或是存在、或是不存在。但对方时钟不能起初不存在、随后又出现(因为这可能导致这样的情况,即一个FSM121、122进入差错状态,将其原来的时钟传送到输出端,而与此同时,对方FSM122、121也进入导通状态)。
这里说明的电路10在确认对方时钟存在之前,先中止本方时钟输出。
图7示明按照本发明第三实施例数字时钟切换装置10的方框图。图7中那些与图5中类似的部件以同样的标号标志,且不再详细说明。图7与图5之间的主要不同在于,图7中的每个有限状态机121、122还包含输出端SwOK1、SwOK2和输入端对方SwOK2、对方SwOK1,并且,每个有限状态机121、122的输出SwOK1、SwOK2通过第三双重闩锁同步器装置262、261连接到对方有限状态机122、121的输入端对方SwOK1、对方SwOK2上。图7中所示数字时钟切换装置10的功能将在图8中表明。
图8示明图7所示数字时钟切换装置10内包含的有限状态机121、122的状态图。
本发明之方法的另一种实施方案是首先确认对方时钟存在,只有如此方前进到使本方时钟不运行。此种电路将更为复杂,因为它要求每个FSM121、122有一个附加输出和输入,且每一通路中有两个同步器。附加输出SwOK用于指明有限状态机122、121已发现切换到其时钟上的请求,并准备如此执行。
一个FSM121、122处于“导通”状态(时钟输出工作启动)时,若得到切断其时钟的请求,它首先前进到“检查”状态,判断对方FSM122、121是否认可SwOK。如果在规定的时间内不这样呈现,则进入差错状态。否则,判定SwOK=1时,FSM121、122便断开其自己的时钟输出使能信号。
一个FSM121、122处于“切断”状态(时钟输出工作不启动)时,若得到切换到其时钟上的请求,它首先前进到“等待”状态。在其间,它认可SwOK时,指明能切换到其时钟上。一旦对方FSM122、121作出响应,它的时钟便切断,而FSM121、122的时钟输出启动。
图9示明按照本发明某些计算机程序产品的示意图,用于免死锁地切换集成电路的数字时钟源。图中示明n个不同的数字计算机1001、......、100n,其中n为整数。
图中还示明光盘形式的计算机程序产品1021、......、102n。不同的计算机程序产品1021、......、102n可直接装载入n个不同的数字计算机1001、......、100n的内部存储器中。每个计算机程序产品1021、......、102n中包含软件代码部分,当程序产品1021、......、102n在所述计算机1001、......、100n上运行时,软件代码将执行图4中的某些步骤或全部步骤。所述计算机程序产品1021、......、102n在形式上例如可以为软盘、RAM盘、磁带、磁光盘或任何其他合适的产品。
本发明并不局限于上面所述的实施例。很显然,在下面的权利要求书的范围内,可以作出许多种不同的修改。
权利要求
1.一种数字时钟切换装置(10),工作中能免死锁地切换集成电路的数字时钟源,包含有与第一时钟源(Clk_A)关联的第一有限状态机(121)以及与第二时钟源(Clk_B)关联的第二有限状态机(122),其中,所述有限状态机(121;122)相互连接,以便监测对方有限状态机(122;121)的当前状态,又其中,每个有限状态机(121;122)具有一个输入信号(钟选信号),工作中能控制哪个时钟源(Clk_A;Clk_B)应工作,转送到所述数字时钟切换装置(10)的时钟输出端(Clk_Out)上,该数字时钟切换装置(10)的特征在于,每个有限状态机(121;122)包含带有变量(Cnt1;Cnt2)的计数器装置(141;142),当所述输入信号(钟选信号)指明切断所述工作时钟源(Clk_A;Clk_B)时,与所述工作时钟源(Clk_A;Clk_B)关联的所述计数器装置(141;142)其变量(Cnt1;Cnt2)初始化到一个常数(Nfail1;Nfail2)上,由此,与所述工作时钟源(Clk_A;Clk_B)关联的所述有限状态机(121;122)进入检查状态,其中,所述计数器装置(141;142)在每个时钟周期内递减计数所述变量(Cnt1;Cnt2)一次,并当对方有限状态机(122;121)在所述变量(Cnt1;Cnt2)被递减计数到零之前确认其时钟源(Clk_B;Clk_A)存在时,所述的切换所述工作时钟源(Clk_B;Clk_A)便起作用,另一方面,如果所述变量(Cnt1;Cnt2)被递减计数到零,则所述工作时钟源(Clk_A;Clk_B)的切换不起作用。
2.权利要求1的数字时钟切换装置(10),其特征在于,每个有限状态机(121;122)具有一个输出端时钟使能信号(ClkEn1;ClkEn2),它们每一个作为与门(161;162)的第一输入,其中,每个与门(161;162)的第二输入为所述时钟源(Clk_A;Clk_B),所述数字时钟切换装置(10)还包含有连接至每个与门(161;162)输出端上的第一或门(18),它输出所述数字时钟切换装置(10)的所述时钟输出(Clk_Out)。
3.权利要求1或2的数字时钟切换装置(10),其特征在于,每个有限状态机(121;122)的所述时钟使能信号(ClkEn1;ClkEn2)输出通过第一双重闩锁同步器装置(202;201)连接到对方有限状态机(122;121)的一个输入(对方ClkEn1;对方ClkEn2)上,由此,每个有限状态机(121;122)通过所述输入(对方ClkEn2;对方ClkEn1)能监测所述对方时钟使能信号(ClkEn2;ClkEn1)的状态。
4.权利要求1-3中任一个的数字时钟切换装置(10),其特征在于,每个有限状态机(121;122)连接到第二双重闩锁同步器装置(221;222)上,由此,所述输入信号(钟选信号)通过所述第二双重闩锁同步器装置(221;222)转送。
5.在权利要求3下按照权利要求4的数字时钟切换装置(10),其特征在于,所述第一时钟源(Clk_A)连接到、并控制与所述第一有限状态机(121)相连接的所述第一和第二双重闩锁同步器装置(201;221),所述第二时钟源(Clk_B)连接到、并控制与所述第二有限状态机(122)相连接的所述第一和第二双重闩锁同步器装置(202;222)。
6.权利要求1-5中任一个的数字时钟切换装置(10),其特征在于,所述有限状态机(121;122)工作中,在对方有限状态机(122;121)确认其时钟源(Clk_B;Clk_A)存在之前,使得所述工作时钟源(Clk_A;Clk_B)不运行。
7.权利要求1-5中任一个的数字时钟切换装置(10),其特征在于,与所述不工作时钟源(Clk_B;Clk_A)关联的所述有限状态机(122;121)工作中,在对方有限状态机(121;122)使所述工作时钟源(Clk_A;Clk_B)不运行之前,要确认其时钟源(Clk_B;Clk_A)的存在。
8.权利要求1-6中任一个的数字时钟切换装置(10),其特征在于,所述数字时钟切换装置(10)还包含第二或门(24),它连接于每个有限状态机(121;122)的差错输出端(Error1;Error2)上。
9.权利要求8的数字时钟切换装置(10),其特征在于,如果所述计数器装置(141;142)使所述变量(Cnt1;Cnt2)的计数递减到零,则当时处于所述检查状态的所述有限状态机(121;122)的工作进入差错状态,其中,所述有限状态机(121;122)其运行再启动所述工作时钟源(Clk_A;Clk_B),它转送到所述时钟输出端(Clk_Out)上,并对所述第二或门(24)发出一个差错信号。
10.权利要求7的数字时钟切换装置(10),其特征在于,每个有限状态机(121;122)还包含输出(SwOK1;SwOK2)和输入(对方SwOK2;对方SwOK1),其中,每个有限状态机(121;122)的所述输出(SwOK1;SwOK2)通过第三双重闩锁同步器装置(262;261)连接到对方有限状态机(122;121)的所述输入端(对方SwOK1;对方SwOK2)上。
11.权利要求10的数字时钟切换装置(10),其特征在于,所述第一时钟源(Clk_A)连接到、并在工作中控制与所述第一有限状态机(121)连接的所述第三双重闩锁同步器装置(261),所述第二时钟源(Clk_B)连接到,并在工作中控制与所述第二有限状态机(122)连接的所述第三双重闩锁同步器装置(262)。
12.权利要求11的数字时钟切换装置(10),其特征在于,如果所述有限状态机(121;122)其时钟使能信号(ClkEn1,ClkEn2)起作用,且所述输入信号(钟选信号)指明切断所述工作时钟源(Clk_A;Clk_B),则所述有限状态机(121;122)的工作进入检查状态,其中,如果所述对方有限状态机(122;121)在所述计数器装置(141;142)使所述变量(Cnt1;Cnt2)递减计数到零之前其输出(SwOK1;SwOK2)起作用,则所述工作时钟源(Clk_A;Clk_B)中止运行,又若在所述计数器装置(141;142)使所述变量(Cnt1;Cnt2)递减计数到零前,所述有限状态机(122;121)其输出(SwOK2;SwOK1)不工作,则所述有限状态机(121;122)的工作进入所述差错状态,对所述第二或门(24)发出所述差错信号。
13.权利要求10-12中任一个的数字时钟切换装置(10),其特征在于,如果所述有限状态机(121;122)其时钟使能信号(ClkEn1,ClkEn2)不工作,且所述输入信号(钟选信号)指明切换到其时钟源(Clk_A;Clk_B)上,则所述有限状态机(121;122)的工作进入等待状态,在工作中其输出(SwOK1;SwOK2)变成起作用,并当所述有限状态机(122;121)切断其时钟源(Clk_B;Clk_A)时,对方时钟源(Clk_A;Clk_B)的工作成为有效,转送到所述时钟输出端(Clk_Out)上。
14.一种借助于第一和第二时钟源(Clk_A;Clk_B)免死锁地切换集成电路数字时钟源的方法,其中,所述第一时钟源(Clk_A)工作,所述第二时钟源(Clk_B)不工作,其中,所述方法包含步骤当指明切断所述工作时钟源(Clk_A)时,将变量(Cnt1)初始化到一个常数(Nfail1)上;在每个时钟周期内递减计数一次所述变量(Cnt1);在对所述变量(Cnt1)递减计数到零之前,如果确认所述不工作的时钟源(Clk_B)存在,则对所述工作时钟源(Clk_A)的切换起作用;以及,另一方面,如果所述变量(Cnt1)被递减计数到零,则所述工作时钟源(Clk_A)的切换将不起作用。
15.权利要求14的免死锁地切换数字时钟源的方法,其特征在于,所述方法还包含步骤在确认对方时钟源(Clk_B)存在之前,使所述工作时钟源(Clk_A)不运行。
16.权利要求14的免死锁地切换数字时钟源的方法,其特征在于,所述方法还包含步骤在使所述工作时钟源(Clk_A)不运行之前,确认所述不工作的时钟源(Clk_B)存在。
17.权利要求14-16中任一个的免死锁地切换数字时钟源的方法,其特征在于,所述方法还包含步骤如果所述变量(Cnt1)被递减计数到零,则再启动所述工作时钟源(Clk_A);以及,发出一个差错指示。
18.权利要求14-17中任一个的免死锁地切换数字时钟源的方法,其特征在于,所述方法的实现借助于包含一个其中有与所述第一时钟源(Clk_A)关联的第一有限状态机(121)以及与第二时钟源(Clk_B)关联的第二有限状态机(122)的数字时钟切换装置(10),其中,每个有限状态机(121;122)具有一个输入信号(钟选信号),工作中控制哪个时钟源(Clk_A;Clk_B)应工作,并转送到所述数字时钟切换装置(10)的输出端(Clk_Out),其中,每个有限状态机(121;122)包含一个带有变量(Cnt1;Cnt2)的计数器装置(141;142),其中,所述方法还包含步骤当所述输入信号(钟选信号)指明切断所述工作时钟源(Clk_A)时,使得与所述工作时钟源(Clk_A)关联的所述有限状态机(121)进入检查状态。
19.权利要求18的免死锁地切换数字时钟源的方法,其特征在于,每个有限状态机(121;122)具有一个时钟使能信号(ClkEn1;ClkEn2)输出端,它们通过第一双重闩锁同步器装置(202;201)连接到对方有限状态机(122;121)的一个输入端(对方ClkEn1;对方ClkEn2)上,其中,方法中还包含步骤每个有限状态机(121;122)监测所述对方时钟使能信号(ClkEn2;ClkEn1)的状态。
20.在权利要求16下,按照权利要求18或19的免死锁地切换数字时钟源的方法,其特征在于,每个有限状态机(121;122)还包含输出端(SwOK1;SwOK2)和输入端(对方SwOK2;对方SwOK1),其中,方法中还包含步骤如果所述有限状态机(121;122)其时钟使能信号(ClkEn1;ClkEn2)工作,且输入信号(钟选信号)指明切断所述工作时钟源(Clk_A;Clk_B),则所述有限状态机(121;122)进入检查状态;如果所述对方有限状态机(122;121)在所述计数器装置(141;142)对所述变量(Cnt1;Cnt2)递减计数到零之前其输出(SwOK2;SwOK1)工作,则使所述工作时钟源(Clk_A;Clk_B)不运行;以及,如果所述有限状态机(122;121)在计数器装置(141;142)使所述变量(Cnt1;Cnt2)递减计数到零前其输出(SwOK2;SwOK1)不工作,则所述有限状态机(121;122)进入所述差错状态;以及发出所述差错信号。
21.在权利要求16下,按照权利要求18或19的免死锁地切换数字时钟源的方法,其特征在于,所述方法还包含步骤如果所述有限状态机(121;122)其时钟使能信号(ClkEn1;ClkEn2)不工作,又所述输入信号(钟选信号)指明切换到其时钟源(Clk_A;Clk_B)上,则所述有限状态机(121;122)进入等待状态,且其输出(SwOK1;SwOK2)变为工作,并当所述对方有限状态机(122;121)切断其时钟源(Clk_B;Clk_A)时,激活对方的时钟源(Clk_B;Clk_A),将它转送到所述时钟输出端(Clk_Out)。
22.至少一种计算机程序产品(1021......、102n),用于免死锁地切换集成电路的数字时钟源,将那类计算机程序产品(1021......、102n)直接装载入至少一台数字计算机(1001......、100n)的内部存储器中,当所述至少一种产品(1021......、102n)在所述至少一台计算机(1001......、100n)上运行时,其包含的软件代码部分用于执行权利要求14中的诸步骤。
全文摘要
本发明涉及一种数字时钟切换装置,工作中能免死锁地切换集成电路的数字时钟源,它包含分别与第一和第二时钟源关联的第一和第二有限状态机。有限状态机相互连接,以便监测对方的当前状态,其中,每个有限状态机具有一个输入信号,工作中控制哪个时钟源应工作,并转送到数字时钟切换装置的时钟输出端。每个有限状态机包含一个带有变量的计数器装置,当输入信号指明切断工作时钟源时,与之关联的计数器装置其变量初始化到一个常数上,由此,与工作时钟源关联的有限状态机进入检查状态,计数器装置在每个时钟周期内递减计数变量一次。如果对方有限状态机在变量递减计数到零之前确认其时钟源存在,则工作时钟源的切换将起作用运行。
文档编号G06F1/04GK1838025SQ20061005985
公开日2006年9月27日 申请日期2006年3月21日 优先权日2005年3月22日
发明者M·路易斯 申请人:英飞凌科技股份公司