一种时钟多选一电路及多选一方法与流程

文档序号:12039385阅读:来源:国知局
一种时钟多选一电路及多选一方法与流程

技术特征:
1.一种时钟多选一电路,所述时钟多选一电路由时钟计数器模块、时钟选择信号发生器模块和时钟选择器模块串联组成;其中,时钟计数器模块,用于对每路输入时钟信号进行循环计数;时钟选择信号发生器模块,用于检测时钟信号有效性并输出时钟选择信号;时钟选择器模块用于对输入时钟信号进行选择,该时钟选择器模块包含一个多路选择器,其输入为所有待选时钟信号,由时钟选择信号控制选择某一路作为输出时钟信号;该时钟多选一电路设置m路输入时钟信号,且m≥2,第1路时钟信号至第m路时钟信号分别记为clk1至clkm;该时钟多选一电路利用FPGA实现自主从同频的两路或两路以上输入时钟信号中选择一路有效时钟信号作为输出时钟信号,电路中所用寄存器使用三模冗余技术进行抗SEU防护,其中,SEU单粒子翻转;所述三模冗余技术为常用的容错技术,即三个模块进行同样的操作,输出采用三取二,只要同样的错误不同时发生在其中两个模块,就能屏蔽掉故障模块的影响;所述时钟计数器模块包含m个循环计数器,称为时钟计数器,用于对每路输入时钟信号进行从0到n的循环计数,且n为大于2的任意整数,其中循环计数器为上升沿触发模式,即输入时钟信号的上升沿触发一次计数,计数器加1;其特征在于,所述时钟选择信号发生器模块包含一个主状态机和m-1个分状态机,主状态机用于控制检测状态的转换,分状态机用于执行对某一路时钟信号有效性的检测;在运行过程中,所述主状态机和分状态机的所处状态相互匹配;所述分状态机包含第一比较寄存器、第二比较寄存器和被检时钟无效计数器;所述主状态机由clk1检测、clk2检测至clk(m-1)检测及clkm选择共m个状态组成,每个状态下输出一个时钟选择信号,该信号与被检时钟信号匹配,用于控制时钟选择器模块选择被检时钟信号作为输出时钟信号;当某一路时钟信号检测到被检时钟信号处于无效状态时发生状态转移,即状态机状态转换条件为m-1个分状态机中任意一个进入到下一状态中,其状态转换顺序依次为clk1检测、clk2检测至clk(m-1)检测、clkm选择;其中clkm选择状态为终止状态,状态转换方向不可逆、非循环。2.根据权利要求1所述一种时钟多选一电路,其特征在于,所述m-1个分状态机分别由时钟信号clk2至clkm驱动,当某一路时钟信号无效时,对应的分状态机停留在该时钟信号失效时状态;对应于某一路时钟信号clkx的分状态机有x个状态,2≤x≤m;当检测到被检时钟无效或主状态机进入下一状态时发生状态转移,按转换顺序依次为clk1检测、clk2检测至clk(x-1)检测、clkx选择,其中clkx选择状态为终止状态,状态转换方向不可逆、非循环。3.根据权利要求1所述一种时钟多选一电路,其特征在于,所述主状态机处于某一路时钟信号clkx检测状态时,使用时钟信号clk(x+1)至clkm驱动对应的分状态机对clkx状态进行检测。4.根据权利要求1所述一种时钟多选一电路,其特征在于,所述第一比较寄存器和第二比较寄存器用于寄存间隔两个时钟周期的被检时钟信号对应的时钟计数寄存器的取值;其中,第一比较寄存器在每个状态下,当驱动分状态机的时钟信号对应的驱动时钟计数寄存器的取值为0时,存储被检时钟计数寄存器的取值;第二比较寄存器在每个状态下,当驱动时钟计数寄存器取值为2时,存储被检时钟计数寄存器的取值。5.根据权利要求1所述一种时钟多选一电路,其特征在于,所述被检时钟无效计数器用于记录被检时钟信号在受检过程中连续出现无效的次数,并设有计数上限值,当连续被检无效次数达到计数上限值时,认定被检时钟信号处于无效状态。6.根据权利要求5所述一种时钟多选一电路,其特征在于,所述被检时钟无效计数器初始值为0,状态转移时清零,当驱动时钟计数寄存器值为3、其自身取值小于计数上限值且所在分状态机状态未被主状态机驱动转移时,若第一比较寄存器取值与第二比较寄存器相同,则认定被检时钟信号出现一次受检无效,被检时钟无效计数器加1,若不同,则被检时钟无效计数器取0。7.根据权利要求5所述一种时钟多选一电路,其特征在于,所述分状态机检测到被检时钟信号无效或主状态机进入下一状态时发生状态转移,即状态转移条件为主状态机进入下一状态或被检时钟无效计数器计数值累加至计数上限值。8.一种时钟多选一电路的时钟多选一方法,其特征在于,该方法包含以下步骤:1)设输入时钟信号数为m,其优先选择顺序依次为clk1、clk2至clkm,检测逻辑设计为用优先级低的时钟对优先级高的时钟进行检测,即对某一路时钟信号clkx进行检测时,使用clk(x+1)至clkm对clkx状态进行检测;将待选m路时钟信号分别触发一个n+1进制计数器,间隔大于1小于n个时钟周期的时间各取一次计数器取值,比较两次取值的异同,若相同,则表示在一次检测中被检时钟信号无效,若不同,则表示在一次检测中被检时钟信号有效;2)由一个主状态机控制检测状态从clk1检测、clk2检测至clk(m-1)检测、clkm选择,每个状态下输出一个时钟选择信号控制时钟选择器模块选择被检时钟信号作为输出时钟信号,由clk2至clkm分别驱动一个分状态机在不同状态下对相应的被检时钟信号进行检测,对应于某一时钟信号clkx的分状态机由clk1检测、clk2检测直到clk(x-1)检测及clkx选择共x个状态构成;3)主状态机的状态转移由某一分状态机的状态转移带动,主状态机的状态转移驱动其余分状态机的状态转移,主状态机和分状态机运行过程中所处状态相互匹配,状态转换方向不可逆、非循环;4)主状态机和clk2至clkm对应的m-1路分状态机进入clk1检测状态,所有用于检测的分状态机中被检时钟无效计数器计数值取0,电路选择clk1为输出时钟信号,分状态机在对应时钟信号的驱动下间隔大于1小于n时钟周期各取一次clk1计数器取值并进行比较,若相同,则分状态机的被检时钟无效计数器加1,若不同,则被检时钟无效计数器清零;5)若m-1路分状态机中被检时钟无效计数器计数值均未达到计数上限值,则电路保持在clk1检测状态下,而当某一路分状态机中该计数值达到计数上限值时,则该路分状态机转换到clk2检测状态,同时主状态机跟随进入clk2检测状态,并驱动其余m-2路分状态机进入clk2检测状态;6)进入clk2检测状态后,所有用于检测的分状态机中被检时钟无效计数器计数值取0,电路选择clk2为输出时钟信号,除clk2驱动的分状态机进入终止状态不进行检测外,其余m-2路分状态机在对应时钟信号的驱动下对clk2进行检测,重复步骤2)、3)中相应的检测部分;7)当电路进入对某一路时钟信号clkx的检测状态时,电路选择clkx为输出时钟信号,clk(x+1)至clkm对clkx的检测起作用,如此顺序执行,直至电路处于clkm选择状态,即选择clkm作为输出时钟信号的终止状态。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1