一种支持宽频率范围的双向自适应时钟电路的制作方法

文档序号:18884377发布日期:2019-10-15 20:39阅读:218来源:国知局
一种支持宽频率范围的双向自适应时钟电路的制作方法

本发明涉及一种支持宽频率范围的双向自适应时钟电路,利用数字逻辑实现,属于基本电子电路的技术领域。



背景技术:

随着集成电路工艺水平的不断提升,降低功耗成为了与性能提升同等重要的问题,因此,高性能和低功耗便成为了芯片设计质量的重要衡量指标,由于两者的相互制约性,通常使用能效来表征芯片设计质量的优劣,高能效是设计人员在不断努力追求的目标。然而,电路设计在制造过程以及使用环境中都有很大的不确定性,存在着pvt(process,voltage,temperature)偏差,包括工艺偏差、电压波动、温度变化等,对芯片的正常工作有较大的影响。因此,为了确保芯片在复杂的外界环境中都能够正常运行工作,通常在设计电路过程中预留足够的时序余量以保证芯片在“最差情况”中能正常工作。由于这些不利的时序偏差实际上很难同时发生或根本不会发生,预留过多的时序余量显然造成了性能和功耗浪费,因而严重降低了芯片的能效。

自适应电压调节技术是一种十分有效的减少pvt时序余量的技术方法,通过利用监测单元来监测电路的时序信息,根据反馈的时序信息进行自适应电压调节。通过使用avs技术可以减少甚至完全去除pvt时序余量,从而提升电路的能效。以经典的在线时序监测单元razor为例,该电路主要由一个触发器、一个高电平透明的锁存器、一个异或门以及一个数据选择器组成。当时序正常时,数据路径延时长度满足触发器的建立时间要求,触发器和锁存器采样的值相同;当时序错误时,锁存器由于其在时钟高电平处于透明阶段,能够正确采样到数据,而触发器则因为数据到达时间太晚或短路径问题而无法采样正确的值。在检测到电路时序出错后,系统开始进入数据恢复纠错阶段,并在下一个周期重新将锁存器采样到的正确的值通过数据选择器传送到触发器,保证系统数据正确。

利用在线时序监测方法,检测片上时序监测单元反映的信息,便可以得到当前电路运行过程中的时序情况。系统可以根据监测单元反馈的时序监测信息对目标电路进行相应的电压调节,以实现芯片的高能效设计。当芯片数据出现错误时,表明当前电路出现时序违约的情况,此时,芯片的时序余量较小,为了保证芯片工作正常,需要对当前时钟进行快速拉伸操作(即降频)以提高时序余量。当芯片的时序余量较大时,也可以通过对时钟进行合理的压缩操作降低时序余量,提高芯片性能,降低功耗。当前已公布的时钟拉伸方法主要是时钟分频、dll和pll配置。分频的方法可以实现立即降频,但是降频往往无法实现细粒度操作,对时钟进行整数倍分频使得芯片频率降低的幅度较大,工作性能大大降低。使用dll可以产生多个相位时钟,利用快速偏差检测模块来检测是否有快速偏差产生,再通过在不同相位时钟之间进行切换,利用相位时钟之间的相位差以实现对时钟周期的快速改变,但基于dll的方法响应时间长,功耗面积代价大,无法适应低频,有一定的局限性。此外,使用pll动态配置的方法虽然可以实现比较小范围的快速频率调节,但适用频率高,设计复杂度高,通用性不强,不适用于低代价的嵌入式芯片应用。



技术实现要素:

本发明的发明目的是针对上述背景技术的不足,提供了一种响应时间更快,拉伸尺度更细的双向自适应时钟电路,并可以根据当前工作条件自适应的调节时钟的拉伸或压缩量,从而可以最大限度的减少时序余量。本发明根据时序监测单元反馈的电路延时信息,在控制信号下对时钟进行细粒度的快速拉伸或压缩操作,实现代价小,电路结构完善,实现了宽频率范围内时钟信号高精度拉伸或压缩的细粒度操作,解决了现有时钟信号电路需要牺牲一定的精度代价来换取面积代价且支持的频率调节范围较窄的技术问题。

