面向近阈值低电压的时序监测单元及监测系统的制作方法

文档序号:13807864阅读:182来源:国知局
面向近阈值低电压的时序监测单元及监测系统的制作方法

本发明公开了面向近阈值低电压的时序监测单元及监测系统,涉及基于片上时序检测的自适应频率调节技术,属于集成电路低功耗设计的技术领域。



背景技术:

随着集成电路(integratedcircuit,ic)工艺尺寸的逐渐缩小,工艺、电压、温度(process-voltage-temperature,pvt)等偏差对电路的影响也会增大。ic设计者通常会通过预留时序余量的方式保证芯片在最坏情况的pvt环境下也能够正常工作。“最坏情况”是指对电路时序造成负面影响的各种不利因素同时出现的情况,但在芯片实际工作中,最坏情况很少发生甚至不发生,这就导致了设计过于保守,造成了芯片性能和功耗的浪费。

片上时序监测技术通过在电路中加入时序监测单元监测pvt偏差对关键路径时序的影响并根据监测的信息自适应地调节工作频率,有效释放预留的时序余量进而提升性能,抑制pvt偏差对电路的影响。片上时序监测技术主要可以分为出错改错型和时序预测型两类。时序预测型监测单元需要在时钟上升沿之前预留一小段时序余量,预留的小段时序余量称为“监测窗口”,如果监测窗口内发生数据跳变,则说明关键路径的时序已经比较紧张,需要做降低频率的处理。时序预测型监测单元由于不需要额外增加系统级的恢复机制而具有优势。传统的时序预测型监测单元通过在关键的数据路径上人为搭建延时链来产生监测窗口,但延时链会带来过大的面积和功耗代价;同时,在近阈值区域,电源电压的下降造成了pvt偏差对电路延时的影响更大甚至使得电路延时的偏差增大数倍,因此在近阈值低电压下更有必要进行在线时序监测来降低pvt偏差的影响。然而,工作电压的降低导致电路的延时性能大大下降,这使得时序监测电路的功能和稳定性都受到极大影响。目前,大部分的时序监测电路都是面向常规电压区设计的,难以正确工作在近阈值区域;极少数的能面向近阈值区工作的时序监测单元则面临晶体管数量太大的问题,从而使得面积代价太高。



技术实现要素:

本发明的发明目的是针对上述背景技术的不足,提供了面向近阈值低电压的时序监测单元及监测系统,以较低的电路成本实现了面向近阈值电压的时监测,通过搭建包含频率控制状态机、锁相环、快速时钟调节模块的监测系统实现系统频率的自适应调节,解决了面向常规电压设计的时序监测电路难以正确工作在近阈值区域以及少有的能面向近阈值电压区工作的时序监测单元面积大且成本高的技术问题。

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

面向近阈值低电压的时序监测单元,包括:第一pmos管、第二pmos管、第一nmos管、第二nmos管、反相器、与非门,

第一pmos管的源端接电源,第一pmos管的栅端与第一nmos管的栅端并接后接在关键路径的末端,第一nmos管的源端接地,第一pmos管的漏端、第二nmos管的漏端、第二pmos管的源端并接在一起,第二nmos管的源端、第二pmos管的漏端、第一nmos管的漏端并接在一起,第二nmos管的栅端接时钟信号,第二pmos管的栅端接与时钟信号相非的信号,反相器的输入端接第一pmos管的漏端,与非门的一个输入端接反相器的输出端,与非门的另一个输入端接第一nmos管的漏端,与非门在时钟信号低相位时监测关键路径的时序并在关键路径时序紧张时输出预警信号。

面向近阈值低电压的监测系统,包括:

包含至少一个时序监测单元的时序监测单元组,每个时序监测单元的输入端分别接在一个关键路径的末端,各时序监测单元在时钟信号低相位时监测与其连接的关键路径的时序并在关键路径时序紧张时输出预警信号,

动态或门树,其输入端接时序监测单元组的输出端,收到重置信号后进入工作状态,在至少一个时序监测单元输出预警信号时输出表征片上时序紧张的总预警信号,

频率控制状态机,其输入端接动态或门树的输出端,在接收到总预警信号时输出降频信号,在有限个时钟周期内未收到总预警信号时输出配置信号,输出重置信号至动态或门树的控制端,

锁相环,其输入端接频率控制状态机的输出端,在接收到配置信号时输出拉高频率的信号,

快速时钟调节模块,其输入端与频率状态控制机的输出端以及锁相环的输出端相连接,在接收到降频信号后对时钟信号进行频率拉伸并按照监测窗口配置模块输出的监控窗口占空比输出降频处理后的时钟信号至片上主电路及时序监测单元组,在接收到拉高频率的信号时对时钟信号进行频率压缩并按照监测窗口配置模块输出的监控窗口占空比输出升频处理后的时钟信号至片上主电路及时序监测单元组,及,

