一种SoC系统时钟控制的方法和SoC的制作方法

文档序号:6398973阅读:675来源:国知局
专利名称:一种SoC系统时钟控制的方法和SoC的制作方法
技术领域
本发明涉及一种SoC系统时钟控制的方法和应用该方法的SoC。
背景技术
SoC即System on Chip,片上系统或者系统级芯片,是指包含完整系统的集成电路。随着技术的发展,SoC的集成度越来越高,功耗也越来越大,降低SoC功耗不仅是降能降耗的问题,还会涉及到系统地散热设计,因而,降低功耗成为当今IC设计的一个重
要课题。在SoC系统中,降低功耗的方式多种多样,其中通过控制时钟开关以减少电路翻转是降低功耗的主要方式。这种方式所增加的电路面积比较小,附加损耗相对也比较少。在SoC中,如图1左上角部分所示,通过门控时钟控制从设备或说模块的运行,而门控时钟控制一般都是由片上的处理器或者说主设备控制的时钟发生器给出,这种方式会占用处理器较多的时钟周期,不仅增加了处理器控制的复杂性,而且也无法实现时钟的精确控制。具体地,处理器在与某个模块通信时,会将这个模块的时钟一直置成有效,但这段时间内,处理器可能只与该模块进行了若干次间断通信,大部分时间该模块处于空运行状态,如图2所不的处理器给出的clk_en_l使能信号和门控输出的clk_out时钟信号,在多个传输操作的间隙,存在较大的空运行状态,使得多个时钟周期被浪费,这种情况就会造成系统功耗的浪费。从图2中可以清楚地看出,这种浪费是非常巨大的,这是第一层面的技术问题。基于系统时钟控制的降低SoC功耗的方法,如中国第CN1752894A发明专利申请公开,所公开的信息安全SoC中基于门控时钟的动态功耗管理方法,通过把片上的从设备或者说模块划分为多个时钟区域,利用软件控制各个时钟区域独立的工作。这种门控方式匹配多个时钟区域的配置,所消耗的电路面积比较大,而且通过软件控制,响应速度慢。并且该方案并没能解决上述第一层面的技术问题,其每个时钟区域内的模块仍然驱动于一个在该模块运行期间恒定的时钟使能信号。而仅仅以依赖于DPM技术在有限的时间段内对不参与当前工作的模块关闭时钟输入,降低能耗。该方法虽然引入了独立的DPM模块,但时钟控制仍然约束于主设备。中国第CN101493717A号发明专利申请公开则涉及一种用于SoC的动态多时钟低功耗AHB总线设计方法,该方法在系统中加入一个多时钟门控寄存器,实现对相应各个模块的时钟控制,当需要某个模块工作时,打开相应的门控时钟控制信号,模块正常工作,当不需要其工作时,关闭相应的门控时钟控制信号,则时钟信号一直被拉低,以降低功耗。该方法仍然需要主设备或者说处理器对时钟信号进行控制,从而无法从根本上解决上述第一方面的技术问题。

发明内容
因此,本发明的目的在于提供一种精确的SoC系统时钟控制方法,以及控制装置,以有效的降低SoC的整体功耗。本发明采用以下技术方案:
一种SoC系统时钟控制的方法,包括以下步骤:
响应执行模块的操作,处理器向总线接口模块发出配置命令,响应该配置命令而通过配置寄存器对执行模块进行配置,在配置前使能处理器命令驱动的第一信号,使门控时钟单元输出匹配当前执行模块的时钟信号,完成配置;
配置完成后,所述第一信号无效,而使能执行模块之传输操作驱动的第二信号,传输操作间隙第二信号无效,进而第二信号有效时,驱动所述门控时钟单元输出匹配当前执行模块的时钟信号。上述SoC系统时钟控制的方法,响应处理器对模块操作的主控命令,总线接口使能所述第一信号,驱动于该第一信号门控时钟单元输出匹配所操作的模块的时钟信号使被操作的模块处于正常工作状态,以完成与处理器的交互。上述SoC系统时钟控制的方法,在第二信号不能响应所述传输操作时,使能第一信号。一种SoC,包括处理器、内部总线,以及挂在该内部总线上的功能模块和用于配置功能模块的寄存器组,其中,处理器连接有用于产生系统时钟的时钟发生器,该时钟发生器通过时钟控制模块与所述功能模块相连,以提供匹配功能模块时钟域的时钟信号,所述时钟控制模块包括输出连接所述功能模块的门控时钟单元且该门控时钟单元前级连接有所述时钟发生器以及使能信号产生单元,其中所述使能信号产生单元连接有功能模块总线接口以获得第一使能信号和功能模块的功能电路以获得第二使能信号。上述SoC,所述使能信号产生单元包括一个连接所述门控时钟单元的输出或门和一个输出连接该输出或门的输入或门;
输出或门的另一输入脚接有时钟发生器时钟信号使能端,输入或门则用于连接所述总线接口和功能电路。从以上技术方案可以看出,依据本发明,在执行模块或者说功能模块内部运算或者与其他模块进行交互时,处理器不再参与时钟控制,而该有执行模块进行控制,并由更小的单位来驱动,也就是一个操作下的若干个传输(Trans)操作来驱动,传输操作之间的空闲阶段对应于原有方法的空运行,执行模块不再动作,从而,依据上述方案可以通过执行模块根据实际的工作情况更精确的产生控制信号,从而精确的产生执行模块所需要的时钟信号,减少执行模块空运行状态以降低电路翻转次数,有效地降低了 SoC的功耗。结合附图考虑一下更详细的说明,本发明的上述及其他目的和优点将更加显而易见。