本发明为实现上述发明目的采用如下技术方案:

一种支持宽频率范围的双向自适应时钟电路包括:

相位时钟生成模块,利用系统时钟产生n个相位互不相同的时钟,n为大于1的整数;

相位时钟选择模块,根据自适应时钟选择控制信号,从系统时钟及n个相位时钟中选择合适的目标相位时钟输出,实现在当周期内对系统时钟进行拉伸或压缩的操作;

自适应时钟拉伸或压缩量调节电路模块,实时监测芯片中延时单元的延时信息,并将该信息反馈到控制模块;

控制模块,根据自适应时钟拉伸或压缩量调节电路模块反馈的延时信息,产生自适应时钟选择控制信号。

优选地,所述自适应时钟拉伸或压缩量调节电路模块包括:

一二分频电路,利用d触发器对该模块输入自适应时钟clk_out进行二分频,得到分频时钟;

一复制关键路径模块,由多级组合逻辑门串联而成,用于模拟关键路径延时信息;

一监测单元组电路,由n/2个监测单元(transitiondetector,td)和n/2个高电平透明的锁存器组成,用于监测当前电路的延时信息,指导时钟拉伸或压缩量的选择;

一二选一数据选择器电路,根据电路时序紧张与否,选择对当前系统时钟进行拉伸或压缩,控制所述监测单元组的输入信号为在线时序监测单元提供的时序预警信号或者复制关键路径的延时信号,由此获得当前电路延时信息并传递给控制模块。

优选地,所述相位时钟生成模块包括:

一双延迟线结构相位时钟产生电路,包含两条延迟线,第一条延迟线为快速延迟线,延时较短,支持产生高频的相位时钟;第二条延迟线为慢速延迟线,延时较长,支持产生低频的相位时钟。每一条延迟线由n/2级延时单元串联而成,每一级延时单元后接一级反相器产生反相时钟信号,共产生n个相位互不相同的时钟。所述的双延迟线结构由二选一m数据选择器控制,同一时刻只有一条延迟线工作。快速和慢速延迟线的区别在于单级延时单元使用了不同数量的基本单元。其中,快速延迟线的延时单元的数量比慢速延迟线的延时单元多,因此其延迟时间更小。

一时间数字转换器(time-digital-converter,tdc)电路,利用相位时钟产生电路产生的m个相位时钟检测延迟线信息,m小于等于n/2,。系统上电后,该tdc电路默认检测快速延迟线的延时情况。若tdc电路的m个输出值包含0和1,即频率符合快速延迟线要求,保持使用当前快速延迟线产生相位时钟;若tdc电路的m个输出值仅包含0,即频率不符合快速延迟线要求,则切换到慢速延迟线产生相位时钟。

另一优选地,所述相位时钟选择模块包括:

一相位时钟接收电路,包含n个低电平透明的锁存器和n个与门,用于正确地接收来自所述控制模块的自适应时钟选择控制信号。n位自适应时钟选择控制信号分别作为n个锁存器的数据输入信号,n个相位时钟分别作为n个锁存器的时钟输入信号,与对应的控制信号进行同步处理,n个锁存器的数据输出信号与其时钟输入信号分别通过与门进行与操作;

一n输入或门电路,用于选择并输出目标相位时钟clk_out。

本发明采用上述技术方案,具有以下有益效果:

(1)本发明公开的双向自适应时钟电路能够支持宽频率范围的调节,采用双延迟线结构实现相位时钟生成模块可以适应不同频率范围的要求,每条延迟线具有不同的最小单位延时精度,其中,一条延迟线只在较高的频率下工作,而另一条延迟线则只在较低频率下工作,再结合tdc电路判断延迟线延时信息,根据系统需要切换合适的延迟线产生相位时钟,为使得相位时钟稳定,本发明将整个自适应时钟电路置于固定的高电压域中而非可变电压域,以避免低电压带来的快速偏差对电路性能的影响。