监测窗口配置模块,其输出端与快速时钟调节模块的控制端相连接,输出监控窗口占空比信号至快速时钟调节模块。

作为面向近阈值低电压的监测系统的进一步优化方案,频率控制状态机在初始时刻及收到总预警信号后输出重置信号至动态或门树的控制端。

作为面向近阈值低电压的监测系统再进一步优化方案,时序监测单元包括:第一pmos管、第二pmos管、第一nmos管、第二nmos管、反相器、与非门,

第一pmos管的源端接电源,第一pmos管的栅端与第一nmos管的栅端并接后接在关键路径的末端,第一nmos管的源端接地,第一pmos管的漏端、第二nmos管的漏端、第二pmos管的源端并接在一起,第二nmos管的源端、第二pmos管的漏端、第一nmos管的漏端并接在一起,第二nmos管的栅端接时钟信号,第二pmos管的栅端接与时钟信号相非的信号,反相器的输入端接第一pmos管的漏端,与非门的一个输入端接反相器的输出端,与非门的另一个输入端接第一nmos管的漏端,与非门在时钟信号低相位时监测关键路径的时序并在关键路径时序紧张时输出预警信号。

作为面向近阈值低电压的监测系统再进一步优化方案,动态或门树包括:

充电pmos管,其源端接电源,其栅端接重置信号,

栅端接一个时序监测单元输出端的nmos管,各nmos管的漏端与充电pmos管的漏端并接在一起,

放电nmos管,其漏端与各nmos管的源端并接在一起,其栅端接重置信号,其源端接地,

保持nmos管其漏端接充电pmos管的漏端,其源端接地,及,

反相器,其输入端接保持nmos管的漏端,其输出端与保持nmos管的栅端并接后作为动态或门树的输出端。

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

(1)本发明片上时序监测单元仅用了10个晶体管即可完成时序监测功能,具有结构非常简单、面积小的优势,可有效降低整个自适应系统的面积代价,且本发明能在低至近阈值电压工作,从而能够在面向近阈值应用的电路中应用;

(2)通过在芯片内实时监测pvt偏差对时序的影响,据此来调节电路工作频率,当时序宽松时可以提高频率,当时序紧张时则拉伸时钟周期以避免时序出错,因此能够有效降低传统集成电路设计中预留的时序余量,从而提高电路性能。

附图说明

图1为监测系统的示意图。

图2为时序监测单元的电路图。

图3为时序监测单元的功能时序图。

图4为动态或门树的电路图。

图5为动态或门树的功能时序图。

图6为低电压下自适应频率调节全过程的示意图。

图7为整体监测系统的系统结构图。

图中标号说明:1为时序监测单元组,2为动态或门树,3为频率控制状态机、4为锁相环,5为快速时钟调节模块,6为监测窗口配置模块,m1为第一pmos管,m4为第二pmos管,m2为第一nmos管,m3为第二nmos管,inv1为反相器,nand2为与非门,mop1为充电pmos管,mon1为放电nmos管,mon2为保持nmos管,mo1至mon为栅端接时序监测单元输出端的nmos管。

具体实施方式

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

面向近阈值低电压的时序监测系统如图1、图7所示,包括时序监测组单元1、动态或门树(dynamicor-tree)2,频率控制状态机3、锁相环4、快速时钟调节模块5、监测窗口配置模块6。

将时序监测单元组1中的各n个时序监测单元分别插入到n条关键路径的末端,时序监测单元的输入端与输入数据(即关键路径输出数据)相连并在时钟低相位时监测与其连接的关键路径是否时序紧张,若时序紧张,则在监测窗口内立即产生预警信号pre_error,相应地,一组时序监测单元产生一组预警信号pre_error[n:1],其中,n为大于等于1的整数。

动态或门树2的输入端接收所有时序监测单元产生的预警信号,在至少一个时序监测单元输出预警信号时将分布在soc芯片中的所有监测单元产生的预警信号汇聚成表征片上时序紧张的总预警信号pre_error_all,并传输总预警信号给频率状态控制机3。

频率控制状态机3根据当前系统频率及总预警信号pre_error_all改变工作状态,在总预警信号为高电平时产生降频信号slow并传输降频信号给快速时钟调节模块5,若在连续k个周期内(k为大于10的整数)没有检测到预警信号,说明电路的时序余量较多,则配置锁相环4提高工作频率。

锁相环4用于提供初始时钟频率并在频率控制状态机的控制下提高电路工作速度。

快速时钟调节模块5,在收到降频信号slow后在一个周期内完成降频并将降频后的系统时钟clk按照监控窗口占空比调制后送入主电路及时序监测单元组,在收到锁相环提升工作频率的配置信号后,将升频后的系统时钟clk按照监控窗口占空比调制后送入主电路及时序监测单元组。