图1为依据本发明的一种SoC的硬件架构图。图2为节省时钟周期的对比图。图3为图1所示SoC硬件架构在不同使用状态下的运行状态图。
图4为依据本发明的SoC系统时钟控制方法中第一信号和第二信号下的时钟波形图。
具体实施例方式因应第一层面的技术问题,本文实现一种在SoC中精确控制时钟的方法和使用该方法的SoC。该方法由执行模块根据其自身实际工作情况发出时钟控制信号,避免了执行模块不必要的空运行,实现了时钟的精确控制。应注意,再次使用执行模块表示相应某些命令的模块。关于模块,在SoC中集成了大量的功能模块,在图1中别是出气具有ΓΝ个,N表示自然数,通常大于等于I个,取决于SoC产品本身,再次不再赘述。图1描述了 SoC的硬件结构图。图中硬件结构主要由处理器、总线、各执行模块和时钟控制模块组成,本文核心在时钟控制模块,对其他部分不再扩展描述。图1的下部架构为当前SoC的基本架构,上下箭头表示的是总线,连接处理器,并挂接其他的模块,受外部指令的驱动,总线仲裁器选择具体的模块,把总线仲裁给某些模块,以建立通信的信道。应注意,模块1、是·基于实现某种功能而设立的模块,可以叫做功能模块,在不同的使用环境会有不同的名称,如执行模块。其实际上也是一个实现某个功能的电路单元,也可以成为电路单元。上述信道也可以建立在处理器与模块间,使得其可以通过总线与其他模块进行交互。精确的SoC系统时钟控制方法实现的时钟控制模块为图1中“时钟控制”所属的方框内的电路单元,该模块产生时钟,以供执行模块使用。在图1中,总线接口模块为模块与总线的接口电路,而子模块表示功能电路单元,或者说功能电路。由于可能涉及一些外围设备,比如子模块与模块I’的交互,在图1中也给出相应的连接,对应的操作也可能仅在子模块与模块I’之间进行,在本文中也表示为模块的操作。为了更清楚地进行说明,结合附图1,传统的时钟控制方式为处理器直接控制时钟开关,图1中clk_en_l信号即为处理器发出的控制信号。本方案的实现方式为执行模块控制时钟开关,图中clk_en_2信号即为模块自己发出的时钟控制信号。其中clk_en_2信号由(3_1和(:_2两信号取或得到。c_l表示总线接口模块发出的时钟控制信号,c_2表示子模块发出的时钟控制信号,两信号的详细作用将在以下的内容中描述。图2所示为精确时钟控制方法在实际执行中节省时钟的示意图。图2中信号名称与图1中各信号相对应。图2中时钟使能信号clk_en_l及相对应的时钟clk_out为传统时钟控制方式所实现,clk_en_2及相对应的clk_out为本文所提出的方法实现的精确控制时钟SoC所实现。图2中模块I包含两次执行任务,即Taskl和Task2,每个任务内有若干次传输(TRANS),传统的时钟控制方式只能在任务级控制时钟的开关,而无法在同一任务内对两次传输之间的时钟进行控制,这就造成了同一任务内两次传输间的时钟空运行,如图2中节省的时钟周期指引的从左到右的前三个部分所示。另外,在某个任务执行完成后,处理器可能需要一定的时间来关闭对应模块的时钟,这段时间执行模块处于空运行状态,该部分时间如图2中节省的时钟周期走右边的部分所示。4而本文设计的方法可以实现对两次传输间模块时钟的精确控制,如图2中clk_en_2信号所示,有效地降低了系统功耗。结合附图2、附图3和

一下精确时钟控制方法,其含有两种基本的执行流程:
第一种是处理器直接与执行模块进行交互,这种情况下系统时钟的时钟域要实时参与,因此这种方法相对简单,可以类同于传统的控制方式,该种方式时钟控制执行步骤如下:
a)处理器向总线接口模块发出传输命令。b)总线接口接到所述传输命令,解析该命令,并将时钟使能信号c_l置成有效(高电平),进而通过时钟控制模块产生执行模块所需要的时钟,使执行模块可以正常工作;在这个过程中,类同于传统的控制方式,c_l的产生也受处理器的主控指令所驱动,只是在电路中由目标模块的总线接口模块在响应处理器的主控指令后产生。c)总线接口模块检测到执行模块完成传输后,会将时钟使能信号c_l置成无效(低电平),执行模块时钟被取消,该执行过程结束。该执行过程控制通路如图3灰度较低的部分所示,也就是从处理器到总线,然后到总线接口模块,再到左边的或门——)右边的或门,再通过门控时钟单元把匹配模块I的时钟域之时钟信号送出。第二种工作方式是处理器通过配置寄存器对执行模块进行配置,配置成功后执行模块与其他模块进行交互,不需再与处理器通信,该种方式时钟控制执行步骤如下:
I)处理器首先向对应的总线接口模块发出配置命令。2)总线接口接到所述配置命令,将时钟使能信号c_l置成有效(高电平),进而通过时钟控制模块产生执行模块所需要的时钟,使执行模块可以正常工作,完成配置。3)配置完成后,控制权转移,执行模块将时钟使能信号c_2置成有效(高电平),总线接口模块将c_l置成无效,这样在处理器不再触发执行模块前,执行模块通过c_2信号实现了时钟的自保持。该步骤时钟波形图如图4所示。 应注意,处理器发出某些命令自然是为响应某些操作而发出。4)执行完毕后,执行模块将c_2信号置成无效(低电平),执行过程结束。该执行过程控制通路如图3(b)上部线宽较小灰度较低的线条所对应的部分所示,即总线接口——)左边的或门——)右边的或门——)门控时钟单元——)模块I的时钟域。在本文,两个或门对应的一对输入信号显然在绝大多数情况下是不共存的,并且依据本文的构思,其共存也是没有意义的,甚至是冲突的,如c_l、c_2显然是没有同时置位的必要。为了保证系统的高度安全性,本装置依然实现了传统的时钟控制方式,也就是保留了时钟发生器的clk_en_l信号线,如图3左、上部分灰度和线条宽度较小的部分所示,也就是处理器——)时钟发生器——)右边的或门——)门控时钟单元——)模块I。在执行模块产生时钟控制信号失效的情况下,系统可以通过传统时钟控制通路产生执行模块时钟,保证系统的安全性和稳定性。
因此,依据上述方案,比较传统方法,具有以下特点:
时钟门控是降低SoC系统功耗的有效方式,但传统的控制方式比较粗糙,不能达到对时钟的精确控制,通过传输级的控制,达到精确控制时钟的目的。与传统方法相比,本方法通过执行模块根据实际工作情况产生控制信号,可以精确控制时钟信号,减少执行模块的空运行状态以降低电路翻转次数,有效地降低了 SoC系统的功耗。
权利要求
1.一种SoC系统时钟控制的方法,其特征在于,包括以下步骤: 响应执行模块的操作,处理器向总线接口模块发出配置命令,响应该配置命令而通过配置寄存器对执行模块进行配置,在配置前使能处理器命令驱动的第一信号,使门控时钟单元输出匹配当前执行模块的时钟信号,完成配置; 配置完成后,所述第一信号无效,而使能执行模块之传输操作驱动的第二信号,传输操作间隙第二信号无效,进而第二信号有效时,驱动所述门控时钟单元输出匹配当前执行模块的时钟信号。
2.根据权利要求1所述的SoC系统时钟控制的方法,其特征在于,响应处理器对模块操作的主控命令,总线接口使能所述第一信号,驱动于该第一信号门控时钟单元输出匹配所操作的模块的时钟信号使被操作的模块处于正常工作状态,以完成与处理器的交互。
3.根据权利要求1或2所述的SoC系统时钟控制的方法,其特征在于,在第二信号不能响应所述传输操作时,使能第一信号。
4.一种SoC,包括处理器、内部总线,以及挂在该内部总线上的功能模块和用于配置功能模块的寄存器组,其中,处理器连接有用于产生系统时钟的时钟发生器,该时钟发生器通过时钟控制模块与所述功能模块相连,以提供匹配功能模块时钟域的时钟信号,其特征在于,所述时钟控制模块包括输出连接所述功能模块的门控时钟单元且该门控时钟单元前级连接有所述时钟发生器以及使能信号产生单元,其中所述使能信号产生单元连接有功能模块总线接口以获得第一使能信号和功能模块的功能电路以获得第二使能信号。
5.根据权利要求4所述的SoC,其特征在于,所述使能信号产生单元包括一个连接所述门控时钟单元的输出或门和一个输出连接该输出或门的输入或门; 输出或门的另一输入脚接有时钟发生器时钟信号使能端,输入或门则用于连接所述总线接口和功能电路。
全文摘要
本发明公开了一种SoC系统时钟控制的方法和SoC,依据本发明,在执行模块或者说功能模块内部运算或者与其他模块进行交互时,处理器不再参与时钟控制,而该有执行模块进行控制,并由更小的单位来驱动,也就是一个操作下的若干个传输(Trans)操作来驱动,传输操作之间的空闲阶段对应于原有方法的空运行,执行模块不再动作,从而,依据上述方案可以通过执行模块根据实际的工作情况更精确的产生控制信号,从而精确的产生执行模块所需要的时钟信号,减少执行模块空运行状态以降低电路翻转次数,有效地降低了SoC的功耗。
文档编号G06F1/32GK103116384SQ201310039350
公开日2013年5月22日 申请日期2013年2月1日 优先权日2013年2月1日
发明者刘守浩, 张洪柳, 孙晓宁, 刘大铕, 王运哲, 赵阳 申请人:山东华芯半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1