用于片上系统中知识产权核和功能模块的功耗降低方法

文档序号:6558649阅读:268来源:国知局
专利名称:用于片上系统中知识产权核和功能模块的功耗降低方法
技术领域
本发明涉及微处理器体系结构和集成电路技术,特别涉及片上系统(System-on-Chip,以下简称SoC)中各种知识产权(Intellectual Property,以下简称IP)核和功能模块的功耗降低方法。
背景技术
众所周知,提高SoC设计效率的关键有赖于IP核的可重复使用。IP核是工程师们研究设计的提炼,主要实现一些常见而且有一定设计难度的功能,这些IP核一般都经过验证,可以使SoC的设计者们不用重复设计便可直接使用这些IP核,从而缩短设计周期和提高系统可靠性。因此,IP核是SoC的基本单位,降低SoC功耗就需要设计低功耗的IP核。
已有的利用门控时钟降低IP核功耗的方法有两种一种是使用电子设计自动化(Electronics Design Automation,以下简称EDA)工具在IP核中具有自反馈的寄存器前面插入门控单元;另一种是IP核设计者手工在整个模块的时钟信号输入前加入一个可编程的门控单元,用户利用软件开关这个IP核的时钟。已有的技术中第一个方法的缺点是必须使用特定的EDA工具,并会无规律地插入大量的门控单元,对本来就很复杂的后端时钟树设计造成更大的难度,而且当IP核不工作时并没有关闭整个IP核的时钟网络,虽然部分电路会休眠,但功耗降低并不彻底;而已有技术中第二个方法的缺点是不能自动开关IP核的时钟,而是需要用户软件支持,并依赖于用户对IP核使用的监控,也就是说用户需要根据自己对该IP核和功能模块的使用情况,决定其时钟的开启或关闭,因而此种方法效率低下且易出错。比如,IP核时钟实际需要关闭的时候,用户并不一定关闭时钟,因此损失不必要的功耗;而不能关闭时钟的时候,由于用户的疏忽而造成的关闭,将导致系统出现严重错误。
因此,现有技术的不足就需要一种改进的用于SoC中IP核和功能模块的功耗降低方法。

发明内容
本发明的目的是克服已有技术中降低功耗不彻底和容易出错的问题,从而提供一种改进的用于SoC中IP核和功能模块的功耗降低方法。
为了达到上述目的,本发明采取如下技术方案。
一种改进的用于SoC中功能模块的降低功耗的方法,包括a)将原始功能模块的所有状态分为两类——“空闲”态和“工作”态,“工作”态即非“空闲”态,“空闲”态即该原始功能模块当前没有进行有效工作的状态;b)提供一个逻辑电路与所述原始功能模块连接构成新的低功耗功能模块,该逻辑电路完成如下逻辑功能如果总线没有对原始功能模块的请求,就保持时钟关闭;如果总线有对该原始功能模块的请求,则打开原始功能模块的时钟,原始功能模块进入“工作”态;保持时钟打开,直到原始功能模块处于“空闲”态并且没有总线请求,就关闭原始功能模块时钟并保持关闭,直到总线再次对该功能模块提出请求。
在上述技术方案中,还包括将所述逻辑电路的供电电源与所述原始功能模块的供电电源隔离,该逻辑电路还实现以下逻辑功能当且仅当所述原始功能模块处于“空闲”态并且没有总线请求时,关闭原始功能模块的供电电源;否则打开原始功能模块供电电源。
在上述技术方案中,所述步骤a)中,对于在硬件描述语言中有显式的状态机描述的,直接将其“空闲”状态划为一类,其它状态划为“工作态”;对于在硬件描述语言中不是显式的描述所述原始功能模块状态,而是在各个级别的流水线中隐式地表示的,需要对流水线中的有效位寄存器的结果进行编码,完成“空闲”态和“工作”态的划分。
在上述技术方案中,步骤b)中所述逻辑电路包括一个低电平有效的锁存器与一个两输入与门相连接;并且,当时钟为高电平的时候,所述锁存器关闭;当时钟为低电平时,所述锁存器导通,所述与门屏蔽毛刺的传递。
一种改进的用于SoC中IP核的功耗降低方法,包括a)将原始IP核的所有状态分为两类——“空闲”态和“工作”态,“工作”态即非“空闲”态,“空闲”态即该IP核当前没有进行有效工作的状态;b)提供一个逻辑电路与所述原始IP核连接构成新的低功耗IP核,该逻辑电路完成如下逻辑功能如果总线没有对原始IP核的请求,就保持时钟关闭;如果总线有对该IP核的请求,则打开原始IP核的时钟,原始IP核进入“工作”态;保持时钟打开,直到原始IP核处于“空闲”态并且没有总线请求,就关闭原始IP核时钟并保持关闭,直到总线再次对该IP核提出请求。
在上述技术方案中,还包括将所述逻辑电路的供电电源与所述原始IP核的供电电源隔离,该逻辑电路还实现以下逻辑功能当且仅当所述原始IP核处于“空闲”态并且没有总线请求时,关闭原始IP核的供电电源;否则打开原始IP核供电电源。
在上述技术方案中,所述步骤a)中,对于在硬件描述语言中有显式的状态机描述的,直接将其“空闲”状态划为一类,其它状态划为“工作态”;对于在硬件描述语言中不是显式的描述所述原始IP核状态,而是在各个级别的流水线中隐式地表示的,需要对流水线中的有效位寄存器的结果进行编码,完成“空闲”态和“工作”态的划分。
在上述技术方案中,在打开或关闭IP核的时钟时,为了避免可能产生的时钟毛刺(glitch)而导致严重错误,使用一个低电平有效的锁存器(Latch)和一个两输入与门来搭建门控单元;并且,当时钟为高电平的时候,所述锁存器关闭从而屏蔽了毛刺的传递;当时钟为低电平时,所述锁存器导通,所述与门将屏蔽毛刺的传递。
与已有技术相比,本发明的优势在于本发明通过改进的设计,利用IP核自身工作状态,根据实际应用,实时自动地开关整个IP核的时钟,减少IP核时钟网络的跳变,从而降低IP核的动态功耗;同时自动开关该IP核的电源,在不影响正常工作的前提下降低该IP核的漏电功耗。