监测窗口配置模块6,通过该模块根据pvt环境调制监控窗口占空比并输出调制的监控窗口占空比至快速时钟调节模块5。

时序监测单元如图2所示,由第一pmos管m1、第二pmos管m4、第一nmos管m2、第二nmos管m3、反相器inv1、与非门nand2构成。第一pmos管m1和第一nmos管m2构成一个反相器,第一pmos管m1的漏端a节点与第一nmos管m2的漏端b节点之间接入一个由第二nmos管m3和第二pmos管m4构成的传输门,时序监测单元的输入信号连接到第一pmos管m1和第一nmos管m2的栅端,时钟信号clk接到第二nmos管m3的栅端,时钟信号clk的非信号接到第二pmos管m4的栅端,第一pmos管m1的漏端a节点连接到反相器inv1的输入端,反相器inv1的输出端连接到与非门nand2的第一输入端,第一nmos管m2的漏端b节点连接到与非门nand2的第二输入端,与非门nand2输出的信号即为时序监测单元的预警信号。时序监测单元利用时钟低电平作为监测窗口,在时钟低电平期间,若数据din有发生跳变,则pre_error拉高为高电平;在时钟信号跳转为高电平时,pre_error被重置为0。

时序监测单元的功能时序图如图3所示:在时钟高电平期间,节点a和节点b之间的传输门(m3、m4)处于导通状态,且a和b之间的电压没有阈值损失,即a和b节点的电压值相同,因此,输出的预警信号pre_error始终为低电平状态;当时钟跳变成低电平之后,传输门(m3、m4)关断,在第1个周期,输入数据在时钟低电平期间并未发生跳变,所以节点a和节点b电荷保持不变,因此,经过反相器和与非门之后输出的预警信号pre_error仍然保持低电平。

在第2个周期,同样,在时钟高电平期间,节点a和节点b之间的传输门(m3、m4)处于导通状态,输出的预警信号pre_error为低电平,在时钟低电平期间,输入数据din发生了从高到低的跳变,此时,第一pmos管m1导通,a节点通过第一pmos管m1由电源充电成高电平,变得与b的电平值不同,因此,经过反相器和与非门之后产生一个高电平脉冲的预警信号pre_error。

在第3个周期,同样,在时钟高电平期间,节点a和节点b电压相同,使得输出的预警信号pre_error为低电平,在时钟低电平区域,数据din发生了从低电平到高电平的跳变,此时节点b的电荷通过第一nmos管m2放电到地端,从而a和b的值发生差异,因此,经过反相器和与非门之后产生一个高电平脉冲的预警信号pre_error,当clk重新进入时钟高电平区域之后,pre_error被拉回到低电平。

动态或门树结构如图4,pre_error[1]到pre_error[n]信号为分散在芯片中的时序监测单元组所产生的预警信号,i_reset是动态或门的重置信号,该重置信号来自频率控制状态机,用来在初始时刻以及产生总预警信号pre_error_al之后对动态或门进行复位使其能重新开始工作,当pre_error_all为高电平时,应当启动快速时钟调节电路5,立即降低频率,从而避免产生真正的时序错误。

动态或门树结构在i_reset为0时,不采集每个时序监测单元产生的预警信号pre_error,总预警信号pre_error_all被复位为低电平;在i_reset为1时,启动或门功能,采集每个时序监测单元产生的预警信号pre_error,若至少有一个pre_error为高电平,则总预警信号pre_error_all为高电平,通过快速时钟调节电路调节频率;若每个时序监测单元产生的预警信号pre_error都为低电平时,则总预警信号为pre_error_all低电平,无需调节时钟频率。

动态或门树功能时序图如图5所示,包括:充电pmos管mop1、栅端接时序监测单元输出端的nmos管mo1~mon(n为时序监测单元的数目),放电nmos管mon1、保持nmos管mon2。充电pmos管mop1的源端接电源,充电pmos管mop1的栅端接重置信号,各nmos管mo1~mon的漏端与充电pmos管mop1的漏端并接在一起,放电nmos管mon1的漏端与各nmos管mo1~mon的源端并接在一起,放电nmos管mon1的栅端接重置信号,放电nmos管mon1的源端接地,保持nmos管mon2的漏端接充电pmos管mop1的漏端,保持nmos管mon2的源端接地,反相器的输入端接保持nmos管mon2的漏端,反相器的输出端与保持nmos管mon2的栅端并接后作为动态或门树的输出端。

在第1个周期,i_reset降低,对动态或门复位。在后续的第2个时钟周期内,只要pre_error[1]到pre_error[n]中有一个或多个信号为高电平,都将其控制的pmos管(pmos管mo1、pmos管mo2,…,pmos管mon)导通,使中间的动态节点对地放电到低电平,通过反相器后产生一个代表有总的时序错误的高电平总预警信号pre_error_all,。

