时钟信号产生电路、驱动方法及电子设备
技术领域
本发明涉及数字电路技术领域,尤其涉及一种时钟信号产生电路、驱动方法及电子设备。
背景技术
时钟信号是数字电路系统必不可少的信号,且不同设计对时钟信号的时钟频率、占空比和相位也有不同要求。随着数字电路集成度和复杂度的不断提高,同步电路系统的时钟信号产生也变得越来越复杂。对于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)这种VLSI(Very Large Scale Integration,超大规模集成电路)系统往往需要多个不同相位的时钟信号,同时对于某些系统应用要求数据信号和时钟信号保持一定相位关系,因此一般需要时钟信号相位可以动态调整,以保证电路时序和功能的正确性。
一种常用的时钟信号相位选择方案如图1所示,输入时钟CLKIN<n:0>之间具有特定的相位关系,即时钟之间相位连续且可以覆盖一个时钟周期,该方法采用MUX(多路复用器)来选择目标相位时钟作为输出。该方案中,由于选择信号SELx<m:0>是异步信号,在通过改变选择信号来实现不同相位时钟切换时,输出时钟可能出现毛刺,导致后面逻辑电路功能异常。
发明内容
本发明实施例提供的时钟信号产生电路、驱动方法及电子设备,该方案产生的时钟信号的相位可以动态调整切换,且相位动态调整切换时不会有毛刺现象。
第一方面,本发明的实施例提供一种时钟信号产生电路,包括:
计数器,用于根据时钟相位调整要求通过计数生成相位设置值;
译码与同步模块,用于初始相位实现过程中加载相位初始值以及在相位调 整过程中自所述计数器接收所述相位设置值,并将所述相位初始值或所述相位设置值译码成使能控制信号,对所述使能控制信号进行同步化处理后输出,所述同步化处理是将所述使能控制信号同步到需要调整的时钟域;
时钟选择器,用于接收同步化处理后的使能控制信号,并根据所述使能控制信号在多路输入时钟信号中选择与所述相位初始值或所述相位设置值对应相位的输入时钟信号作为输出,所述多路输入时钟信号的相位连续且可以覆盖一个时钟周期。
可选地,所述时钟选择器包括一个或多个时钟选择器单元,所述译码与同步模块输出一个或多个使能控制信号,所述使能控制信号与所述时钟选择器单元一一对应,所述时钟选择器单元用于自所述译码与同步模块接收对应的同步处理后的使能控制信号,并根据对应的同步处理后的所述使能控制信号在所述多路输入时钟信号中选择与所述相位初始值或所述相位设置值对应相位的输入时钟信号作为输出。
可选地,所述译码与同步模块,包括:译码器,用于将所述初始相位设置值或所述相位设置值译码成多个使能控制信号,所述多个使能控制信号中只有一路是高电平,其余均是低电平;同步电路,用于对所述使能控制信号进行同步化处理并输出,同步化处理后的使能控制信号由输入时钟的下降沿触发。
可选地,所述译码器为3-8译码电路,所述同步电路包括第一触发器、第二触发器以及八个输出触发器;
所述第一触发器的触发端输入所述输入时钟信号中的第一输入时钟信号,所述第一触发器的输入端与所述3-8译码电路的输出端相连,所述第一触发器输出信号中按低位到高位的第一至第四位输出至所述八个输出触发器中第一至第四输出触发器的输入端,所述第一触发器用于由所述第一输入时钟信号上升沿触发对所述3-8译码电路的输出信号采样;
所述第二触发器的触发端输入所述第一输入时钟信号,所述第一触发器的输入端接收所述第一触发器的输出信号中按低位到高位的第四至第八位,所述 第二触发器的输出端与所述八个输出触发器中的第五至第八输出触发器的输入端相连,所述第二触发器用于对所述第一触发器输出信号的按按低位到高位的第四至第八位信号采样,由所述第一输入时钟信号的下降沿采样后输出;
所述八个输出触发器中的触发端分别输入所述输入时钟信号中的一个,所述八个输出触发器分别由对应的输入时钟信号的时钟下降沿采样后输出。
可选地,第一与门,所述第一与门的输入端接收与被切换时钟信号对应的使能控制信号;第二与门,所述第二与门的输入端接收与目标切换时钟信号对应的使能控制信号;或门,所述第一与门的输出端和所述第二与门的输出端分别连接至所述或门的两个输入端,所述或门的输出端为所述时钟选择器的输出端;其中,所述时钟选择单元与输出通道一一对应,所述被切换时钟信号指相位调整之前与对应输出通道的输出时钟相位相同的输入时钟,所述目标切换时钟信号指相位调整之后与对应输出通道的输出时钟相位相同的输入时钟。
第二方面,本发明的实施例提供一种所述时钟信号产生电路的驱动方法,所述计数器接收动态相位调整触发信号STEP_N、动态相位调整方向DIRECTION、动态相位调整通道选择信号SEL<m:0>、动态相位调整所选通道相位选择信号的加载信号LOAD和动态相位调整所选通道的当前相位选择信号PHASENOW<m:0>;所述译码与同步模块自所述计数器的输出端接收动态相位调整时新相位选择信号PHASENEW<m:0>,所述译码与同步模块还接收输入时钟信号CLKIN<n:0>、动态相位调整触发信号STEP_N、动态相位调整通道选择信号SEL<m:0>和各通道时钟相位初始设置值PHASEINIT0/1/…/x<m:0>;所述时钟选择器自所述译码与同步模块的输出端接收各通道时钟选择器的使能控制信号CLKEN0/1/…/x<n:0>,所述时钟选择器还接收所述输入时钟信号CLKIN<n:0>;
所述驱动方法包括:所述译码与同步模块通过各通道时钟相位初始设置值PHASEINIT0/1/…/x<m:0>加载并存储相位初始值,并将所述相位初始值译码成对应的使能控制信号,然后把各使能控制信号进行同步化处理,并将同步化处 理后的各使能控制信号传递到各自对应的时钟选择器单元,所述时钟选择器单元根据所述相位初始值在输入时钟信号CLKIN<n:0>中选择相应相位的输入时钟信号作为输出。
所述驱动方法还包括动态相位调整步骤,所述动态相位调整步骤包括:接收所述计数器输出的动态相位调整时新相位选择信号PHASENEW<m:0>并译码成所选通道使能信号(EN0/1/2…/x<n:0>),其中n+1路使能信号中只有1路是高电平,其余n路都是低电平;然后对所述使能信号(EN0/1/2…/x<n:0>)进行同步化处理,同步化处理后输出使能控制信号CLKEN0/1...x<n:0>,所述同步化处理由所述输入时钟CLKIN<n:0>的下降沿触发,所述使能控制信号CLKEN0/1...x<n:0>分别送到各自对应的时钟选择单元作为同步输入控制。
如果相位调整时不改变输出通道,所述动态相位调整步骤还包括:计数器通过动态相位调整方向DIRECTION获取动态相位调整的方向,此时动态相位调整通道选择信号SEL<m:0>保持不变,然后触发动态相位调整所选通道相位选择信号的加载信号LOAD保持低电平,然后当前通道相位选择值PHASENOW<m:0>加载到所述计数器,然后触发STEP_N信号,根据动态相位调整方向所述计数器在STEP_N上升沿时实现加1或减1,计数器输出新的相位选择值PHASENEW<m:0>并送到所述译码与同步模块,在所述译码与同步模块内完成译码并同步到输入时钟的时钟域,输出新的使能控制信号,所述使能控制信号传递至相应的时钟选择器单元,所述时钟选择器单元根据所述使能控制信号切换到新的相位时钟。
如果相位调整时不改变输出通道,所述相位调整步骤还包括:所述计数器根据动态相位调整方向DIRECTION选择动态相位调整方向时,根据动态相位调整通道选择信号SEL<m:0>选择相位调整的通道,所述计数器动态相位调整所选通道的当前相位选择信号PHASENOW<m:0>传递到所述计数器,然后触发LOAD信号并保持高电平一段时间,当前通道相位选择值PHASENOW<m:0>加载到计数器,然后触发STEP_N信号,根据调整方向所述计数器在STEP_N 上升沿时实现加1或减1,所述计数器输出新的相位选择值PHASENEW<m:0>送到译码与同步模块,在该模块内完成译码并同步到输入时钟CLKIN的时钟域,输出新的使能控制信号,使能控制信号传送到相应所述时钟选择器单元,所述时钟选择器单元切换到新的相位时钟。
第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括上述任一项所述的时钟信号产生电路。
第四方面,本发明的实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现上述任一项所述的驱动方法。
本发明实施例提供的时钟信号产生电路、驱动方法及电子设备,该方案中计数器根据时钟相位调整要求生成相位设置值,再通过译码与同步模块传递给时钟选择器,时钟选择器根据相位设置值在多路输入时钟信号中选择与所述相位设置值对应相位的输入时钟信号作为输出,其中所述多路输入时钟信号的相位连续且可以覆盖一个时钟周期。由于输入时钟选择器的控制信号是由译码与同步模块输出的信号控制,因此相位动态调整切换时不会有毛刺。
附图说明
图1为常用的时钟信号相位选择方案的示意图;
图2为本发明实施例提供的时钟信号产生电路的示意图;
图3为本发明实施例提供的构成示例性译码与同步模块的一种3-8译码电路示意图;
图4为本发明实施例提供的构成示例性译码与同步模块的一种同步电路的示意图;
图5为本发明实施例提供的适用于图2所示时钟信号产生电路的一种示例性时钟选择器简易逻辑示意图;
图6为适用于本实施例的时钟信号产生电路的时钟初始相位时序示意图;
图7为适用于本实施例的时钟信号产生电路的时钟相位调整时序示意图;
图8为适用于本实施例的时钟信号产生电路的时钟相位调整内部信号时序示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,由于图1所示时钟信号相位选择方案中选择信号SELx<m:0>是异步信号,通过改变选择信号来实现不同相位时钟切换时,输出时钟可能出现毛刺,导致后面逻辑电路功能异常,因此图1所示方案通常实现静态选择时钟。发明人在实现本发明的过程中发现目前主要存在以下两个待解决技术问题:(1)时钟的相位动态不可调;(2)时钟的相位即使动态调整切换,但是切换时时钟会有毛刺glitch;
为了解决以上两个主要问题,发明人提出一种新的时钟相位动态调整电路设计思路,时钟信号产生电路只需要一个计数器和时钟选择器电路,并配以其它逻辑电路就可以实现时钟信号相位可调性,可以实现动态正向或反向循环调整(可连续累计超过一个时钟周期延迟或提前),并且输出时钟无毛刺。下面结合附图对本申请的方案进行说明。
如图2所示,本发明的实施例提供一种时钟信号产生电路,包括:计数器(COUNT)11、译码与同步模块(DECODE&SYNC)12和时钟选择器(PHASESEL0/1../x)13。
计数器11用于根据时钟相位调整要求通过计数生成相位设置值。
译码与同步模块12用于初始相位实现过程中加载相位初始值以及在相位调整过程中自计数器11接收所述相位设置值,并将所述相位初始值或所述相位设置值译码成使能控制信号,对所述使能控制信号进行同步化处理后输出,所 述同步化处理是将所述使能控制信号同步到需要调整的时钟域。
时钟选择器13用于接收同步化处理后的使能控制信号,并根据所述使能控制信号在多路输入时钟信号中选择与所述相位初始值或所述相位设置值对应相位的输入时钟信号作为输出,所述多路输入时钟信号的相位连续且可以覆盖一个时钟周期。
本实施例通过计数器11可实现加1或减1循环计数,或者其它步长的计数。可以根据时钟相位调整要求,通过调整接口信号按照一定时序控制计数器计数,从而将相位调整信息转化为数字化的相位设置值。例如,可以是调整后相位越大,计数时间越长,输出的代表相位设置值的数字越大。
如图2和图6所示,在一些实施例中,计数器11例如可以是计数器11接收动态相位调整触发信号STEP_N、动态相位调整方向DIRECTION、动态相位调整通道选择信号SEL<m:0>、动态相位调整所选通道相位选择信号的加载信号LOAD和动态相位调整所选通道的当前相位选择信号PHASENOW<m:0>;向所述译码与同步模块输出动态相位调整时新相位选择信号PHASENEW<m:0>。计数器实现过程如下:计数器11通过DIRECTION(包含动态相位调整方向信息)控制计数器加1或减1,然后触发LOAD信号(保持一段时间高电平)把所选通道相位选择值PHASENOW<m:0>加载到计数器,在时钟信号STEP_N上升沿,在PHASENOW<m:0>基础上完成加1或减1,输出新相位选择信号PHASENEW<m:0>。
本实施例的译码与同步模块12一是存储初始相位设置值,二是接收计数器11输出,并判断哪路输出时钟需要相位调整后更新相位设置值,并根据所述相位初始值或所述相位设置值生成使能控制信号。
如图2和图6所示,在一种可选的实施例中,译码与同步模块12一是初始相位过程中,加载初始相位设置值PHASEINIT0/1...x<m:0>,并且译码成各通道对应的控制信号EN0/1...x<n:0>,然后该些控制信号EN0/1...x<n:0>同步到需要调整的时钟域,进而输出同步后的使能控制信号CLKEN0/1...x<n:0>,实现了 初始相位过程时钟选择器模块(后续模块)输入控制信号的同步化处理;二是相位动态调整过程中,接收计数器11输出PHASENEW<m:0>,然后译码成所选通道EN0/1...x<n:0>使能控制信号,然后控制信号EN0/1...x<n:0>同步到需要调整的时钟域进而输出同步后使能控制信号CLKEN0/1...x<n:0>,实现了相位动态调整过程中时钟选择器模块输入控制信号的同步化处理。
在一种可选的实施例中,时钟选择器13包括一个或多个时钟选择器单元(PHASESEL0/1../x),所述译码与同步模块12输出一个或多个使能控制信号,所述使能控制信号与所述时钟选择器单元一一对应,所述时钟选择器单元用于自所述译码与同步模块12接收对应的同步处理后的使能控制信号,并根据对应的同步处理后的所述使能控制信号在所述多路输入时钟信号CLKIN<n:0>中选择与所述相位初始值或所述相位设置值对应相位的输入时钟信号作为输出。
在一种可选的实施例中,所述译码与同步模块12包括:译码器,用于将所述初始相位设置值或所述相位设置值译码成多个使能控制信号,所述多个使能控制信号中只有一路是高电平,其余均是低电平;同步电路,用于对所述使能控制信号进行同步化处理并输出,同步化处理后的使能控制信号由输入时钟CLKIN<n:0>的下降沿触发。
如图3所示,所述译码器可以为3-8译码电路。
如图4所示,所述同步电路可以包括第一触发器、第二触发器以及八个输出触发器;所述第一触发器的触发端输入所述输入时钟信号CLKIN<n:0>中的第一输入时钟信号CLCK<0>,所述第一触发器的输入端与所述3-8译码电路的输出端相连,所述第一触发器输出信号中按低位到高位的第一至第四位<3:0>输出至所述八个输出触发器中第一至第四输出触发器的输入端,所述第一触发器用于由所述第一输入时钟信号CLCK<0>上升沿触发对所述3-8译码电路的输出信号采样;所述第二触发器的触发端输入所述第一输入时钟信号CLCK<0>,所述第一触发器的输入端接收所述第一触发器的输出信号中按低位到高位的第四至第八位<7:4>,所述第二触发器的输出端与所述八个输出触发器中的第五至 第八输出触发器的输入端相连,所述第二触发器用于对所述第一触发器输出信号的按低位到高位的第四至第八位信号<7:4>采样,由所述第一输入时钟信号CLCK<0>的下降沿采样后输出;所述八个输出触发器中的触发端分别输入所述输入时钟信号CLKIN<n:0>中的一个,所述八个输出触发器分别由对应的输入时钟信号CLKIN<n:0>的时钟下降沿采样后输出。
本实施例的时钟选择器接收译码与同步模块输出的使能控制信号CLKEN0/1...x<n:0>,并根据输入的使能控制信号CLKEN0/1...x<n:0>(已经时钟同步过)变化,在时钟选择器模块内根据合适的逻辑设计,切换到新的相位时钟下输出。新的相位指的是使能控制信号CLKEN0/1...x<n:0>中包含的相位初始值或所述相位设置值。
时钟选择器可包括一个或多个时钟选择单元,时钟选择单元与输出通道(或输出时钟)一一对应。时钟选择单元自译码与同步模块获取对应输出通道的相位设置值,然后在多路输入时钟信号中选择与所述相位设置值对应相位的输入时钟信号作为输出。
如图5所示,一种可选的实施例中,所述时钟选择器单元,包括:第一与门,所述第一与门的输入端接收被切换时钟信号与其对应的使能控制信号;第二与门,所述第二与门的输入端接收目标切换时钟信号与其对应的使能控制信号;或门,所述第一与门的输出端和所述第二与门的输出端连接至所述或门的两个输入端,所述或门的输出端为所述时钟选择器的输出端。此处的被切换时钟信号指相位调整之前与该通道的输出时钟相位相同的输入时钟,目标切换时钟信号指相位调整之后与该通道的输出时钟相位相同的输入时钟。
本发明的实施例还提供一种上述时钟信号产生电路的驱动方法,在初始相位调整实现过程,该驱动方法包括:所述译码与同步模块12通过各通道时钟相位初始设置值PHASEINIT0/1/…/x<m:0>加载并存储相位初始值,并将所述相位初始值译码成对应的使能控制信号,然后把各使能控制信号进行同步化处理,并将同步化处理后的各使能控制信号CLKEN0/1/…/x<n:0>传递到各自对应的 时钟选择器单元,所述时钟选择器单元根据所述相位初始值在输入时钟信号CLKIN<n:0>中选择相应相位的输入时钟信号作为输出。
所述驱动方法还包括动态相位调整步骤,所述动态相位调整步骤包括:接收所述计数器11输出的动态相位调整时新相位选择信号PHASENEW<m:0>并译码成所选通道使能信号(EN0/1/2…/x<n:0>),其中n+1路使能信号中只有1路是高电平,其余n路都是低电平;然后对所述使能信号(EN0/1/2…/x<n:0>)进行同步化处理,同步化处理后输出使能控制信号CLKEN0/1...x<n:0>,所述同步化处理由所述输入时钟CLKIN<n:0>的下降沿触发,所述使能控制信号CLKEN0/1...x<n:0>分别送到各自对应的时钟选择单元作为同步输入控制。
下面结合附图,对本发明提供的时钟信号产生电路及其驱动方法进行进一步说明。
如图2所示,在一些实施例中,计数器11接收动态相位调整触发信号STEP_N、动态相位调整方向DIRECTION、动态相位调整通道选择信号SEL<m:0>、动态相位调整所选通道相位选择信号的加载信号LOAD和动态相位调整所选通道的当前相位选择信号PHASENOW<m:0>;向译码与同步模块12输出动态相位调整时新相位选择信号PHASENEW<m:0>。
所述译码与同步模块12自的计数器11输出端接收动态相位调整时新相位选择信号PHASENEW<m:0>,所述译码与同步模块还接收输入时钟信号CLKIN<n:0>、动态相位调整触发信号STEP_N、动态相位调整通道选择信号SEL<m:0>和各通道时钟相位初始设置值PHASEINIT0/1/…/x<m:0>。向所述时钟选择器13输出各通道时钟选择器的使能控制信号CLKEN0/1/…/x<m:0>。
所述时钟选择器13包括多个时钟选择器单元(PHASESEL0/1../x),各时钟选择器单元(PHASESEL0/1../x)自所述译码与同步模块12的输出端分别接收对应通道的使能控制信号CLKEN0/1/…/x<m:0>,所述时钟选择器还接收输入时钟信号CLKIN<n:0>,输出信号为输出时钟为CLKOUT0/1/…/x。
计数器实现过程:通过动态相位调整方向DIRECTION控制计数器加1还 是减1,然后触发LOAD信号(保持一段时间高电平)把所选通道相位选择值PHASENOW<m:0>加载到计数器,在时钟信号STEP_N上升沿,在PHASENOW<m:0>基础上完成加1或减1,输出新相位选择信号PHASENEW<m:0>。
译码与同步模块实现过程:一是初始相位实现过程中,首先加载相位初始值(PHASEINIT0/1/2…/x<m:0>)并译码成各自使能信号(EN0/1/2…/x<n:0>),其中n+1路使能信号中只有1路是高电平,其余n路都是低电平,然后把使能信号(EN0/1/2…/x<n:0>)实现同步化处理,并输出同步后使能控制信号CLKEN0/1...x<n:0>,该输出信号由输入时钟CLKIN<n:0>的下降沿触发,最后使能信号CLKEN0/1...x<n:0>分别送到各自时钟选择单元作为同步输入控制。
如图3中所示,以m=2为例,可通过3-8译码电路实现译码,PHASE<2:0>设置值确定,则输出使能信号EN<7:0>只有1路是高电平,其余7路都是低电平。然后把使能信号(EN0/1/2…/x<n:0>)实现同步化处理,并输出同步后使能控制信号CLKEN0/1...x<n:0>。如图4中所示,以n=7为例,译码电路输出EN<7:0>先由CLKIN<0>上升沿触发DFF0采样输出,根据输入时钟CLKIN<7:0>相位关系以及时钟和使能控制信号之间的控制关系,将采样后使能信号<7:0>分成两组,其中低bit<3:0>直接送到对应DFF,由对应时钟下降沿采样后输出,而高bit<7:4>会由CLKIN<0>下降沿触发DFF1再次采样,之后再送到对应DFF,由对应时钟下降沿采样后输出。最后使能信号CLKEN0/1...x<n:0>分别送到各自时钟选择器作为同步输入控制。
二是动态相位调整实现过程中,接收计数器11输出的PHASENEW<m:0>并译码成所选通道使能信号(EN0/1/2…/x<n:0>),其中n+1路使能信号中只有1路是高电平,其余n路都是低电平;然后把使能信号(EN0/1/2…/x<n:0>)实现同步化处理,并输出同步后使能控制信号CLKEN0/1...x<n:0>,该输出信号由输入时钟CLKIN<n:0>的下降沿触发,最后使能控制信号CLKEN0/1...x<n:0>分别送到各自时钟选择器作为同步输入控制。
如图6中所示,以输出时钟CLKOUT0/1/2初始相位实现过程为例,其相位初始值PHASEINIT0/1/2<m:0>分别为(m+1)’b0…000/0…001/0…010,相邻两个时钟的初始值相差(m+1)’b0…001,即输出时钟CLKOUT0/1/2相邻两个时钟相位相差为T/(n+1),分别进行译码与同步处理后生成的使能控制信号CLKEN0/1/2<n:0>分别为(n+1)’b0…000/0…010/0…100。其中各个使能信号中只有1路为1,其余n路都是0。使能控制信号分别送到各自时钟选择器选择相应相位时钟作为输出。
时钟选择器实现过程:被切换时钟信号与其对应的使能控制信号求与(进行与逻辑处理)得到信号A,目标切换时钟信号与其对应的使能控制信号求与(进行与逻辑处理)得到信号B,然后把信号A+B求或(进行或逻辑处理),就实现了无毛刺的时钟切换过程,简易逻辑如图5中所示。
时钟相位动态调整过程是通过数字接口按照一定时序实现,如图7中所示为时钟相位调整时序示意图。
动态调整不改变通道过程:首先通过DIRECTION选择动态相位调整方向,此时SEL<m:0>保持不变,然后触发LOAD信号并保持高电平一段时间,当前通道相位选择值PHASENOW<m:0>加载到计数器,然后触发STEP_N信号,根据调整方向计数器在STEP_N上升沿时实现加1或减1,计数器输出新的相位选择值PHASENEW<m:0>送到译码与同步模块,在该模块内完成译码并同步到CLKIN时钟域,输出新的使能控制信号,使能控制信号最后送到相应时钟选择器模块,切换到新的相位时钟。
如图8中所示,以输出时钟CLKOUT0/1为例,其相位初始值PHASEINIT0/1<m:0>分别为(m+1)’b0…000/0…001,两个时钟初始值相差(m+1)’b0…001,即输出时钟CLKOUT0/1初始相位相差为T/(n+1),选择CLKOUT0进行动态向后调整,此时PHASENOW等于PHASEINIT0<m:0>,即(m+1)’b0…000,触发STEP_N信号生成新相位选择值,计数器在PHASENOW基础上加1并更新到PHASENEW,此时PHASENEW由(m+1)’b0…000变成 (m+1)’b0…001,新的相位选择值在译码与同步模块完成后切换到输入时钟CLKIN<7:0>时钟域,此时CLKEN0<0>由高电平切换到低电平,而CLKEN0<0>则由低电平切换到高电平,使能控制信号送到时钟选择器PHASESEL0选择CLKIN<1>作为输出时钟,经过动态调整后输出时钟CLKOUT0/1相位差由初始T/(n+1)变为同相位时钟。
动态调整改变通道过程是在DIRECTION选择动态相位调整方向时,同时改变SEL<m:0>,将目标通道当前相位选择值送给PHASENOW<m:0>,然后触发LOAD信号并保持高电平一段时间,当前通道相位选择值PHASENOW<m:0>加载到计数器,然后触发STEP_N信号,根据调整方向计数器在STEP_N上升沿时实现加1或减1,计数器输出新的相位选择值PHASENEW<m:0>送到译码与同步模块,在该模块内完成译码并同步到CLKIN时钟域,输出新的使能控制信号,使能控制信号最后送到相应时钟选择器模块,切换到新的相位时钟。
如图7中所示,各个信号之间需要满足相应时序关系才能保证当前动态调整有效。
本发明的实施例提供的时钟信号产生电路及其驱动方法,通过采用计时器的设计思路,一是可以实现时钟相位正向或反向循环调整,并且输出时钟无毛刺,二是可以在多路时钟之间动态切换并进行相位调整。
本发明的实施例提供的时钟信号产生电路,尤其适用于某一路输出时钟信号相位需要连续调整的多时钟领域,根据应用需求,本实施例提供的时钟信号产生电路可通过特定数字接口按照一定时序连续调整时钟相位。
本发明的实施例还提供一种电子设备,所述电子设备包括上述任一项所述的时钟信号产生电路。
本发明的实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现上述任一项所述的驱动方法。
本发明涉及数字电路系统(Digital Circuit System)的时钟相位动态调整电 路,特别涉及于某一路时钟相位需要连续调整的多时钟领域,根据应用需求,通过特定数字接口按照一定时序连续调整时钟相位。通过采用提出的设计时序与思路,一是可以实现时钟相位正向或反向循环调整,并且输出时钟没有毛刺,二是可以在多路时钟之间切换并进行相位调整。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。