(2)本发明公开的双向自适应时钟电路可根据当前工作条件自适应的调节时钟的拉伸或压缩量,具有响应时间更快、拉伸尺度更细的技术优势,确定时序拉伸或压缩量是本发明的一大难点,在不同pvt环境下发生快速偏差时所需的时钟拉伸或压缩量是不同的,在pvt环境较差时所需时钟拉伸或压缩量较大而在pvt环境较好时则较小,所以,本发明引入了时钟拉伸或压缩量调节电路,利用td对携带关键路径延时信息的信号进行时序监测,即可得到当前pvt环境所适合的时序拉伸或压缩量,该方法相对于传统的其它时钟拉伸方法,不仅能在一个周期内完成响应,而且能够做到对系统时钟较为精细程度的拉伸,保证芯片能在解决电路时序违约的情况下而不会有太大的性能损失。

(3)本发明公开的双向自适应时钟电路面积和功耗代价较小,本发明通过数字逻辑实现所需的电路功能,电路结构精简,效果良好,尤其适合用于基于在线时序监测的自适应电压频率调节电路。

附图说明

图1为支持宽频率范围的双向自适应时钟电路的框图。

图2为支持宽频率范围的双向自适应时钟电路的原理图。

图3为自适应时钟拉伸量选择的时序图。

图4为自适应时钟拉伸原理的时序图。

图5为tt_1.05v_25°c环境下结合自适应时钟压缩的系统功能验证时序图。

图6为常规电压区tt_1.05v_25°c环境下系统自适应时钟拉伸的波形图。

图7为低电压区tt_0.6v_25°c环境下系统自适应时钟拉伸的波形图。

具体实施方式

下面结合附图对发明的技术方案进行详细说明。

如图1所示,本发明公开的支持宽频率范围的双向自适应时钟电路包括:相位时钟生成模块、相位时钟选择模块、自适应时钟拉伸或压缩量调节电路模块以及控制模块。该电路的外部输入信号为:系统时钟clk、复位信号rst、时钟拉伸或压缩功能选择信号mode以及延迟线配置信号config[1:0],输出信号为自适应时钟调节之后产生的时钟clk_out。自适应时钟拉伸或压缩量调节电路模块实时监测芯片中延时单元的延时信息以检测当前电路的运行环境,并将该延时信息反馈到控制模块中。控制模块接收自适应时钟拉伸或压缩量调节电路模块提供的当前电路延时信息monitor_wide,通过译码电路产生时钟选择控制信号ctrl[n:1],时钟选择控制信号ctrl[n:1]指导相位时钟选择模块从相位时钟生成模块产生的时钟中选择目标相位时钟clk_out,实现在单周期内对不同pvt环境下系统时钟的拉伸。

相位时钟生成模块的输入信号为系统时钟clk以及复位信号rst,输出信号为n个具有不同相位的相位时钟φ[1]-φ[n],相位时钟生成模块输出φ[1]-φ[n]到相位时钟选择模块的输入端,相位时钟生成模块输出φ[1]-φ[n/2]到自适应时钟拉伸或压缩量调节电路模块的输入端;n为大于1的整数。

自适应时钟拉伸或压缩量调节电路模块的输入信号为:系统时钟clk、复位信号rst、相位时钟φ[i](i=1,2…n/2)以及时钟拉伸或压缩功能选择信号mode,输出当前电路延时信息monitor_wide到控制模块的输入端。

控制模块的输入信号为:系统时钟clk、复位信号rst以及来自自适应时钟拉伸或压缩量调节电路模块的当前电路延时信息monitor_wide,输出n位的时钟选择控制信号ctrl[n:1]到相位时钟选择模块的输入端。