在第3个周期,i_reset拉低,进行复位操作。此时,i_reset信号拉低,总预警信号pre_error_all被重置为低电平,此时动态或门可重新接受新的数据。

自适应频率调节系统工作流程如下:

系统启动,根据pvt环境通过监测窗口配置模块6调节时钟占空比进行监测窗口配置,系统初始化完成。

系统进入正常运行状态,工作频率为当前锁相环4输出频率。如果时序紧张,总预警信号pre_error_all拉高,启动快速时钟调节模块5拉伸频率,防止关键路径末端触发器采样到错误的数据产生时序错误。如果时序不紧张,总预警信号pre_error_all为低,用no_error_count信号记录未发生预警信号的周期,如果连续k个周期内(k为大于10的整数)没有检测到预警信号,说明电路的时序余量较多,则配置锁相环4提高工作频率,减少时序余量。

详细的自适应频率调节流程可分为initial(000),normal(001)、frequency_up(010)、frequency_down(011)、clk_stretch(100)五个状态。

initial(000)状态:系统启动,根据pvt环境通过监测窗口配置模块6调节时钟占空比,进行监测窗口配置,系统初始化完成。

normal(001)状态:系统初始化完毕,进入正常运行状态,系统工作频率为当前锁相环输出频率,如果时序紧张,总预警信号pre_error_all被拉高,频率控制状态机切换到clk_stretch状态,启动快速时钟调节模块拉伸频率,防止关键路径末端的触发器采样到错误的数据产生时序错误;如果时序宽松,总预警信号pre_error_all为低,则使用no_error_count信号来记录未发生预警的周期,如果此时连续k个周期内没有检测到预警信号,则说明电路的时序余量较多,将进入frequency_up状态,升高电路频率,减少时序余量。

frequency_up(010)状态:系统连续k个周期没有时序预警警信号,说明时序非常宽松,可以配置锁相环提高工作频率,减少时序余量,锁相环的输出一个pll_lock信号,如果pll_lock为低,表示锁相环仍然在稳定中,状态机保持frequency_up状态,如果pll_lock拉高,表示锁相环配置结束,已输出稳定频率,状态机将切回normal状态,调频结束。

frequency_down(011)状态:锁相环正在进行降频配置阶段,此时时序预警信号仍然为高,表明快速时钟调节模块采取了较大幅度的频率拉伸,仍然不能使预警信号消失,表明此时的pvt环境发生了较大的变化,需要对锁相环频率降频处理。

clk_stretch(100)状态:系统采样到预警信号后,需要快速调节频率,如果此时仍有预警信号,表示系统采取了较大的拉伸幅度仍然无法消除预警信号,此时将进入frequency_down状态,对锁相环进行降频;如果此时没有检测到时序预警信号,表示系统通过频率拉伸消除了快速偏差,如果始终没有预警信号,此时可以逐渐减小拉伸幅度step,当step减小到1时,仍然没有预警信号,则将状态机切回到normal状态;如果clk_stretch状态期间又出现了时序预警,则需要增加拉伸幅度。

面向近阈值低电压的在线时序监测单元及其监测系统的一个具体实施案例中,将这套系统应用于一个sha256加密芯片中,芯片采用smic40nm工艺设计,工作在0.6v近阈值电压下。

图6为0.6v、-25℃,tt工艺角下,在线监测及自适应频率调节系统全过程。clk为系统时钟,由于时钟频率较高不利于观察频率升降,因此使用freq_show_id信号观察频率变化,freq_show_id在波形图上对应的电压值即为锁相环的输出频率,clk的输出频率的初始频率为100mhz。首先监测系统中的自适应频率调节部分花费k个时钟周期进行监测窗口的配置,当config信号产生脉冲后,表示监测窗口配置完成。状态机信号state[2:0]也会从initial(000)状态切换到normal(001)状态。随后系统会开始检测时序预警信号,由于最初时序余量较为宽松,系统检测不到时序预警,因此可以通过不断提高频率,压缩时序余量。freq_up_id信号每隔k个时钟周期拉高一次,系统频率也逐渐提高,随着时序余量不断减少,当时钟频率为122mhz时,开始产生时序预警,系统频率不再提高,最终趋于稳定状态。pll_lock_id是锁相环的锁定信号,当pll_lock_id信号拉高时,说明锁相环的输出频率锁定,频率调节系统才会继续工作。pre_error_all为总预警信号,state[2:0]为自适应频率调节系统的状态机。综上,通过时序监测单元实时监测电路的时序是否紧张,整个自适应频率调节系统可以按预期设计逐渐提高频率,直到时序预警信号出现,当时序预警出现后,afs系统将通过快速时钟调节电路处理时序预警信号防止系统出错,因此,能够使芯片工作在最高可能的频率,有效降低了pvt偏差带来的时序余量浪费。

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