前后端协同控制毛刺及时钟扭斜的时钟分频器的制作方法

文档序号:6523941阅读:245来源:国知局
专利名称:前后端协同控制毛刺及时钟扭斜的时钟分频器的制作方法
技术领域
本发明涉及的是一种芯片技术领域地分频器,特别是一种前后端协同控制毛刺及时钟扭斜的时钟分频器。
背景技术
时钟设计是系统级芯片(SoC)芯片设计的重点和难点所在,时钟模块是SoC芯片中最关键和难度最大的模块之一。从芯片效率的角度,更快的芯片时钟频率就意味着更快的指令执行速度,也就是说,在同样长的时间内可以完成更多的功能。从芯片功耗的角度,因为时钟信号贯穿于整个芯片内部,而且为了使时钟信号到达需要同步的寄存器组的时延尽量相等需要在时钟通路上添加相当多的缓冲器(buffer)和反相器(inverter),这就使得时钟网络的功耗可以占到整个芯片总功耗的25%-30%。所以有效的降低时钟系统的功耗就意味着更低的芯片功耗,也就是说,使用该芯片的系统可以工作更长的时间。
在复杂的SoC系统中往往包含了多个不同频率的时钟。如果这些时钟的频率相差不大,一般采用分频时钟的方法来做。这样整个芯片可只使用一个锁相环(PLL),从而节省了面积和功耗。采用传统分频时钟,后端设计存在两个难点(1)时钟分频过程中毛刺的消除;(2)分频时钟和被分频时钟相位的平衡。传统的时钟设计的后端实现是整个芯片后端实现的瓶颈。往往会由于时钟树综合结果不符合要求而进行反复,使得芯片的交付流片周期大大拖延;同时,缺乏有效的方法控制时钟网络的功耗,从而难以达到低功耗设计的目标。造成这种现象的原因有很多,但其中最主要的是前端设计和后端实现的完全分开。
经对现有技术的文献检索发现,目前已有的解决方案对分频得到的时钟进行重同步(Resynchronization),发表于IEEE 2000定制集成电路会议(IEEE 2000Custom Integrated Circuits Conference)上的文章《FPGA中低功耗应用的动态时钟管理》(Dynamic Clock Management for Low Power Appl ication in FPGAs)中提出了在时钟分频器后加入锁相环(Phase Locked Loop)同步分频时钟和输入时钟的方法,这种方法的不足在于当分频系数改变时,需要多个时钟周期的同步时间,并且重同步逻辑需要耗费较大的电路面积,在需要多个时钟分频器的复杂系统级芯片(SoC)中不可行。

发明内容
本发明的目的在于克服现有技术中的不足,提出一种全新的前后端协同控制毛刺及时钟扭斜的时钟分频器。使其将前端和后端统一起来,在芯片前端设计的时候就考虑到如何使后端能够比较容易的实现,在芯片后端的实现时可以有的放矢的设定约束,使芯片后端设计的周期大大缩短;同时,可以降低时钟网络功耗,从而降低整个芯片的功耗。
本发明是通过以下技术方案实现的,本发明包括主分频模块、辅分频模块、时钟扭斜控制模块。通过外部参数输入灵活配置时钟分频系数,主分频模块根据配置的分频系数产生主分频时钟,并产生对辅分频模块的控制信号;辅分频模块产生辅分频时钟;主分频时钟、辅分频时钟、输入时钟以及扫描控制信号输入到时钟扭斜控制模块,由它最终产生时钟沿与输入时钟对齐的分频时钟。
时钟扭斜控制模块使得输出分频时钟与输入时钟相位差固定,独立于分频系数,同时使得扫描模式下分频时钟和输入时钟的相位差与正常工作模式下相同,可以用扫描时钟为时钟源进行时钟树综合。本发明可控时钟扭斜的时钟分频器结构,使得时钟树综合时更加容易达到时钟树平衡,用于调节时钟扭斜的缓冲器数量大大减少,可以明显降低时钟网络功耗。
本发明时钟分频器中设置专用寄存器存放分频系数起到缓冲作用,利用了一个下沿触发的寄存器divclk_n产生一个周期的高电平,分频时钟divclk_p、被分频时钟clkin、divclk_n三个信号逻辑操作,产生一个寄存器传输级(RTL)可控制时钟扭斜的时钟。
RTL级时钟扭斜的控制,其模型为在主分频时钟上沿的前一个周期的时钟下沿到来时,利用一个下沿触发的寄存器产生一个周期的高电平,该电平和输入时钟相与,得到与输入时钟上升沿对齐的脉冲信号,该信号与主分频时钟相或即可得到时钟上沿与输入时钟对齐的输出时钟信号。由于输出时钟相对于输入时钟的延时是固定的,电路的后端物理设计较为方便,在生长时钟树(clocktree)以及布线的时候,只需要保证该模块物理电路内部的局部时钟扭斜(localclock skew)控制在clk周期的一半就可以保证实际电路的时钟输出和时钟输入的延时控制在一个相对小的范围,以便于以后的全局时钟树生长和全局布线。
可测试性设计扫描模式下,输出时钟为扫描时钟,一般方法是输出时钟=扫描模式?扫描时钟分频时钟。这种情况下,扫描时钟不能作为时钟源进行时钟树综合,同时,扫描时钟的频率也有限制,因为扫描模式下是寄存器间的时钟扭斜难以控制。因此,在可测试性设计时,考虑设计扫描模式下,扫描时钟的扭斜与正常工作模式下相同,并用扫描时钟作为时钟源进行时钟树综合以方便物理设计过程。
本发明时钟分频器应用到系统级芯片(SoC)中,使设置扫描时钟为时钟源进行时钟树综合成为可能;扫描模式下,divclk相对于clk的扭斜与正常工作模式下相同,为二输入与门和一个二输入或门的延时。
本发明可灵活配置时钟分频系数;输出分频时钟与输入时钟相位差固定,独立于分频系数;扫描模式下,分频时钟和输入时钟的相位差与正常工作模式下相同,可以用扫描时钟为时钟源进行时钟树综合。
本发明使后端能够比较容易的实现,在芯片后端的实现时可以有的放矢的设定约束,大大缩短芯片后端设计的周期;同时,可以降低时钟网络功耗,从而降低整个芯片的功耗。