相位时钟选择模块的输入信号为:系统时钟clk、复位信号rst、相位时钟φ[i](i=1,2…n)以及来自控制模块的控制信号ctrl[n:1],输出经过拉伸或压缩的时钟clk_out。

如图2所示,自适应时钟拉伸或压缩量调节电路模块是利用多组td(transitiondetector,监测单元)和锁存器检测关键路径末端的在线时序监测单元产生的时序预警信号或者复制关键路径产生的延时信号,输出当前电路的延时信息monitor_wide,当前电路的延时信息以温度计码的形式呈现,温度计码中0和1的交界位置即为前面所述时序预警信号或延时信号的上升沿所在位置。通过将monitor_wide传递给后续的控制模块中,输出时钟选择控制信号ctrl[n:1],指导系统从相位时钟生成模块中产生的n个相位时钟中选择合适的目标时钟信号,实现在当前周期内对当前pvt环境下的系统时钟进行拉伸或压缩。

相位时钟生成模块由两个子电路组成,分别是相位时钟产生电路以及tdc(time-digital-converter,时间数字转换器)电路。相位时钟产生电路采用双延迟线结构产生相位时钟信号,两条延迟线相互独立,均由20级延时单元组成,且单个延时单元中均采用相同的基本单元clkbufv4_7tl140_c30级联而成。第一条延迟线为快速延迟线,延时较短,支持产生高频的相位时钟;第二条延迟线为慢速延迟线,延时较长,支持产生低频的相位时钟。两条延迟线的构成区别在于单级延时单元使用了不同数量的基本单元,其中,快速延迟线的延时单元由k个(例如30个)缓冲器级联而成,慢速延迟线的延时单元由l个(例如5个)缓冲器级联而成。以系统时钟clk作为延时链的初始输入信号,每一级延时单元对系统时钟将产生一定的相位偏移,每一条延迟线由n/2级延时单元串联而成,每一级延时单元后接一级反相器产生反相时钟信号,共产生n个相位互不相同的时钟。对于每一条延迟线上产生的相位时钟,相邻相位时钟之间的延迟时间即为在当前pvt环境下的1个延时单元的延迟时间。该双延迟线结构根据系统频率的需要,同时只有一条延迟线工作。tdc电路利用产生的m个相位时钟检测延迟线信息,m小于等于n/2。系统上电后,该tdc电路默认检测快速延迟线的延时情况。若tdc电路的m个输出值包含0和1,即频率符合快速延迟线要求,保持使用当前快速延迟线产生相位时钟;若tdc电路的m个输出值仅包含0,即频率不符合快速延迟线要求,则切换到慢速延迟线产生相位时钟。

自适应时钟拉伸或压缩量调节电路模块包括:二分频电路、复制关键路径模块、监测单元组电路以及一个二选一数据选择器电路。二分频电路利用d触发器对该模块输入自适应时钟clk_out进行二分频得到分频时钟。复制关键路径模块由多级组合逻辑门串联而成,用于模拟关键路径延时信息。监测单元组电路采用td和高电平透明的锁存器组合的方式,对关键路径时序信息进行分析得到自适应时钟拉伸或压缩量信息,每个td和锁存器组合的输入时钟为不同的相位时钟φ[1]-φ[n/2],则采样结果为一串温度计码,例如1111_1111_1111_0000_0000,其中,1和0交界处为监测单元组电路输入信号上升沿所在的位置范围。时钟拉伸和压缩功能在整体系统中的应用场景不同,即系统时序紧张时需要对时钟进行拉伸操作,在线时序监测单元可以及时监测到高电平时序预警信号,系统时序相对宽松时需要对时钟进行压缩操作,在线时序监测单元无法有效获取此时关键路径的延时信息。因此,需要额外引入一条复制的关键路径来描述当前系统的延时信息。以上两种情况由一个二选一数据选择器电路控制。该二选一数据选择器电路的片选信号mode选择时钟拉伸或压缩功能,根据电路时序紧张与否,控制监测单元组的输入信号,由此获得当前电路延时信息并传递给控制模块。当mode=0时,选择error_all信号输入监测单元组电路,error_all信号为时钟拉伸搭载的系统发出的时序预警信号,用来指导时钟拉伸量的选择;当mode=1时,选择通过复制关键路径得到的cpr_out信号输入监测单元组电路,用来指导时钟压缩量的选择。通过td监测error_all或者cpr_out信号跳变沿距离φ[1]-φ[n]上升沿的位置,便可以得到当前电路时序违约值/时序余量。本模块中引入高电平透明的锁存器配合td进行监测的原因在于:td得到的监控信号是一个正脉冲,其电平宽度小于半个周期,因此,可能在后续的信号传输下会有衰减,需要将其展宽,最终得到monitor_wide信号输出到控制模块。