图1是本发明一实施例对显式的状态描述的原始IP核的降低功耗的示意图;图2是本发明另一实施例对隐式的状态描述的原始IP核的降低功耗的示意图。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步详细描述实施例1如图1所示,本实施例对显式的状态描述的原始IP核的降低功耗的示意图。
步骤a)将原始IP核的所有状态分为两类——“空闲”态和“工作”态,“工作”态即非“空闲”态,“空闲”态即该IP核当前没有进行有效工作的状态。具体如下
图中,方框内为原始IP核10的工作模型,该原始IP核10的状态有“空闲”、“请求”、“准备”、“运行”、“结束”;处于“空闲”态时,如果总线没有请求,则保持在“空闲”态,如果总线发出请求,则进入“运行”态;图中圆圈表示状态,箭头表示跃迁,指示了状态机的下一个状态。原始IP核10的实际电路中状态由一系列寄存器(时序电路)实现,跃迁由组合电路实现。由于本实施例中的对于在硬件描述语言中有显式的状态机描述,直接将该原始IP核10的状态分为两类—“空闲”态和“工作”态,“工作”态由“空闲”态以外的状态构成。
b)提供一个逻辑电路与所述原始IP核连接构成新的低功耗IP核,该逻辑电路完成如下逻辑功能如果总线没有对原始IP核的请求,就保持时钟关闭;如果总线有对该IP核的请求,则打开原始IP核的时钟,原始IP核进入“工作”态;保持时钟打开,直到原始IP核处于“空闲”态并且没有总线请求,就关闭原始IP核时钟并保持关闭,直到总线再次对该IP提出请求。
具体如下原始IP核10要从外面引入工作时钟,在工作时钟信号进入原始IP核10之前,增加一个逻辑电路11(图中虚线框内),该逻辑电路11包括与非门电路12,该与非门电路12的两个输入端分别连接原始IP核10的“空闲”态标志信号和总线无请求的标志信号。
锁存器13,所述与非门电路12的输出端连接到锁存器13的数据输入端,该锁存器13的另一个输入端(时钟输入端)连接工作时钟信号,锁存器13的输出端连接到与门电路14的一个输入端,与门电路14的另一个输入端连接工作时钟信号,与门电路14的输出端连接到原始IP核10为其输入工作时钟信号。
当原始IP核10满足图1中虚线标明的两个条件时关闭该IP核的时钟,否则保持时钟的开启状态,即如果总线没有对原始IP核的请求,就保持时钟关闭;如果总线有对该IP核的请求,则打开原始IP核的时钟,原始IP核进入“工作”态;保持时钟打开,直到原始IP核处于“空闲”态并且没有总线请求,就关闭原始IP核时钟并保持关闭,直到总线再次对该IP提出请求。
可见,本实施例在原始IP核10的基础上增加一个逻辑电路并实现时钟开关逻辑,就形成了一个新IP核,该核是一个低功耗IP核15,实时自动地开关整个IP核15的时钟,减少IP核15时钟网络的跳变,从而降低IP核15的动态功耗。
进一步地,将逻辑电路11的供电电源与所述原始IP核10的供电电源隔离,该逻辑电路10还实现以下逻辑功能当且仅当所述原始IP核10处于“空闲”态并且没有总线请求时,关闭原始IP核10的供电电源;否则打开原始IP核10的供电电源。这样的低功耗IP核15能够自动开关原始IP核10的电源,在不影响正常工作的前提下降低该IP核的漏电功耗。
实施例2图2是本发明另一实施例对隐式的状态描述的原始IP核的降低功耗的示意图,说明进行低功耗改造时的具体方法。该IP核原始设计的流水线共分为3级流水线,每一级都是包含众多寄存器位的寄存器槽。本实施例降低功耗的方法包括步骤a)将原始IP核的所有状态分为两类——“空闲”态和“工作”态,“工作”态即非“空闲”态,“空闲”态即该IP核当前没有进行有效工作的状态。
本实施例的原始IP核区别于大多数IP核的一个特点是,在用硬件描述语言描述的设计代码中没有显式的状态机描述,其状态是由多级流水线的有效位隐式表示的,因此需要适当进行处理,具体如下首先对原始IP核20(图中虚线框内)外的总线21的指令进行监测,判断其是否为有效的请求,如果是,“请求”信号被置1,否则置0;利用流水线1级22中的有效位寄存器,在“请求”信号被置1后的第一个时钟上升沿到来时,设置该有效位为1,即“流水线1级有效”信号为1;随后的两级流水线,流水线2级23、流水线3级24分别包含一位有效位寄存器,流水线1级22的有效位寄存器的数值在下一周期传递给流水线2级23的有效位,流水线2级23的有效位在下一周期传递给流水线3级24的有效位,以此类推;将流水线1到3级的有效位作为第一或门电路25的输入,输出为“流水线忙”信号;将“请求”信号和“流水线忙”信号作为第二或门电路26的输入,输出为“时钟使能”信号,作为低电平有效的锁存器27的数据端输入,外部的时钟信号作为该锁存器27的时钟端输入,锁存器27的输出为“门控”信号,该信号和时钟信号作为与门电路28的两个输入端,输出为原始IP核20内部使用的时钟。
第一或门25为三输入,第二或门26为两输入,与门28为两输入。
由于“时钟使能”信号由组合电路搭建,为了避免可能产生的时钟毛刺(glitch)而导致IP核的工作错误,使用锁存器(Latch)27和与门电路28搭建门控单元当时钟为高电平的时候,锁存器27关闭从而屏蔽了毛刺的传递;当时钟为低电平时,锁存器27导通,与门28将屏蔽毛刺的传递。
本实施例在原始IP核20的基础上增加逻辑电路并实现时钟开关逻辑,就形成了一个新IP核30,该核是一个低功耗IP核30,与原始IP核具有相同的逻辑功能和时序,可以实时自动地开关整个IP核的时钟,减少IP核时钟网络的跳变,从而降低IP核的动态功耗。
进一步,将原始IP核20与其他逻辑电路的供电电源隔离,并且将锁存器27输出的“门控”信号或时钟使能信号作为该IP核20的电源开关信号,当“门控”信号为1时,打开该IP核20的电源,为0时关闭IP核20的电源。这样低功耗IP核30能够自动开关原始IP核20的电源,在不影响正常工作的前提下降低该IP核20的漏电功耗。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种用于片上系统中功能模块的功耗降低方法,包括a)将原始功能模块的所有状态分为两类——“空闲”态和“工作”态,所述“工作”态为非“空闲”态,所述“空闲”态为该原始功能模块当前没有进行有效工作的状态;b)提供一个逻辑电路与所述原始功能模块连接构成新的低功耗功能模块,该逻辑电路完成如下逻辑功能如果总线没有对原始功能模块的请求,就保持时钟关闭;如果总线有对该原始功能模块的请求,则打开原始功能模块的时钟,原始功能模块进入“工作”态;保持时钟打开,直到原始功能模块处于“空闲”态并且没有总线请求,就关闭原始功能模块时钟并保持关闭,直到总线再次对该功能模块提出请求。
2.根据权利要求1所述用于片上系统中功能模块的降低功耗的方法,还包括步骤c)将所述逻辑电路的供电电源与所述原始功能模块的供电电源隔离,该逻辑电路还实现以下逻辑功能当且仅当所述原始功能模块处于“空闲”态并且没有总线请求时,关闭原始功能模块的供电电源;否则打开原始功能模块供电电源。
3.根据权利要求1用于片上系统中功能模块的功耗降低方法,所述步骤a)中,对于在硬件描述语言中有显式的状态机描述的,直接将其“空闲”状态划为一类,其它状态划为“工作态”;对于在硬件描述语言中不是显式的描述所述原始功能模块状态,而是在各个级别的流水线中隐式地表示的,需要对流水线中的有效位寄存器的结果进行编码,完成“空闲”态和“工作”态的划分。
4.根据权利要求1、2或3任一项所述用于片上系统中功能模块的功耗降低方法,步骤b)中所述逻辑电路包括一个低电平有效的锁存器与一个两输入与门相连接;并且,当时钟为高电平的时候,所述锁存器关闭;当时钟为低电平时,所述锁存器导通,所述与门屏蔽毛刺的传递。
5.一种用于片上系统中知识产权核的功耗降低方法,包括a)将原始知识产权核的所有状态分为两类——“空闲”态和“工作”态,所述“工作”态为非“空闲”态,所述“空闲”态为该知识产权核当前没有进行有效工作的状态;b)提供一个逻辑电路与所述原始知识产权核连接构成新的低功耗知识产权核,该逻辑电路完成如下逻辑功能如果总线没有对原始知识产权核的请求,就保持时钟关闭;如果总线有对该知识产权核的请求,则打开原始知识产权核的时钟,原始知识产权核进入“工作”态;保持时钟打开,直到原始知识产权核处于“空闲”态并且没有总线请求,就关闭原始知识产权核时钟并保持关闭,直到总线再次对该知识产权核提出请求。
6.根据权利要求5用于片上系统中知识产权核的功耗降低方法,还包括步骤c)将所述逻辑电路的供电电源与所述原始知识产权核的供电电源隔离,该逻辑电路还实现以下逻辑功能当且仅当所述原始知识产权核处于“空闲”态并且没有总线请求时,关闭原始知识产权核的供电电源;否则打开原始知识产权核供电电源。
7.根据权利要求5或6用于片上系统中知识产权核的功耗降低方法,所述步骤a)中,对于在硬件描述语言中有显式的状态机描述的,直接将其“空闲”状态划为一类,其它状态划为“工作态”;对于在硬件描述语言中不是显式的描述所述原始知识产权核状态,而是在各个级别的流水线中隐式地表示的,需要对流水线中的有效位寄存器的结果进行编码,完成“空闲”态和“工作”态的划分。
8.根据权利要求5用于片上系统中知识产权核的功耗降低方法,步骤b)中所述逻辑电路包括一个低电平有效的锁存器与一个两输入与门相连接;并且,当时钟为高电平的时候,所述锁存器关闭;当时钟为低电平时,所述锁存器导通,所述与门屏蔽毛刺的传递。
9.根据权利要求7用于片上系统中知识产权核的功耗降低方法,步骤b)中所述逻辑电路包括一个低电平有效的锁存器与一个两输入与门相连接;并且,当时钟为高电平的时候,所述锁存器关闭;当时钟为低电平时,所述锁存器导通,所述与门屏蔽毛刺的传递。
10.根据权利要求5、6或9中之一所述用于片上系统中知识产权核的功耗降低方法,所述逻辑电路包括与非门电路(12),该与非门电路(12)的两个输入端分别连接原始知识产权核(10)的“空闲”态标志信号和总线无请求的标志信号;锁存器(13),所述与非门电路(12)的输出端连接到锁存器(13)的数据输入端,该锁存器(13)的另一个输入端连接工作时钟信号,锁存器(13)的输出端连接到一个与门电路(14)的一个输入端,所述与门电路(14)的另一个输入端连接工作时钟信号,所述与门电路(14)的输出端连接到原始知识产权核(10)为其输入工作时钟信号。
全文摘要
本发明公开了一种SoC中各种知识产权核和功能模块的功耗降低方法。包括a)将原始功能模块的所有状态分为两类——“空闲”态和“工作”态;b)提供一个逻辑电路与所述原始功能模块连接构成新的低功耗功能模块,该逻辑电路完成如下逻辑功能如果总线没有对原始功能模块的请求,就保持时钟关闭;如果总线有对该原始功能模块的请求,则打开原始功能模块的时钟,原始功能模块进入“工作”态;保持时钟打开,直到原始功能模块处于“空闲”态并且没有总线请求,就关闭原始功能模块时钟并保持关闭,直到总线再次对该功能模块提出请求。本发明降低IP核的动态功耗,同时自动开关该IP核的电源,降低该IP核的漏电功耗。
文档编号G06F1/32GK101078950SQ200610080968
公开日2007年11月28日 申请日期2006年5月26日 优先权日2006年5月26日
发明者常晓涛, 张明明, 艾霞, 张志敏 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1