图1为本发明时钟分频器结构示意图。
图2为本发明时钟扭斜控制模块示意图。
图3为本发明控制时钟扭斜的RTL模型的时序。
具体实施例方式
如图1所示,本发明包括主分频模块、辅分频模块、时钟扭斜控制模块。主分频模块根据配置的分频系数产生主分频时钟,并产生对辅分频模块的控制信号;辅分频模块产生辅分频时钟;主分频时钟、辅分频时钟、输入时钟以及扫描控制信号输入到时钟扭斜控制模块,由它最终产生时钟沿与输入时钟对齐的分频时钟。
为了节省功耗,驱动SoC内部模块的时钟通常有多个,这些时钟通常是由一个高频率的时钟源经过一个复杂的分频电路产生的,由分频电路产生的时钟之间有一定的倍数关系,为了保证时钟之间的同步,要求严格控制时钟之间的扭斜(clock skew)。因此在RTL模型中控制时钟扭斜,对齐时钟的上沿是非常必要的。表1是该分频电路的RTL模型,最后一行的assign语句起到了对齐时钟沿的作用。
下面结合本发明时钟分频器的RTL设计,分析对齐时钟沿的机制。divclk_p是由ctrl_reg控制的对于clk的分频时钟,在现实的物理实现中,divclk_p相对于clk产生了时钟的扭斜,它主要来自于信号的逻辑延时和线上传输延时。如果直接把时钟输出divclk_p赋值给divclk,这个RTL模型至少是“不健壮”的。对于没有对齐边沿的RTL模型来说,时钟扭斜只能依赖后端布线工具控制,这种模型的时钟扭斜在RTL级别是不可控制的。
如图2、图3所示,边沿对齐的机制就是为了建立RTL级别可控制的时钟扭斜模型,该模型利用了一个下沿触发的寄存器divclk_n产生一个周期的高电平,通过主分频时钟、辅分频时钟、输入时钟三个信号的逻辑操作,产生一个RTL级别可控制时钟扭斜的时钟。这里称一个时钟输出在RTL级别上是“时钟扭斜是可控制的”是指相对于时钟源(本例时钟源为clk)而言,时钟输出的时钟扭斜是一些固定逻辑门的延时。本发明中divclk相对于clk的skew是一个二输入与门和一个二输入或门的延时(见图2)。这为电路的后端物理设计带来了很大的方便,在生长时钟树(clock tree)以及布线的时候,只需要保证该模块物理电路内部的local clock skew控制在clk周期的一半就可以保证实际电路的时钟输出和时钟输入的延时控制在一个相对小的范围,以便于以后的全局时钟树生长和全局布线。可测试性设计方面,扫描模式(scan_mode)为1时表示芯片处于测试状态,这时clkin可以通过电路。即检测时钟可以控制被检测的寄存器。扫描模式下,divclk相对于clk的扭斜与正常工作模式下相同,为二输入与门和一个二输入或门的延时,因此可以用扫描时钟作为时钟源进行时钟树综合。这就是本发明的前后端协同控制毛刺及时钟扭斜的时钟分频器的实现方式。
本发明时钟分频器结构易于实现时钟毛刺的消除。由于输出分频时钟的相位不依赖于主分频模块得到的主分频时钟,通过对主分频模块单独进行时钟树综合,可以使主分频模块内的局部时钟扭斜(local clock skew)极小,从而从根本上消除了产生时钟毛刺的可能。
表1,为时钟分频器的RTL模型
assign clkinb=~clkin;always@(posedge clkin or negedge async_rst_b)if(!async_rst_b)begincnt[HIGH:LOW]<=’b0;ctrl_reg_p1<=’b0;divclk_p<=0;end  else if(ctrl_reg[HIGH:LOW]==’b0)   begin  cnt[HIGH:LOW]<=’b0;  ctrl_reg_p1<=ctrl_reg_p1;  divclk_p<=0;   end  else if(cnt==’b0)   begin  cnt[HIGH:LOW]<=ctrl_reg[HIGHLOW];  ctrl_reg_p1<=ctrl_reg+1;  divclk_p<=1   end  else if((ctrl_reg_p1[HIGH+1:LOW]==’b11)&amp;&amp;(cnt==’b1))<!-- SIPO <DP n="5"> --><dp n="d5"/>  begin   cnt[HIGH:LOW]<=’b0;   ctrl_reg_p1<=ctrl_reg_p1;divclk_p<=0;endelse if(cnt==(ctrl_reg_p1[HIGH+1:LOW]>>1))  begin   cnt[HIGH:LOW]<=cnt[HIGH:LOW]-1;   ctrl_reg_p1<=ctrl_reg_p1;   divclk_p<=0;  endelse  begin   cnt[HIGH:LOW]<=cnt[HIGH:LOW]-1;  ctrl_reg_p1<=ctrl_reg_p1;divclk_p<=divclk_p;  endalways@(posedge clkinb or negedge async_rst_b)if(!async_rst_b)  divclk_n<=0;else if(ctrl_reg_p1[HIGH+1:LOW]==’b1)  divclk_n<=1;else if(cnt==’b0)divclk_n<=1;elsedivclk_n<=0;assign divclk=(~scan_mode &amp; divclk_p)|((scan_mode|divclk_n)&amp;clkin_grunt2)。
权利要求
1.一种后端协同控制毛刺及时钟扭斜的时钟分频器,包括主分频模块、辅分频模块,其特征在于,还包括时钟扭斜控制模块,通过外部参数输入灵活配置时钟分频系数,主分频模块根据配置的分频系数产生主分频时钟,并产生对辅分频模块的控制信号;辅分频模块产生辅分频时钟;主分频时钟、辅分频时钟、输入时钟以及扫描控制信号输入到时钟扭斜控制模块,由它最终产生时钟沿与输入时钟对齐的分频时钟。
2.根据权利要求1所述的前后端协同控制毛刺及时钟扭斜的时钟分频器,其特征是,主分频模块中设置寄存器存放分频系数起到缓冲作用,利用了一个下沿触发的寄存器divclk_n产生一个周期的高电平,分频时钟divclk_p、被分频时钟clkin、divclk_n三个信号逻辑操作,产生一个RTL级别可控制时钟扭斜的时钟。
3.根据权利要求1所述的前后端协同控制毛刺及时钟扭斜的时钟分频器,其特征是,时钟扭斜控制模块使得输出分频时钟与输入时钟相位差固定,独立于分频系数。
4.根据权利要求1或者3所述的前后端协同控制毛刺及时钟扭斜的时钟分频器,其特征是,时钟扭斜控制模块使得扫描模式下分频时钟和输入时钟的相位差与正常工作模式下相同,应用该时钟分频器的系统级芯片,可设置扫描时钟为时钟源进行时钟树综合。
全文摘要
一种芯片技术领域的前后端协同控制毛刺及时钟扭斜的时钟分频器,包括主分频模块、辅分频模块、时钟扭斜控制模块。通过外部参数输入灵活配置时钟分频系数,主分频模块根据配置的分频系数产生主分频时钟,并产生对辅分频模块的控制信号;辅分频模块产生辅分频时钟;主分频时钟、辅分频时钟、输入时钟以及扫描控制信号输入到时钟扭斜控制模块,由它最终产生时钟沿与输入时钟对齐的分频时钟。本发明使后端能够比较容易的实现,在芯片后端的实现时可以有的放矢的设定约束,使芯片后端设计的周期大大缩短;同时,可以降低时钟网络功耗,从而降低整个芯片的功耗。
文档编号G06F1/04GK1737807SQ200510029300
公开日2006年2月22日 申请日期2005年9月1日 优先权日2005年9月1日
发明者戴红卫, 陈进, 王琴 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1