对于时钟拉伸功能,系统持续不断地根据监测单元组电路给出的monitor_wide信号从当前相位时钟切换到相位滞后的时钟以展宽时钟周期,缓解时序紧张;对于时钟压缩功能,系统持续不断地根据监测单元组电路给出的monitor_wide信号从当前相位时钟切换到相位超前的时钟以压缩时钟周期,减少时序余量。以下以时钟拉伸功能为例说明自适应时钟拉伸量选择的功能。图3所示的是自适应时钟拉伸量选择时序图。在时序正常时关键路径的信号本应该在clk的下一个上升沿之前到达,然而由于快速偏差的影响导致其在t1时刻才到达,因此,产生时序预警信号error_all。由此可知关键路径长度为t1,时序违约值为t1-t。相位时钟φi与系统时钟clk之间的延时差为△t*i(i=1,2,…n/2,∆t为两个相位时钟之间的延迟),因此,最终选择的目标相位时钟φi应满足如下条件:

△t*(i-1)<t1<△t*i,

即若error_all信号的跳变发生在第i-1和第i个td的监测窗口之间,那么通过将当前相位时钟拉伸△t*i,即从当前相位时钟切换到第i个相位时钟,则能涵盖关键路径的延时,因此该拉伸量是合理的。

控制模块由状态机以及译码器组成。状态机控制整个自适应时钟电路在拉伸、压缩和空闲状态之间切换。译码器电路根据自适应时钟拉伸或压缩量调节电路模块的当前电路时序信息monitor_wide产生n位时钟选择控制信号ctrl[n:1],判断选择的目标时钟,以满足关键路径时序的需要。在每个周期内,n位时钟选择控制信号ctrl[n:1]只有一位为高电平,其余为低电平,其中,电平为高的控制信号代表选择对应的相位时钟。

相位时钟选择模块包括一相位时钟接收电路以及一n输入或门电路。相位时钟接收电路包含n个低电平透明的锁存器和n个与门,用于正确地接收来自控制模块的自适应时钟选择控制信号ctrl[n:1]。n位自适应时钟选择控制信号分别作为n个锁存器的数据输入信号,n个相位时钟分别作为n个d锁存器的时钟输入信号,与对应的控制信号进行同步处理,以避免在时钟选择时产生毛刺,n个锁存器的数据输出信号与其时钟输入信号分别通过与门进行与操作。n输入或门电路用于选择并输出目标相位时钟clk_out。

为了能让整个系统的时钟能够进行连续的拉伸或压缩,本发明将自适应时钟电路的输出时钟clk_out作为输入的时钟源,而非系统时钟clk。由于自适应时钟电路需要响应外界时序预警信号,该时序预警信号与clk_out为同步关系而与系统时钟clk为异步关系,因此,为避免每次拉伸或压缩完成后将时钟切换为系统时钟并可能产生不必要的毛刺信号,本发明将输入时钟信号由系统时钟clk改为clk_out,整个自适应时钟电路与其搭载平台构成一个同步操作的逻辑。

