一种支持多路时钟的无毛刺切换电路的制作方法
【技术领域】
[0001]本发明属于集成电路可靠性领域,涉及无毛刺的时钟切换电路,具体涉及一种支持多路时钟的无毛刺切换电路。
【背景技术】
[0002]为了实现功耗的智能化管理,时钟切换电路在当代复杂片上系统(SystemonChip,简称S0C)中必不可少。基于时钟切换电路的支持,可以根据工作负载调整SOC中某模块或者子系统的工作频率,从而智能化的降低功耗。如以太网MAC支持10/100/1000M的通信速率,基于不同的通信速率,动态地改变MAC的时钟频率可以最大程度上降低芯片功耗。另夕卜,为了使SOC工作模式更加灵活和丰富,电路也应支持不同频率时钟的切换。
[0003]专利“一种时钟切换电路” (ZL200710098961.0)、“一种时钟切换电路”(ZL200810067535.5)、“时钟切换电路”(ZL200810068164.2)及“一种时钟切换方法及时钟切换装置”(ZL201010560049.4)等均公开了无毛刺的时钟切换方案,但是上述各种方案仅支持两个时钟的动态切换。
[0004]专利“一种时钟切换装置”(ZL201410310730.1)提出了一种支持多路时钟的无毛刺切换方案,但是该方案仅仅允许时钟频率从高到低或者从低到高的依次切换,不支持跳跃式的时钟切换。
[0005]现有技术中的无毛刺时钟切换方案,由于无法避免信号不定态和噪声等对电路的影响,都存在不支持多路时钟的跳跃式无毛刺切换的问题。
【发明内容】
[0006]针对现有技术中存在的问题,本发明提供一种支持多路时钟的无毛刺切换电路,能够避免信号不定态和噪声等对电路的影响,实现多路时钟的跳跃式无毛刺切换。
[0007]本发明是通过以下技术方案来实现:
[0008]—种支持多路时钟的无毛刺切换电路,包括寄存器、与门、第一选择器、寄存器组、译码电路、多时钟互锁电路及时钟选择器;寄存器根据系统时钟Clk_sys对输入进行采样;输入的时钟切换请求clk_s_req连接至寄存器的D端和与门的一个输入端;寄存器Q端的输出取反后连接与门的另一个输入端;输入的系统时钟Clk_sys分别连接至寄存器和寄存器组的elk端;输入的N路时钟输入连接至多时钟互锁电路中的无毛刺时钟管理电路,其中N为正整数;输入的异步复位信号连接至该电路内所有的寄存器复位端;输入的时钟选择信号clk_sel输入至第一选择器的一个输入端;与门的输出端连接至第一选择器的控制端;第一选择器的输出端连接寄存器组的D端,寄存器组的Q端分别连接第一选择器的另一输入端和译码电路的输入端;译码电路输出的N位译码结果clk_pre_en传递给多路时钟互锁电路;多路时钟互锁电路根据N路时钟输入和N位译码结果,将N位时钟信号、监测结果CR和N位关断标志信号clk_gate_S输出至时钟选择器;待监测结果CR为高电平时,时钟选择器据N位关断标志信号位时钟信号的对应关系,将N位关断标志信号clk_gate_s内部仅有的一位高电平比特位对应的时钟选通至电路的时钟输出CLK_0。
[0009]优选的,还包括去噪电路,去噪电路对时钟切换请求clk_s_req进行滤波和同步处理后将其输出连接至寄存器的D端和与门的输入端;去噪电路的输入端还连接系统时钟elk—sys0
[0010]进一步,所述的去噪电路如果采用软件触发时钟切换请求,则包括第一寄存器和第二寄存器,第一寄存器的输出连接至第二寄存器的输入,时钟切换请求clk_s_req连接至第一寄存器的输入,第二寄存器的输出为去噪电路的输出;系统时钟clk_sys分别连接至第一寄存器和第二寄存器的elk端。
[0011]进一步,所述的去噪电路如果采用硬件触发时钟切换请求,则包括延迟单元、与门AND、第三寄存器和第四寄存器,其中时钟切换请求clk_S_req连接至延迟单元和与门AND输入端,延迟单元的输出作为与门AND另一个输入;第三寄存器和第四寄存器的连接方式与第一寄存器和第二寄存器相同,并基于系统时钟clk_sys对与门AND的输出进行采样;第三寄存器的输出连接至第四寄存器的输入,与门AND的输出连接至第三寄存器的输入,第四寄存器的输出为去噪电路的输出;系统时钟clk_sys分别连接至第三寄存器和第四寄存器的elk端。
[0012]优选的,所述的译码电路,根据来自寄存器组位宽为1g2N的输入,通过独热码对输入进行译码,得到并输出任意时刻仅有一位高电平的N位译码结果clk_pre_en。
[0013]优选的,所述的多路互锁电路包括无毛刺管理电路、第一比较器、第二选择器、第三选择器和第二比较器;无毛刺管理电路的输出N位关断标志信号clk_gate_S反馈至第一比较器和第二比较器一个输入端;第一比较器的另一个输入端为全零,输出端连接至第二选择器的控制端;第二比较器的另一个输入端为N位译码结果clk_pre_en,输出连接至第三选择器的控制端;第二选择器的两个输入分别为N位译码结果clk_pre_en和第三选择器的输出端,输出端连接无毛刺管理电路的输入端;第三选择器的一个输入端连接N位译码结果clk_pre_en,另一个输入端为全零。
[0014]进一步,所述的无毛刺管理电路包括第三比较器和N个时钟关断电路;N路时钟输入信号和与第二选择器的N位输出clk_post_en 对应的N个时钟关断电路的输入端连接,N个时钟关断电路的输出端连接第三比较器的一个输入端,第三比较器的另一个输入端连接N位输出c I k_post_en,第三比较器的输出端输出监测结果CR。
[0015]进一步,所述的N个时钟关断电路结构相同,且分别对应N路时钟输入中的一路;时钟关断电路包括第一、二、三寄存器和关断与门;时钟输入clk_i连接至第一、二寄存器的时钟输入端和关断与门的一个输入端,时钟输入反后连接至第三寄存器的时钟输入端;第一、二、三寄存器依次级联,上一级的输出端连接至下一级寄存器的输入端,第一寄存器的数据输入端为第i位clk_post_en(i),第三寄存器的数据输出clk_gate_s(i)连接至关断与门的另一个输入端;第三寄存器的数据输出c I k_gate_s (i)和关断与门输出c I kg_o (i)共同组成时钟关断电路的输出;N个时钟关断电路的输出形成了 N位关断标志信号clk_
时钟信号clkg_o;其中i = 0,l,...,N-1。
[0016]与现有技术相比,本发明具有以下有益的技术效果:
[0017]本发明一种支持多路时钟的无毛刺切换电路,通过译码电路对时钟选择信号实现独热码形式的译码,将1g2N位时钟选择信号转变为N位独热码编码的译码结果,保证了有效时钟使能信号的唯一性和排他性,为多路互锁电路实现无毛刺切换奠定了基础。通过多路互锁电路根据当前输出的时钟使能对译码结果进行处理,若当前输出的时钟使能与译码结果不相等,在首先关闭所有的时钟使能,再将译码结果作为新的时钟使能信号打开对应的时钟,实现了时钟信号的无毛刺切换。可以实现N路输入时钟的无毛刺切换,支持任意的切换顺序,为整体电路的工作模式提供了更强的灵活性。
[0018]进一步的,通过设置的去噪电路,可以有效去除时钟切换请求信号上的不定态和毛刺,仅保留有效的时钟切换请求,避免了时钟的非法切换,提高了时钟切换电路的可靠性。
【附图说明】
[0019]图1为本发明的一种支持多路时钟的无毛刺切换电路示意图。
[0020]图2为本发明采用的软件触发时钟切换时的去噪电路示意图。
[0021]图3为本发明采用的硬件触发时钟切换时的去噪电路示意图。
[0022]图4为本发明采用的时钟关断电路设计结构图。
【具体实施方式】
[0023]下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
[0024]本发明一种支持多路时钟的无毛刺切换电路,首先对时钟切换请求进行去噪处理,然后基于有效的时钟切换请求,对时钟选择信号进行保存,并对保存后的时钟选择信号进行基于独热码的译码,译码结果只有I位为高电平,之后由多时钟互锁电路根据当前输出的时钟使能(标志着当前的输出时钟)对译码结果进行处理,若当前输出的时钟使能为零,则将译码结果直接传递给时钟管理电路的输入;若当前输出的时钟使能非零,则将译码结果与当前输出的时钟使能进行比较,如果两者不一致,则将时钟管理电路的输入置为零,若一致,则将译码结果直接传递给时钟管理电路的输入。时钟管理电路基于N路时钟,对各时钟对应的译码结果进行两级寄存器同步,基于独热码的译码结果位宽等于N,并在第二级寄存后的时钟下降沿关断译码结果为零对应的时钟,最后时钟管理电路将经过关断处理的N路时钟和同步后的译码结果输出至多路选择器,由多路选择器根据当前输出的时钟使能选择N路时钟的其中一路作为最终输出,其中同步后的译码结果即前面所述的当前输出的时钟使能。其中所述的N为正整数,且以下也均为此取值。
[0025]本发明实例中采用基于软件触发的N路时钟无毛刺切换电路作为优选实施例进行说明,实施例电路基于本发明提出的一种支持多路时钟的无毛刺切换电路,其硬件电路结构如图1所示,包括去噪电路101、寄存器102、与门103、第一选择器201、寄存器组202、译码电路203、多时钟互锁电路300及时钟选择器401。该电路的输入包括时钟切换请求clk_s_req、系统时钟Clk_sys、时钟选择信号clk_sel、N路时钟输入及异步复位信号,其中系统时钟Clk_sys连接至寄存器102、寄存器组202和去噪电路101;时钟切换请求clk_S_req输入至去噪电路101;时钟选择信号clk_sel输入至第一选择器201 ;N路时钟输入连接至多时钟互锁电路300中的无毛刺时钟管理电路301;异步复位信号连接至该电路内所有的寄存器复位端。该电路的输出为时钟CLK_0。
[0026]去噪电路101对时钟切换请求clk_S_req进行滤波和同步处理,然后将其输出连接至寄存器102和与门103的输入端;寄存器102基于系统时钟Clk_sys对输入进行采样,其输出取反后连接至与门103的输入端;与门103的输出连接至第一选择器201的控制端,当clk_S_req发生有效的由O至I的变化时,其输出维持一个时钟周期的高电平;当控制端为高电平时,第一选择器201将输入时钟选择信号clk_sel连通至寄存器组202的输入端,否则第一选择器201配合寄存器组202实现寄存器组202的数据保持;寄存器组202将其保存的值输出至译码电路203;译码电路对输入进行译码操作,然后将译码后的值clk_pre_en传递给多路时钟互锁电路300,多路时钟互锁电路300对译码结果clk_pre_en经过一系列的控制处理后,将N位时钟信号、监测结果CR和N位关断标志信号clk_gate_S输出至时钟选择器401;待监测结果CR为高电平时,时钟选择器401根据N位关断标志信号Clk_gate_i^PN位时钟信号的一一对应关系,将N位关断标志信号clk_gate_sft部的高电平比特位对应的时钟选通至电路的输出时钟CLK_0N位c lk_gate_s中仅有一位为高电平。
[0027]去噪电路101,如图2所示,包括第一寄存器1011和第二寄存器1012,第一寄存器1011的