图4所示为自适应时钟拉伸原理时序图。时钟拉伸的操作就是根据监测关键路径时序信息的不同,选择所需的目标相位时钟,使得整个系统功能正确,满足时序要求。本发明以图4为例具体说明时钟拉伸原理,即每个周期内对上一周期的系统输入时钟信号进行合理的拉伸操作。初始输入的系统时钟为clk,第一个周期内,系统关键路径末端的td监测得到时序预警信号error_all反馈给监测单元组电路(td+锁存器)生成monitor_wide信号传递给控制模块产生时钟选择控制信号ctrl[n:1],其中,ctrl[1]=1,ctrl[n:2]=0,则系统选择相位时钟φ1为目标时钟进行拉伸,即下一周期的上升沿为相位时钟φ1的上升沿位置;第二个周期内,同样地,产生的时钟选择控制信号中ctrl[4]=1,其余位全为0,则系统选择相位时钟φ4为目标时钟进行拉伸,即下一周期的上升沿为相位时钟φ4的上升沿位置。整个系统按照此规则完成时钟拉伸,时钟压缩的原理类似。

在本发明的支持宽频率范围的双向自适应时钟电路的一个具体实施案例中,将本发明提出的电路搭载在8比特aes密码电路平台上进行自适应时钟拉伸或压缩功能验证。采用smic提供的28nm工艺库,利用synopsys公司提供的vcs和hsim等软件仿真平台,在不同pvt环境下对该电路进行功能仿真测试。基于上述技术方案设计各个模块的电路结构,利用veriloghdl语言对电路进行建模,对其电路功能进行仿真验证。设定电路相位时钟生成模块两条延迟线中延时单元数目n为40(每条延迟线包含20个延时单元)。分别将电路置于不同时钟频率条件及不同pvt条件下进行仿真,得到仿真结果如图5、图6、图7所示。

图5所示的是整体系统功能验证的波形图。设置系统当前所处pvt环境为tt工艺角,1.05v以及25℃,系统时钟频率为710mhz,即时钟周期约为1.4ns。此时系统时序比较宽松,error_all时序预警信号拉低,因此,系统开启自适应时钟压缩功能,压缩了时序余量。同时,8比特aes密码电路平台产生的flag_out功能信号在完成一次加密后拉高,表明系统功能在结合自适应时钟压缩功能的情况下正确。

图6所示的是常规电压区下系统实现自适应时钟拉伸的波形图。设置系统当前所处pvt环境为tt工艺角,1.05v以及25℃,系统时钟频率为830mhz,即周期约为1.2ns。当系统时序比较紧张时,产生error_all时序预警信号。该信号立即反馈给自适应时钟拉伸电路,并在当周期拉伸时钟至时钟周期为1.275ns,有效缓解了常规电压下系统的时序紧张问题。

图7所示的是低电压区下系统实现自适应时钟拉伸的波形图。设置系统当前所处pvt环境为tt工艺角,0.6v以及25℃,系统时钟频率为100mhz,即周期为10ns。当系统时序比较紧张时,产生error_all时序预警信号。该信号立即反馈给自适应时钟拉伸电路,并在当周期拉伸时钟至时钟周期为10.42ns,有效缓解了低电压下系统的时序紧张问题。

可见,本发明尤其适合用于基于在线时序监测的自适应电压频率调节电路,当电路运行出现时序违约时,则产生控制信号使时钟拉伸,增加电路时序余量,从而避免电路工作出错;当时序余量比较充足时,则使时钟压缩,尽可能降低时序余量,从而提升电路性能,降低功耗。

以上结果显示了本发明能够在当前周期内迅速实现时钟拉伸或压缩的功能,整体系统功能正确,使用的自适应时钟电路结构简单,精度较好,误差较小。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1