片上系统、时钟门控组件、多路复用器组件以及分频组件的制作方法

文档序号:15076386发布日期:2018-08-01 01:47阅读:308来源:国知局

本申请案要求2017年1月24日在韩国知识产权局提交的第10-2017-0010945号韩国专利申请案以及2017年1月25日在美国专利商标局提交的第15/414,969号美国专利申请案的权益,这两个专利申请案的揭示内容以引用方式全文并入本文中。

本发明涉及一种半导体装置。



背景技术:

随着计算机、通信和广播的逐渐融合,对专用集成电路(applicationspecificintegratedcircuit,asic)和专用标准产品(applicationspecificstandardproduct,assp)的需求由于对片上系统(system-on-chip,soc)的需求而改变。另外,趋向于更轻、更薄、更紧凑和更高性能信息技术(informationtechnology,it)装置是驱动soc的发展的一个因素。

soc是具有各种功能的功能块(例如,知识产权(intellectualproperty,ip)块)借助于半导体处理技术的发展集成到其上的单芯片。

随着soc的集成密度、大小和操作速度增加,功率消耗更大程度上变成一个设计因素。当soc消耗大量功率时,soc的温度可能升高。如果温度升高太大,则soc可能发生故障或可能受损。

因此,需要一种soc以及可以防止soc消耗太多功率的驱动soc的方法。



技术实现要素:

根据本发明概念的示例性实施例,片上系统(systemonchip,soc)包含多个知识产权(intellectualproperty,ip)块和时钟管理单元(clockmanagementunit,cmu),所述时钟管理单元被配置成对ip块的至少一个执行时钟门控。ip块和cmu使用完全握手方法彼此连接。

根据本发明概念的示例性实施例,时钟门控组件包含时钟控制电路,所述时钟控制电路被配置成产生操作时钟信号;以及信道管理(channelmanagement,cm)电路,所述信道管理电路被配置成从外部装置接收跨越通信信道的请求信号并且将所述请求信号转发到时钟控制电路。时钟控制电路被配置成根据请求信号选择性地将操作时钟信号提供到外部装置并且将确认(ack)信号提供到cm电路。

根据本发明概念的示例性实施例,时钟多路复用器组件包含时钟控制电路,所述时钟控制电路被配置成基于第一选择信号而选择第一时钟信号和第二时钟信号中的一个、基于所述选定时钟信号而产生操作时钟信号并且响应于请求信号而选择性地输出所述操作时钟信号;以及信道管理(channelmanagement,cm)电路,所述信道管理电路被配置成从外部装置接收跨越通信信道的请求信号并且将所述请求信号转发到所述时钟控制电路。

根据本发明概念的示例性实施例,时钟分频组件包含时钟控制电路,所述时钟控制电路被配置成对输入时钟信号执行分频操作以产生分频时钟信号、基于所述分频时钟信号而产生操作时钟信号并且响应于请求信号而将所述操作时钟信号选择性地输出到外部装置;以及信道管理(channelmanagement,cm)电路,所述信道管理电路被配置成从外部装置接收跨越通信信道的请求信号并且将所述请求信号转发到所述时钟控制电路。

根据本发明概念的示例性实施例,操作时钟管理单元(clockmanagementunit,cmu)的方法包含:cmu确定从知识产权(intellectualproperty,ip)块接收的请求信号是否指示ip块需要进入活动模式和休眠模式中的选定的一个;当请求信号指示ip块需要进入活动模式时,cmu将激活层处的确认(ack)信号和时钟信号输出到ip块;以及当时钟请求信号指示ip块需要进入休眠模式时,cmu将去激活层处的ack信号输出到ip块并且停止将时钟信号输出到ip块。

根据本发明概念的示例性实施例,时钟管理单元(clockmanagementunit,cmu)包含控制器电路,所述控制器电路被配置成基于从锁相环或振荡器产生的输出而输出第一时钟信号;多路复用电路,所述多路复用电路被配置成输出所述第一时钟信号和第二时钟信号中的一个;第一时钟分频电路,所述第一时钟分频电路被配置成对所述多路复用电路的输出执行第一分频操作以产生第三时钟信号;速止电路,所述速止电路被配置成选择性地停止第三时钟信号的脉冲以产生第四时钟信号;第二时钟分频电路,所述第二时钟分频电路被配置成对所述速止电路的输出执行第二分频操作以产生第五时钟信号;以及第一时钟门控电路,所述第一时钟门控电路被配置成选择性地输出所述第五时钟信号。

附图说明

通过下文结合附图进行的示例性实施例的描述,本发明概念将变得显而易见且更加容易理解,其中:

图1是根据本发明概念的示例性实施例的半导体装置的框图。

图2是根据本发明概念的示例性实施例的包含在半导体装置中的时钟管理单元(clockmanagementunit,cmu)的框图。

图3是根据本发明概念的实施例的包含在半导体装置中的知识产权(intellectualproperty,ip)块的框图。

图4说明根据本发明概念的示例性实施例的在cmu的多个时钟控制电路之间的信号传输路径。

图5a说明根据本发明概念的示例性实施例的可以用于cmu中的时钟请求信号和时钟确认信号。

图5b说明根据本发明概念的示例性实施例的可以在cmu中发生的用于时钟请求信号和时钟确认信号的时钟级过渡。

图6说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟门控组件的实施方案。

图7说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟门控组件的结构。

图8是说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟门控组件的行为的时序图。

图9a说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟多路复用器(mux)组件的实施方案。

图9b说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件的有限状态机(finitestatemachine,fsm)。

图10说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件的结构。

图11至20是说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件的行为的时序图。

图21a说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟分频组件。

图21b说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟分频组件的fsm。

图22说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟分频组件。

图23是说明根据本发明概念的实施例的包含在半导体装置中的时钟分频组件的行为的时序图。

图24说明根据本发明概念的示例性实施例的包含在半导体装置中的锁相环(phaselockedloop,pll)控制器。

图25说明根据本发明概念的示例性实施例的包含在半导体装置中的pll控制器电路的多路复用器。

图26和27是说明根据本发明概念的示例性实施例的包含在半导体装置中的pll控制器的行为的时序图。

图28说明根据本发明概念的示例性实施例的包含在半导体装置中的pll用户控制器。

图29说明根据本发明概念的示例性实施例的包含在半导体装置中的适配器组件。

图30说明根据本发明概念的示例性实施例的包含在半导体装置中的滞后滤波器的结构。

图31至33是说明根据本发明概念的示例性实施例的包含在半导体装置中的滞后滤波器的行为的时序图。

图34是根据本发明概念的示例性实施例的包含在半导体装置中的电源管理单元(powermanagementunit,pmu)的框图。

图35至39是说明pmu的时钟开/关操作的实例的时序图。以及

图40是根据本发明概念的示例性实施例的半导体装置的框图。

附图标号说明

clk、clk0、clk1、clk2、clk3、clk_in、clk_out、clk_rf:时钟信号;

req1、req2、req3、parent_clk_req、child_clk_reqparent_clk_req0、parent_clk_req1、parent_clk_req2、parent_clk_req3、clk_req:时钟请求信号;

ack1、ack2、ack3、parent_clk_ack、child_clk_ack、clk_ack:时钟确认信号;

ch:通信信道;

100、730:时钟管理单元;

101:输入/输出垫;

110:cmu控制器;

120a、120b、120c、120d、120e、120f、120g:时钟组件;

122a、122b、122c、122d、122e、122f、122g:时钟控制电路;

124a、124b、124c、124d、124e、124f、124g:时钟源;

124c:分频电路;

124d:时钟门控电路;

130、132:信道管理电路;

150、300:电源管理单元;

151:cmu接口电路;

152:供电顺序管理电路;

153:扫描转储顺序管理电路;

200:第一知识产权块;

210:第二知识产权块;

220:第三知识产权块;

202:信道适配器;

204:ip核心;

700:半导体装置;

710:中央处理单元;

720:时钟产生器;

740:随机存取存储器;

750:只读存储器;

760:存储器控制单元;

adapter_clkgate:适配器;

adapter_hysteresisfilter:适配器滞后滤波器;

clkgate_clk_req:时钟请求;

clkdiv_divchg_req:时钟分频比改变请求;

divratio:时钟分频比;

divchg_req:改变分频比的请求;

divchg_ack:改变的确认;

en:启用信号;

en_fb:反馈信号;

osc:振荡器;

fsm_clk_req:额外时钟请求;

h-ch:h信道;

i、ii、iii:部分;

muxsel:多路复用器选择信号;

mux:多路复用器;

merge_muxsel:多路复用器。

pll:锁相环;

preicg:第二逻辑电路;

parent_clk_req:时钟停止请求信号;

s0、s1、s2、s3、a1、a2、a3、a4、a5、a6、a7、b1、b2、b3、b4、c1、c2、c3、c4、c5:状态;

sec_ap_rtl_clkgate:时钟门控单元;

sync_en:同步启用信号;

sync:第一逻辑电路;

s-ch:s信道;

sel、sel_out:选择信号;

sec_ap_rtl_gfmux:mux电路;

status:信号;

sec_ap_rtl_clkdiv_skewless:时钟分频电路;

stopreq:停止请求信号;

synchronized_clkdiv_divchg_ack:输入;

sfr:特殊功能寄存器;

sysclk_osc:系统时钟振荡器;

t1、t2、t3、t4:时间;

active_parent_clk_req、active_parent_clk_ack、adapter_clkdiv、oscclk、pll_fout、sel_req0、sel_req1、sel_ack0、sel_ack1、muxsel_ack[1]、synchronized_muxsel_req[0]、synchronized_muxsel_req[1]、mux_sel、mux_status、mux_sel_sequential、muxsel_req0、muxsel_ack0、refclk、hch/data、hch/request_lock、hch/acknowledge、child_clk_ack[c;0]、child_clk_req[c;0]、filter_req/ack、filtered_req、enable_filter、expire_valu、increase_counter、clear_counter、refclk、force_automatic_clkgating:信号;

sec_ap_rtl_gfclkmux、adapter_clkmux、sec_ap_、sfri/f、adapter_null:模块。

具体实施方式

图1是根据本发明概念的示例性实施例的半导体装置的框图。

参考图1,根据本发明概念的示例性实施例的半导体装置包含输入/输出(input/output,i/o)垫101、时钟管理单元(clockmanagementunit,cmu)100、电源管理单元(powermanagementunit,pmu)300和逻辑块(例如,一个或多个逻辑电路)。例如,逻辑块可以实施为一个或多个知识产权(ip)块200至220。在实施例中,ip块是ip核心或作为一方的知识产权的逻辑或芯片布局的可重复使用单元。在实施例中,半导体装置是或包含片上系统(system-on-chip,soc)。

cmu100产生将提供到第一至第三ip块200至220中的每一个的操作时钟信号。例如,cmu100可以产生第一至第三时钟信号clk1至clk3。

第一至第三ip块200至220可以连接到系统总线并且通过系统总线彼此通信。在实施例中,第一至第三ip块200至220中的每一个包含处理器、图形处理器、存储器控制器、输入和输出接口块等。

cmu100可以将第一时钟信号clk1提供到第一ip块200。cmu100可以将第二时钟信号clk2提供到第二ip块210。cmu100可以将第三时钟信号clk3提供到第三ip块220。

第一至第三ip块200至220中的任一个可以根据完全握手方法(例如,同步握手)将时钟请求信号传输到cmu100。时钟请求信号可以指示对应ip块需要cmu100向其提供时钟信号或需要cmu100停止向其提供时钟信号。在实施例中,在完全握手方法中,cmu100用时钟确认信号对时钟请求信号作出响应,所述时钟确认信号指示cmu目前正提供或将提供请求时钟信号,或cmu已停止或将停止提供请求时钟信号。在实施例中,cmu100对时钟确认信号作出响应,所述时钟确认信号仅指示cmu确认接收时钟请求信号,而不提供关于时钟信号的状态的信息。

例如,第一ip块200可以根据完全握手方法将第一时钟请求信号req1传输到cmu100。cmu100可以响应于第一时钟请求信号req1的接收而将第一时钟确认信号ack1传输到第一ip块200。同时或在传输第一时钟确认信号ack1之前,cmu100可以将第一时钟信号clk1传输到第一ip块200。

在实施例中,cmu100与第一至第三ip块200至220之间的接口具有完全握手方法的格式。在实施例中,接口可以实施为遵循,但不限于,arm有限公司的低功率接口(lowpowerinterface,lpi)、q信道接口或p信道接口。

时钟门控可以用于将计算机系统分成小功能块,并且随后切断未使用部分的电源。由于不是计算机的全部部分一直在运行中,因此可以停止未使用部分中的块以减小功率消耗以及所停止块中的热量产生。

根据本发明概念的示例性实施例的cmu100对不需要操作时钟信号的第一至第三ip块200至220中的一些执行时钟门控。cmu100可以通过自动地执行时钟门控,而不在ip块操作中产生误差来减小功率消耗。

pmu300控制半导体装置的电源。例如,当半导体装置进入待机模式时,pmu300通过切断电源控制电路而切断soc的电源。此处,pmu300不断地消耗电力。然而,由于pmu300消耗的电力远小于整个半导体装置消耗的电力,因此在待机模式下半导体装置的功率消耗显著减小。

具体来说,当soc处于待机模式时,pmu300可以切断cmu100的电源。这可以对应于不存在来自第一至第三ip块200至220的时钟请求的情况。例如,如果ip块中无一者在预定义时间段内作出对时钟信号的请求,则pmu300可以切断cmu100的电源。

图2是根据本发明概念的示例性实施例的包含在半导体装置中的cmu100的框图。

参考图2,cmu100包含时钟组件120a至120g(例如,时钟门控电路)、信道管理电路(channelmanagement,cm)130和132,以及cmu控制器110。时钟组件120a至120g被配置成产生将提供到ip块200和210的时钟信号,并且信道管理电路130和132安置于时钟组件120f和120g与ip块200和210之间,以提供cmu100与ip块200和210之间的通信信道ch。cmu控制器110使用时钟组件120a至120g将时钟信号提供到ip块200和210。在替代实施例中,省略信道管理电路130和132,并且最后一个时钟组件提供cmu100与ip块200和210之间的通信信道ch。

在一些实施例中,由信道管理电路130和132提供的通信信道ch可以实施为遵循,但不限于,arm有限公司的lpi、q信道接口或p信道接口。通信信道ch还可以实施为遵循不同通信协议。

时钟组件120a至120g包含时钟源(clocksource,cs)124a至124g(例如,时钟信号产生器)和分别控制时钟源124a至124g的时钟控制电路(clockcontrol,cc)122a至122g。时钟源124a至124g可以包含,例如,多路复用器(mux)电路,时钟分频电路、速止电路和时钟门控电路。

时钟组件120a至120g彼此形成父子关系。在本实施例中,时钟组件120a是时钟组件120b的亲代,并且时钟组件120b是时钟组件120a的子代和时钟组件120c的亲代。另外,时钟组件120e是两个时钟组件120f和120g的亲代,并且时钟组件120f和120g是时钟组件120e的子代。在本实施例中,最接近锁相环(phaselockedloop,pll)定位的时钟组件120a被称为根时钟组件,并且最接近ip块200和210定位的时钟组件120f和120g可被称为叶时钟组件。根据时钟组件120a至120g之间的父子关系,父子关系必然还形成于时钟控制电路122a至122g与时钟源124a至124g之间。

时钟控制电路122a至122g在亲代与子代之间交换时钟请求req和时钟请求req的确认ack,并且将时钟信号提供到ip块200和210。

如果ip块200不需要时钟信号,例如,如果ip块200需要处于休眠状态,则cmu100停止将时钟信号提供到ip块200。

具体来说,信道管理电路130将第一信号传输到ip块200,所述第一信号指示所述信道管理电路将停止在cmu100或cmu控制器110的控制下提供时钟信号。接收第一信号的ip块200将第二信号传输到信道管理电路130,所述第二信号指示可以在完成处理的操作之后停止提供时钟信号。从ip块200接收第二信号的信道管理电路130请求时钟组件120f,即,其亲代停止提供时钟信号。

在实例中,如果通过信道管理电路130提供的通信通道ch遵循q信道接口,则信道管理电路130将具有第一逻辑值(例如,逻辑低,在下文中通过参考字符“l”指示)的qreqn信号传输到ip块200作为第一信号。随后,当从ip块200接收具有第一逻辑值的qacceptn信号作为第二信号时,信道管理电路130将具有第一逻辑值的时钟请求req(例如,信号)传输到时钟组件120f。在此情况下,具有第一逻辑值的时钟请求req是指“时钟提供停止请求”。

从信道管理电路130接收具有第一逻辑值的时钟请求req(即,时钟提供停止请求)的时钟控制电路122f通过停用时钟源124f而停止提供时钟信号。例如,时钟控制电路122f可以通过将停用信号提供到时钟源124f而停用时钟源124f。因此,ip块200可以进入休眠模式。在此过程中,时钟控制电路122f可以将具有第一逻辑值的确认ack提供到信道管理电路130。然而,应注意,尽管在传输具有第一逻辑值的时钟提供停止请求之后信道管理电路130接收具有第一逻辑值的确认ack,但是并不确保停止从时钟源124f提供时钟。在实施例中,确认ack仅意味着时钟控制电路122f认识到时钟组件120f(即,信道管理电路130的亲代)不再需要将时钟信号提供到信道管理电路130。

同时,时钟组件120f的时钟控制电路122f将具有第一逻辑值的时钟请求req传输到作为其亲代的时钟组件120e的时钟控制电路122e。如果ip块210也不需要时钟信号,例如,如果时钟控制电路122e从时钟控制电路122g接收时钟提供停止请求,则时钟控制电路122e通过停用时钟源124e(例如,时钟分频电路)而停止提供时钟信号。因此,ip块200和210可以进入休眠模式。

对于其它时钟控制电路122a至122d,可以通过相同方式执行以上操作。

尽管时钟组件120f的时钟控制电路122f将具有第一逻辑值的时钟请求req传输到作为其亲代的时钟组件120e的时钟控制电路122e,但是如果ip块210正运行,则时钟控制电路122e无法停用时钟源124e。仅当ip块210不再需要时钟信号时,时钟控制电路122e才可以停用时钟源124e并且将具有第一逻辑值的时钟请求req传输到作为其亲代的时钟控制电路120d。也就是说,仅当从时钟控制电路122f和122g两者接收时钟提供停止请求时,时钟控制电路122e才可以停用时钟源124e。

当ip块200和210处于休眠状态时,可以停用所有时钟源124a至124f。随后,当ip块200进入运行状态时,cmu100恢复将时钟信号提供到ip块200和210。

信道管理电路130将具有第二逻辑值(例如,逻辑高,在下文中通过参考字符“h”指示)的时钟请求req传输到作为其亲代的时钟组件120f的时钟控制电路122f,并且等待来自时钟控制电路122f的确认ack。此处,具有第二逻辑值的时钟请求req是“时钟提供请求”,并且时钟提供请求的确认ack指示已恢复通过时钟源124f提供时钟。时钟控制电路122f无法立即启用时钟源124f(例如,时钟门控电路),而是等待通过其亲代提供时钟信号。

随后,时钟控制电路122f将具有第二逻辑值的时钟请求req(即,时钟提供请求)传输到作为其亲代的时钟控制电路122e,并且等待来自时钟控制电路122e的确认ack。对于时钟控制电路122a至122d,可以通过相同方式执行此操作。例如,除了第一时钟控制电路之外,级联的每个时钟控制电路将时钟提供请求发送到其亲代。

从时钟控制电路122b接收具有第二逻辑值的时钟请求req的第一时钟控制电路122a(即,根时钟组件)启用第一时钟源124a(例如,mux电路),并且将确认ack传输到第二时钟控制电路122b。第二时钟控制电路122b响应于从第一时钟控制电路122a接收ack而启用第二时钟源124b,并且将ack传输到第三时钟控制电路122c。通过第三、第四和第五时钟控制电路122c-122e重复所述过程。在以此方式按序启用时钟源124b至124e之后,第五时钟控制电路122e最后将确认ack传输到第一叶时钟控制电路122f,所述确认ack通知叶时钟控制电路已恢复通过时钟源124e提供时钟。接收确认ack的第一叶时钟控制电路122f通过启用时钟源124f而将时钟信号提供到ip块200,并且将确认ack提供到信道管理电路130。

如上所述,时钟控制电路122a至122g根据完全握手方法(例如,同步握手)操作,其中时钟请求req和时钟请求req的确认ack在亲代与子代之间交换。因此,时钟控制电路122a至122g可以通过控制时钟源124a至124g硬件方面而控制提供到ip块200和210的时钟信号。

时钟控制电路122a至122g可以将时钟请求req传输到其亲代,或通过独立操作或在cmu控制器110的控制下操作而控制时钟源124a至124g。在一些实施例中,时钟控制电路122a至122g可以分别包含有限状态机(finitestatemachines,fsm),所述有限状态机根据亲代与子代之间交换的时钟请求req来控制时钟源124a至124g。

尽管图2示出包含五个时钟组件和两个叶时钟组件的级联的时钟组件树,但是本发明概念不限于此。在替代实施例中,可以省略这些时钟组件中的一个或多个。在第一实施例中,仅存在第一时钟组件120a和第一叶时钟组件120f,省略第二至第五时钟组件120b-120e,并且省略第二叶时钟组件120g。在第二实施例中,仅存在第二时钟组件120b和第一叶时钟组件120f,省略第一时钟组件120a,省略第三至第五时钟组件120c-120e,并且省略第二叶时钟组件120g。在第三实施例中,仅存在第三时钟组件120c和第一叶时钟组件120f,省略第一至第二时钟组件120a-120b,省略第四至第五时钟组件120d-e,并且省略第二叶时钟组件120g。在第四实施例中,仅存在第四时钟组件120d和第一叶时钟组件120f,省略第一至第三时钟组件120a-120c,省略第五时钟组件120e,并且省略第二叶组件120g。在第五实施例中,仅存在第五时钟组件120e和第一叶时钟组件120f,省略第一至第四时钟组件120a-120d,并且省略第二叶时钟组件120g。可以通过各种其它组合进一步改变这些实施例。例如,在第六实施例中,存在第一至第二时钟组件120a-120b,存在第一叶时钟组件120f,省略第三至第五时钟组件120b-120e,并且省略第二叶时钟组件120g。

在示例性实施例中,第一时钟组件120a是锁相环(phase-lockedloop,pll)控制器。

在示例性实施例中,pll控制器从振荡器osc中接收通过振荡器osc振荡的恒定或可变频率信号以及通过pll输出的pll信号,并且基于特定条件输出两个所接收信号中的一个。当组件需要pll信号时,pll控制器输出pll信号。当组件需要振荡器信号时,pll控制器输出振荡器信号。当不存在使用pll的输出的组件时,在本发明概念的实施例中,pll控制器关闭pll。在替代实施例中,当不存在使用pll的输出的组件时,pll控制器自动地控制pll以进入旁路模式。在另一替代实施例中,当不存在使用pll的输出的组件时,pll控制器根本不影响pll的操作。

pll控制器可以用产生时钟信号的任何组件替换。例如,pll控制器可以使用环形振荡器或晶体振荡器实施。

在本发明概念的示例性实施例中,时钟组件120b是时钟多路复用器(mux)单元。

在实施例中,时钟mux单元包含时钟控制电路122b和mux电路124b。时钟mux单元的时钟控制电路122b可以通过按序行为操作。时钟控制电路122b可以控制时钟信号的打开或关闭。为了在时钟信号关闭的状态下改变时钟mux单元的mux选择,时钟控制电路122b产生时钟请求信号。用于改变mux选择的由时钟控制电路122b产生的时钟请求信号可以仅提供到前一个亲代时钟组件和下一个亲代时钟组件,或可以提供到所有可能的亲代时钟组件。在替代实施例中,时钟控制电路122b不产生用于在时钟信号关闭的状态下改变mux选择的时钟请求信号。例如,在此实施例中,时钟控制电路122b仅在时钟信号已打开时改变mux选择。

时钟mux单元的时钟控制电路122b可以将时钟请求信号仅传输到所使用的亲代时钟组件。时钟mux单元可以具有两个或多于两个输入时钟信号。例如,图2示出mux电路124b,所述mux电路接收从第一时钟控制电路122a输出的第一时钟信号clk1以及可以从外部cmu或其它外部装置接收的第二时钟信号clk2。mux电路124b随后可以基于特定条件而选择第一时钟信号clk1和第二时钟信号clk2中的一个以供输出。

在本发明概念的示例性实施例中,时钟组件120c是时钟分频单元,例如,时钟分频器电路(例如,分频电路)。时钟分频器电路获取具有输入频率的输入信号并且通过输入频率除以时钟分频比产生的输出频率产生输出信号。例如,分频比可以是大于1的整数。

在实施例中,时钟分频单元包含时钟控制电路122c和分频电路124c。时钟分频单元的时钟控制电路122c可以通过按序行为操作。时钟控制电路122c可以控制由分频电路124c输出的时钟信号的打开或关闭。为了在时钟信号关闭的状态下改变分频电路124c的时钟分频比,时钟控制电路122c可以产生时钟请求信号。例如,时钟控制电路122c可以将时钟请求信号输出到根时钟组件,所述根时钟组件使分频电路124c开始接收时钟信号,使得所述分频电路可以对所接收时钟信号执行分频操作。在替代实施例中,时钟控制电路122c不产生用于在时钟信号关闭的状态下改变分频电路124c的时钟分频比的时钟请求信号。例如,在此实施例中,时钟控制电路122c仅在时钟信号已打开时改变时钟分频比。

在示例性实施例中,时钟组件120d是速止单元。在实施例中,速止单元在第一周期期间向时钟信号提供多个脉冲,在第一周期之后的第二周期期间停止这些脉冲,并且在第二周期之后的第三周期期间恢复脉冲。

速止单元包含时钟控制电路122d和时钟门控电路124d。在实施例中,时钟门控电路124d基于特定条件而选择性地输出时钟信号。速止单元的时钟控制电路122d可以通过按序行为操作。时钟控制电路122d可以控制时钟信号的打开或关闭。当来自子代时钟组件的时钟请求信号不活动时,时钟控制电路122d可以激活时钟门控电路124d。例如,即使已通知时钟控制电路122d停止通过子代时钟组件提供时钟信号,当出现特定条件时,时钟控制电路122d也可以激活时钟门控电路124d。

在本发明概念的示例性实施例中,叶时钟组件120f和120g中的每一个是时钟门控单元。在叶时钟组件120f和120g是时钟门控单元的实施例中,每个组件包含时钟门控电路。

时钟门控单元可以根据完全握手方法与信道管理电路130和132中的至少一个通信。

参考图1和2,在本发明概念的示例性实施例中,pmu300响应于在待机模式下接收的唤醒信号而将电力控制信号传输到振荡器osc。振荡器osc是产生特定频率信号并且将操作时钟信号供应到逻辑块(例如,时钟组件120a)的振荡电路。晶体振荡器使用晶体xtal的压电振荡以准确且稳定的振荡频率产生信号。

当电力输入到振荡器osc时,振荡器osc开始振荡。振荡器osc最初输出精确且不稳定的信号,并且随后逐渐开始输出稳定的晶体时钟信号。在从振荡器osc输出的晶体时钟信号稳定化之后,cmu100可以将操作时钟信号供应到逻辑块。

图3是根据本发明概念的示例性实施例的包含在半导体装置中的ip块的框图。

参考图3,第一ip块200包含信道适配器202和ip核心204。在图3中,第一ip块200说明为实例。然而,第二ip块210和第三ip块220可以包含与第一ip块200基本上相同的元件。

在实施例中,信道适配器202根据完全握手方法与第一信道管理电路130通信。通过信道适配器202,第一ip块200可以传输第一时钟请求信号req1并且接收第一时钟信号clk1。例如,第一ip块200可以将req1传输到第一信道管理电路130,并且响应于传输req1而接收由叶时钟组件120f输出的时钟信号clk作为clk1。或者,通过信道适配器202,第一ip块200可以传输第一时钟请求信号req1,接收指示时钟信号的存在的确认信号并且直接从由信道适配器202控制的时钟组件接收第一时钟信号clk1。

ip核心204可以包含,例如,处理器、图形处理器、存储器控制器、输入和输出接口块等。

图4说明在多个时钟控制电路之间的信号传输路径。

参考图4,时钟控制电路可以使用握手信号操作,所述握手信号包含时钟请求信号req和作为时钟请求信号req的响应信号的确认(或时钟确认信号)ack。时钟请求信号req和时钟确认信号ack可以具有,例如,第一逻辑值(例如,逻辑低)或第二逻辑值(例如,逻辑高)。然而,还可以通过其它方法实施时钟请求信号req和时钟确认信号ack。

在本发明概念的示例性实施例中,时钟消费者将具有第二逻辑值的时钟请求信号req传输到时钟提供者,由此通知时钟提供者需要时钟信号。相反,时钟消费者可以将具有第一逻辑值的时钟请求信号req传输到时钟提供者,由此通知时钟提供者不再需要时钟信号。

同时,时钟提供者可以将具有第二逻辑值的时钟确认信号ack传输到时钟消费者。具有第二逻辑值的时钟确认信号ack指示通过时钟提供者将时钟信号稳定地提供到时钟消费者。相反,时钟提供者可以将具有第一逻辑值的时钟确认信号ack传输到时钟消费者。在实施例中,具有第一逻辑值的时钟确认信号ack指示时钟提供者无法通知时钟消费者提供时钟信号。例如,提供具有第一逻辑电平的ack的时钟提供者可以指示时钟提供者仅了解时钟消费者对时钟信号的需求,而不能够在稳定地提供时钟信号时通知时钟消费者。

在实例中,作为时钟消费者的时钟控制电路122b可以将例如具有第二逻辑值的时钟请求信号parent_clk_req传输到作为时钟提供者的时钟控制电路122a,由此通知时钟控制电路122a需要时钟信号。因此,包含时钟控制电路122a的时钟组件(即,时钟提供者)可以将时钟信号传输到包含时钟控制电路122b的时钟组件(即,时钟消费者)。随后,时钟控制电路122b可以从时钟控制电路122a接收例如具有第二逻辑值的时钟确认信号parent_clk_ack。

同时,作为时钟提供者的时钟控制电路122b可以从时钟控制电路122f接收例如具有第二逻辑值的时钟请求信号child_clk_req。通过接收具有第二逻辑值的时钟请求信号child_clk_req,时钟控制电路122b可以了解作为时钟消费者的时钟控制电路122f需要时钟信号。因此,包含时钟控制电路122b的时钟组件(即,时钟提供者)可以将时钟信号提供到包含时钟控制电路122f的时钟组件(即,时钟消费者)。同时,作为时钟提供者的时钟控制电路122b可以将例如具有第二逻辑值的时钟确认信号child_clk_ack传输到时钟控制电路122f。

在另一实例中,作为时钟消费者的时钟控制电路122b可以将例如具有第一逻辑值的时钟请求信号parent_clk_req传输到作为时钟提供者的时钟控制电路122a,由此通知时钟控制电路122a不再需要时钟信号。因此,时钟控制电路122b可以从时钟控制电路122a接收例如具有第一逻辑值的时钟确认信号parent_clk_ack。具有第一逻辑值的时钟确认信号parent_clk_ack指示不保证通过时钟提供者提供时钟。

同时,作为时钟提供者的时钟控制电路122b可以从时钟控制电路122f接收例如具有第一逻辑值的时钟请求信号child_clk_req。具有第一逻辑值的时钟请求信号child_clk_req指示作为时钟消费者的时钟控制电路122f不再需要时钟信号。因此,时钟控制电路122b可以将例如具有第二逻辑值的时钟确认信号child_clk_ack传输到时钟控制电路122f。具有第二逻辑值的时钟确认信号child_clk_ack指示不保证通过时钟提供者提供时钟。

应注意,这些时钟控制电路之间的组合路径可以包含第一路径(例如,第一导线或通信信道),通过所述第一路径,时钟控制电路122b将时钟请求信号parent_clk_req传输到作为其亲代的时钟控制电路122a,并且随后从作为其亲代的时钟控制电路122a接收时钟确认信号parent_clk_ack;以及第二路径(例如,第二导线或通信信道),通过所述第二路径,时钟控制电路122b从作为其子代的时钟控制电路122f接收时钟请求信号child_clk_req,并且随后将时钟确认信号child_clk_ack传输到作为其子代的时钟控制电路122f,但是所属组合路径不包含路径(在图4中通过参考字符“x”指示)。例如,如果存在路径x,则从时钟控制电路122a接收的时钟确认信号parent_clk_ack可以穿过路径x或时钟请求信号parent_clk_req可以穿过路径x。

根据完全握手方法实施时钟请求信号req和时钟确认信号ack,并且时钟提供者和时钟消费者可以属于单个时钟域或不同时钟域。当时钟提供者和时钟消费者属于单个时钟域时,所述时钟提供者和所述时钟消费者响应于同一参考时钟信号而操作。当时钟提供者和时钟消费者属于不同时钟域时,所述时钟提供者和所述时钟消费者响应于不同参考时钟信号而操作。

在示例性实施例中,分别连接到时钟控制电路以用于通信的时钟mux电路、时钟分频电路、时钟门控电路等使用来自时钟控制电路的不同时钟域。也就是说,传输时钟请求信号的信号线中的时钟频率可以不同于实际上提供的操作时钟信号的时钟频率。

图5a说明本文使用的时钟请求信号req和时钟确认信号ack。图5b说明用于本文使用的时钟请求信号req和时钟确认信号ack的时钟级过渡。

参考图5a,时钟请求信号req在时间t1处过渡到第二逻辑值。这可以指示时钟消费者通知时钟提供者:时钟消费者需要时钟信号clk。在时间t1之后,时钟提供者可以将时钟信号clk提供到时钟消费者。

在时间t2处,时钟提供者将具有第二逻辑值的时钟确认信号ack传输到时钟消费者。这指示通过时钟提供者(参看部分i)将时钟信号clk稳定地提供到时钟消费者。

在时间t3处,时钟请求信号req过渡到第一逻辑值。这可以指示时钟消费者通知时钟提供者不再需要时钟信号clk。在时间t3处,时钟提供者可以停止将时钟信号clk提供到时钟消费者,或仍可以继续提供时钟信号clk。

在时间t4处,时钟提供者可以将具有第一逻辑值的时钟确认信号ack传输到时钟消费者。这指示时钟提供者无法通知时钟消费者提供时钟信号clk。

也就是说,在图5a中,其中保证通过时钟提供者将时钟信号clk稳定地提供到时钟消费者的部分仅是部分i。在另一部分ii中,无法知道是否通过时钟提供者将时钟信号clk提供到时钟消费者。

在图5b中,在第二逻辑值表达为“1”且第一逻辑值表达为“0”的情况下,说明时钟请求信号req和时钟确认信号ack的可能组合以及其间的可能过渡。

另外,状态s2时从时间t2至时间t3,并且状态s3时从时间t3至时间t4。时钟请求信号req和时钟确认信号ack的值的组合依序从状态s0改变到状态s1、状态s2、状态s3,且随后改变到状态s0(参看实线箭头)。

如果实施电路,使得在时间t1处,时钟请求信号req和时钟确认信号ack同时传输到第二逻辑值,则时钟请求信号req和时钟确认信号ack的值的组合可以直接从状态s0切换到状态s2。类似地,如果实施电路,使得在时间t3处,时钟请求信号req和时钟确认信号ack同时过渡到第一逻辑值,则时钟请求信号req和时钟确认信号ack的值的组合可以直接从状态s2切换到状态s0(参看虚线箭头)。

现将再次参考图1、2和4描述完全握手方法。

根据完全握手方法,当第一ip块200需要时钟信号时,所述第一ip块激活第一时钟请求信号req1。例如,第一ip块200将第一时钟请求信号req1设定成高状态。

cmu100响应于第一时钟请求信号req1的激活而激活用于第一时钟请求信号req1的第一时钟确认信号ack1。也就是说,cmu100将第一时钟确认信号ack1设定成高状态。

cmu100可以在激活第一时钟确认信号ack1之前将第一时钟信号clk1传输到第一ip块200。或者,cmu100可以在激活第一时钟确认信号ack1的同时将第一时钟信号clk1传输到第一ip块200。

当第一ip块200不需要时钟信号时,去激活第一时钟请求信号req1。也就是说,第一ip块200将第一时钟请求信号req1设定成低状态。

当第一时钟请求信号req1处于低状态时,cmu100将第一时钟确认信号ack1设定成低状态。同时,cmu100可以去激活第一时钟信号clk1。

当第一时钟确认信号ack1活动时,第一ip块200可以正常地操作。例如,当第一时钟确认ack1处于高状态时,第一ip块200可以正常地操作。当第一ip块200感测到第一时钟确认信号ack1已达到低状态时,第一ip块可以切换到休眠模式。

现将参考图1和2描述根据本发明概念的示例性实施例的cmu100的完全握手方法。完全握手方法将基于以下假设描述:图2的时钟组件120a至120f分别是pll控制器、时钟mux单元、第一时钟分频单元、速止单元、第二时钟分频单元和第一时钟门控单元。然而,这仅仅是其中可以实施本发明概念的实例,并且本发明的范围不限于此。在实施例中,pll控制器响应于来自子代时钟组件的请求信号而停用pll,并且随后依赖于osc。在实施例中,速止单元包含速止电路,所述速止电路被配置成在某一时间段内临时停止时钟信号。例如,速止电路在第一周期期间保持时钟信号的脉冲,在第二周期期间将时钟信号设定成常数低(例如,停用脉冲)并且在第三周期期间恢复时钟信号的脉冲。

pll控制器、时钟mux单元、第一时钟分频单元、速止单元、第二时钟分频单元和第一时钟门控单元分别可以包含时钟源124a至124f。

具体来说,pll控制器可以包含时钟mux电路,所述时钟mux电路从振荡器osc和pll接收信号。时钟mux单元可以包含时钟mux电路,所述时钟mux电路接收多个时钟信号。第一时钟分频单元可以包含第一时钟分频电路。速止电路可以包含第一时钟门控电路。第二时钟分频单元可以包含第二时钟分频电路。第一时钟门控单元可以包含第二时钟门控电路。

另外,pll控制器可以包含时钟控制电路122a。时钟mux单元可以包含时钟控制电路122b。第一时钟分频单元可以包含时钟控制电路122c。速止电路可以包含时钟控制电路122d。第二时钟分频单元可以包含时钟控制电路122e。第一时钟门控单元可以包含时钟控制电路122f。

时钟控制电路122a至122f中的每一个可以根据完全握手方法通信。例如,时钟控制电路122a和122b中的每一个可以支持pll控制器与时钟mux单元之间的完全握手方法。

时钟控制电路122b和122c中的每一个可以支持时钟mux单元与第一时钟分频单元之间的完全握手方法。

时钟控制电路122c和122d中的每一个可以支持第一时钟分频单元与速止电路之间的完全握手方法。

时钟控制电路122d和122e中的每一个可以支持速止电路与第二时钟分频单元之间的完全握手方法。

时钟控制电路122e和122f中的每一个可以支持第二时钟分频单元与第一时钟门控单元之间的完全握手方法。

同样地,时钟控制电路122f和信道管理电路130中的每一个可以支持第一时钟门控单元与信道管理单元130之间的完全握手方法。

第一ip块200可以请求cmu100以根据完全握手方法提供操作时钟信号。例如,当第一ip块200需要操作时钟信号时,第一ip块可以激活时钟请求信号。也就是说,当第一ip块200需要操作时钟信号时,第一ip块可以将激活的时钟请求信号传输到cmu100。

信道管理电路130接收激活的时钟请求信号。信道管理电路130将激活的时钟请求信号传输到第一时钟门控单元(例如,时钟组件120f)。第一时钟门控单元将激活的时钟请求信号传输到第二时钟分频单元(例如,时钟组件120e)。第二时钟分频单元将激活的时钟请求信号传输到速止电路(例如,时钟组件120d)。速止电路将激活的时钟请求信号传输到第一时钟分频单元(例如,时钟组件120c)。第一时钟分频单元将激活的时钟请求信号传输到时钟mux单元(例如,时钟组件120b)。时钟mux单元将激活的时钟请求信号传输到pll控制器(例如,时钟组件120a)。

在示例性实施例中,pll控制器、时钟mux单元、第一时钟分频单元、速止单元、第二时钟分频单元、第一时钟门控单元和第一信道管理电路130中的每一个实施为组合电路。因此,每次可以通过pll控制器将激活的时钟请求信号传输到第一信道管理电路130。

pll控制器激活用于激活的时钟请求信号的时钟确认信号。也就是说,pll控制器将响应于激活的时钟请求信号产生的激活的时钟确认信号传输到时钟mux单元。同时,pll控制器将时钟信号clk传输到时钟mux单元。例如,pll控制器可以将时钟信号clk传输到时钟mux单元,同时pll控制器传输激活的时钟确认信号。

时钟mux单元将激活的时钟确认信号传输到第一时钟分频单元。同时,时钟mux单元将时钟信号clk传输到第一时钟分频单元。例如,时钟mux单元可以将时钟信号clk传输到第一时钟分频单元,同时时钟mux单元传输激活的时钟确认信号。

第一时钟分频单元将激活的时钟确认信号传输到速止电路。同时,第一时钟分频单元将时钟信号clk传输到速止电路。例如,第一时钟分频单元可以将时钟信号clk传输到速止电路,同时第一时钟分频单元传输激活的时钟确认信号。

速止单元将激活的时钟确认信号传输到第二时钟分频单元。同时,速止单元将时钟信号clk传输到第二时钟分频单元。例如,速止单元可以将时钟信号clk传输到第二时钟分频单元,同时速止单元传输激活的时钟确认信号。

第二时钟分频单元将激活的时钟确认信号传输到第一时钟门控单元。同时,第二时钟分频单元将时钟信号clk传输到第一时钟门控单元。例如,第二时钟分频单元可以将时钟信号clk传输到第二时钟分频单元,同时第二时钟分频单元传输激活的时钟确认信号。

第一时钟门控单元将激活的时钟确认信号传输到第一信道管理电路130。同时,第一时钟门控单元将时钟信号clk提供到第一ip块200。例如,第一时钟门控单元可以将时钟信号clk传输到第一信道管理电路130,同时第一时钟门控单元传输激活的时钟确认信号。

在当前实施例中,每次可以通过第一信道管理电路130将时钟确认信号传输到pll控制器。

当第一ip块200不需要时钟信号时,第一ip块可以去激活时钟请求信号。也就是说,当第一ip块200不需要时钟信号时,第一ip块可以将去激活的时钟请求信号传输到cmu100。

信道管理电路130接收去激活的时钟请求信号。信道管理电路130可以将去激活的时钟请求信号传输到第一时钟门控单元。第一时钟门控单元将去激活的时钟请求信号传输到第二时钟分频单元。第二时钟分频单元将去激活的时钟请求信号传输到速止电路。速止电路可以将去激活的时钟请求信号传输到第一时钟分频单元。第一时钟分频单元可以将去激活的时钟请求信号传输到时钟mux单元。时钟mux单元可以将去激活的时钟请求信号传输到pll控制器。

pll控制器、时钟mux单元、第一时钟分频单元、速止单元、第二时钟分频单元、第一时钟门控单元和第一信道管理电路130中的每一个可以实施为组合电路。因此,每次可以通过pll控制器将去激活的时钟请求信号传输到信道管理电路130。

响应于去激活的时钟请求信号,pll控制器去激活时钟确认信号。也就是说,pll控制器可以将去激活的时钟确认信号传输到时钟mux单元。同时,pll控制器可以去激活时钟信号clk或仍可以继续将时钟信号clk传输到时钟mux单元。

时钟mux单元将去激活的时钟确认信号传输到第一时钟分频单元。同时,时钟mux单元可以传输去激活的时钟信号clk或仍可以将时钟信号clk传输到第一时钟分频单元。

第一时钟分频单元将去激活的时钟确认信号传输到速止电路。同时,第一时钟分频单元可以去激活时钟信号clk或仍可以将时钟信号clk传输到速止单元。

速止电路将去激活的时钟确认信号传输到第二时钟分频单元。同时,速止电路可以去激活时钟信号clk或仍可以将时钟信号clk传输到第二时钟分频单元。

第二时钟分频单元将去激活的时钟确认信号传输到第一时钟门控单元。同时,第二时钟分频单元可以去激活时钟信号clk或仍可以将时钟信号clk传输到第一时钟门控单元。

第一时钟门控单元将去激活的时钟确认信号传输到信道管理电路130。同时,第一时钟门控单元去激活时钟信号clk。

同样,每次可以通过第一信道管理电路130将时钟确认信号传输到pll控制器。

现将描述根据实施例的包含在半导体装置中的各种类型的时钟组件。

图6说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟门控组件的实施方案。图7说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟门控组件的结构。图8是说明根据本发明的实施例的包含在半导体装置中的时钟门控组件的行为的时序图。可以通过图6或图7的时钟门控组件实施时钟组件120f或时钟组件120g。

参考图6,根据本发明的实施例的包含在半导体装置中的时钟门控组件包含有限状态机(finitestatemachine,fsm)和时钟门控单元sec_ap_rtl_clkgate。此处,fsm是指由有限次数的状态和状态之间的转换组成的计算模型或机器。可以使用一个或多个逻辑门实施fsm和/或时钟门控单元sec_ap_rtl_clkgate。在实施例中,时钟控制电路122f或时钟控制电路122g由fsm实施,并且时钟源124f或时钟源124g由时钟门控单元sec_ap_rtl_clkgate实施。图6的fsm和时钟门控单元sec_ap_rtl_clkgate分别对应于图7的适配器和核心时钟门控sec_ap_rtl_clkgate。此处,fsm或适配器可以通过参考时钟信号clk_rf操作并且与时钟门控单元sec_ap_rtl_clkgate执行完全握手,所述参考时钟信号clk_rf属于来自通过时钟组件产生的时钟信号clk的不同时钟域。

fsm可以从子代时钟组件接收时钟请求信号child_clk_req并且将时钟请求信号parent_clk_req传输到亲代时钟组件或输出启用信号en以根据fsm的状态控制时钟门控单元sec_ap_rtl_clkgate。例如,基于时钟请求信号child_clk_req的状态以及其响应于发送亲代时钟请求信号parent_clk_req而接收的对应确认,fsm可以确定是时候激活时钟源(例如,时钟门控单元sec_ap_rtl_clkgate),并且因此输出启用信号en以使时钟源基于输入时钟信号clk_in而输出时钟信号clk_out。时钟门控单元sec_ap_rtl_clkgate响应于接收到的启用信号en或在其响应于接收到的启用信号而开始输出时钟信号clk_out之后将启用反馈信号en_fb发送到fsm。

时钟门控单元sec_ap_rtl_clkgate根据从fsm输出的启用信号en接收时钟信号clk_in并且输出通过门控或绕过时钟信号clk_in获得的时钟信号clk_out。

还参考图8,时钟门控组件的fsm可以包含以下状态。

第一状态a1是其中时钟门控组件根据从子代时钟组件接收的具有第二逻辑值的时钟请求信号child_clk_req将时钟信号clk提供到子代时钟组件,而不执行时钟门控操作的状态。假定从子代时钟组件接收的时钟请求信号child_clk_req稍后过渡到第一逻辑值。

第二状态a2是其中时钟门控组件执行时钟门控操作的状态。因此,在时钟门控组件的时钟门控操作所需的本地握手时延周期之后,时钟门控组件将具有第一逻辑值的时钟确认信号child_clk_ack传输到子代时钟组件。另外,时钟门控组件将具有第一逻辑值的时钟请求信号parent_clk_req传输到亲代时钟组件。

在第三状态a3中,通过将具有第一逻辑值的时钟请求信号parent_clk_req传输到亲代时钟组件,时钟门控组件请求亲代时钟组件停止提供时钟。在第四状态a4中,时钟门控组件等待,直到所述时钟门控组件从亲代时钟组件接收具有第一逻辑值的时钟确认信号parent_clk_ack。这指示由于已完成时钟门控组件的门控操作,因此必要时可以执行亲代组件的时钟门控操作。

在从亲代时钟组件接收具有第一逻辑值的时钟确认信号parent_clk_ack之后,在第五状态a5中完全停止将时钟提供到时钟门控组件的子代时钟组件。

此处,当从子代时钟组件接收具有第二逻辑值的时钟请求信号child_clk_req时,时钟门控组件将具有第二逻辑值的时钟请求信号parent_clk_req传输到亲代时钟组件,并且随后在第六状态a6中停止时钟门控操作。

在停止时钟门控操作所需的本地握手时延周期之后,如果时钟门控组件从亲代时钟组件接收具有第二逻辑值的时钟确认信号parent_clk_ack,则时钟门控组件切换到第七状态a7。此处,第七状态a7与第一状态a1相同。

时钟门控单元sec_ap_rtl_clkgate包含第一逻辑电路sync和第二逻辑电路preicg。第一逻辑电路sync响应于启用信号en的接收而将启用反馈信号en_fb提供到fsm,并且在接收启用信号en之后基于输入时钟信号clk_in而将同步启用信号sync_en提供到第二逻辑电路preicg。第二逻辑电路preicg响应于同步启用信号sync_en而基于输入时钟信号clk_in输出输出时钟输出信号clk_out。第二逻辑电路preicg可以用于确保输出稳定的时钟信号。

图9a说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件的实施方案。在实施例中,时钟组件120b通过图9a的电路实施。图9b说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件的fsm。图10说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件的结构。图11至图20是说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件的行为的时序图。

参考图9a,根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件包含fsm和mux电路sec_ap_rtl_gfmux。mux电路sec_ap_rtl_gfmux包含用于接收第一时钟信号clk0和第二时钟信号clk1的第一和第二逻辑电路sec_ap_rtl_clkgate,以及可以将status信号提供到fsm的多路复用器mux,所述status信号指示多路复用器mux目前正输出时钟信号中的一个还是已从fsm接收输出选择信号sel_out。fsm通过适配器门adapter_clkgate(例如,逻辑电路)从子代时钟组件接收时钟请求信号child_clk_req,并且将时钟请求信号parent_clk_req0和parent_clk_req1传输到亲代时钟组件。例如,第一亲代时钟请求信号parent_clk_req0可以传输到时钟组件120a,并且第二亲代时钟请求信号parent_clk_req1可以传输到外部时钟组件。

此处,时钟mux组件可以包含无干扰mux。干扰是指由于噪声产生的计算机的暂时故障。

fsm接收选择信号sel。当fsm确定选择信号sel的值已改变时,fsm比较选择信号sel和多路复用器选择信号muxsel并且确定这些信号是否具有相同值。

当选择信号sel和多路复用器选择信号不具有相同值时,fsm产生检测变化信号。此处,可以通过将具有低状态的检测变化信号的值切换成高状态或通过将具有高状态的检测变化信号的值切换成低状态而产生检测变化信号。

响应于从fsm输出到多路复用器的选择信号sel_out,时钟mux组件输出第一时钟信号clk0或第二时钟信号clk1作为时钟信号clk_out。子代时钟组件从时钟mux组件接收时钟输出。第一时钟信号clk0可以由时钟组件120a输出,并且第二时钟信号clk1可以由外部时钟组件输出。

还参考图9b,包含在时钟mux组件中的fsm可以包含以下状态。

第一状态b1是其中通过硬件执行时钟门控的状态。这是其中停止将时钟提供到子代时钟组件的(时钟mux组件的)亲代时钟组件和仍提供时钟信号的(时钟mux组件的)亲代时钟组件两者存在的状态。然而,在此状态中,不保证时钟mux组件的所有亲代时钟组件在运行。也就是说,由于不必要的亲代时钟组件的操作在此状态中停止,因此功率消耗可能最低。因此,时钟mux组件无法根据选择信号sel改变其选择。与时钟门控组件不同,即使在从子代时钟组件接收时钟请求信号时,时钟mux组件也可以保持最佳状态。

在第二状态b2中,时钟mux组件的所有亲代时钟组件被唤醒,因为时钟mux组件需要根据选择信号sel改变其选择。

第三状态b3是其中不执行通过硬件的时钟门控的状态。也就是说,唤醒的所有亲代时钟组件正将时钟信号提供到时钟mux组件。在此状态中,时钟mux组件可以根据选择信号sel改变其选择。

在第四状态b4中,在时钟mux组件根据选择信号sel改变其选择之后恢复通过硬件的时钟门控。因此,不需要时钟信号的亲代时钟组件的操作在第四状态b4中开始停止。也就是说,在第四状态b4中,时钟停止请求信号parent_clk_req传输到不需要时钟信号的亲代时钟组件。

在从不需要时钟信号的亲代时钟组件接收时钟确认信号parent_clk_ack之后,时钟mux组件返回到第一状态b1。图11至20中所说明的第五状态b5与第一状态b1相同。

参考图10,根据本发明概念的示例性实施例的包含在半导体装置中的时钟mux组件包含垫圈(例如,寄存器)、仲裁器(例如,仲裁电路)、mux转换器、适配器(例如,适配器电路)和时钟mux。垫圈、仲裁器、mux转换器和适配器使用参考时钟信号clk_rf执行信号传输和接收,并且适配器根据完全握手方法控制时钟mux。

垫圈可以通过s信道(s-ch)接收用于选择到时钟mux的输入的请求。请求可以包含多路复用器选择信号。在这种情况下,多路复用器选择信号可以通过在垫圈与仲裁器之间执行的四相同步完全握手进行编码并且传递到适配器。

同时,仲裁器还可以通过h信道(h-ch)接收用于选择到时钟mux的输入的请求。在这种情况下,仲裁器通过h信道(h-ch)根据四相异步完全双握手接收请求。四相异步完全双握手可以包含输入到仲裁器的锁定请求、释放请求、多路复用器选择信号;以及从仲裁器输出的确认。在这种情况下,多路复用器选择信号可以通过在仲裁器与mux转换器之间执行的四相同步完全握手进行编码并且传递到适配器。

适配器包含相对于图9a和9b描述的fsm,并且多路复用器选择信号可以通过在适配器与时钟mux之间执行的两相异步完全握手进行解码并且输入到时钟mux。

参考图11,时钟信号变化通过时钟mux组件在b3部分中出现。此处,如果在b1部分与b2部分之间子代的时钟请求信号处于低状态并且子代的时钟确认信号处于低状态,则当亲代的时钟确认信号变为高状态时,子代的时钟请求信号变为高状态。在图11中,传输到所有亲代的时钟请求信号在b2与b3部分之间变为高状态。然而,处于高状态的时钟请求信号还可以仅传输到前一亲代或下一亲代。图11说明四个亲代时钟请求parent_clk_req0、parent_clk_req1、parent_clk_req2和parent_clk_req3以示出能够接收四个不同时钟信号并且与提供这些时钟信号的四个不同亲代时钟组件通信的时钟mux单元的实例。然而,时钟mux单元的实施例不限于此,因为在替代实施例中可以支持更少或额外的亲代时钟组件。

参考图12,如果在b1部分与b2部分之间子代的时钟请求信号处于低状态并且子代的时钟确认信号处于低状态,则在亲代的时钟确认信号变为高状态之前,子代的时钟请求信号变为高状态。

参考图13,在b1部分与b2部分之间,子代的时钟请求信号处于高状态,并且子代的时钟确认信号处于低状态。

参考图14,在b1部分与b2部分之间,子代的时钟请求信号处于高状态,并且子代的时钟确认信号处于高状态。

参考图15,在b3部分与b4部分之间,子代的时钟请求信号处于低状态,子代的时钟确认信号处于低状态,并且子代的时钟请求信号保持低状态。

参考图16,在b3部分与b4部分之间,子代的时钟请求信号处于低状态,子代的时钟确认信号处于低状态并且子代的时钟请求信号从低状态切换到高状态。

参看图17,在b3部分与b4部分之间,子代的时钟请求信号处于低状态,子代的时钟确认信号处于高状态,并且子代的时钟请求信号保持低状态。

参考图18,在b3部分与b4部分之间,子代的时钟请求信号处于高状态,子代的时钟确认信号处于低状态,并且子代的时钟请求信号保持高状态。

参考图19,在b3部分与b4部分之间,子代的时钟请求信号处于高状态,子代的时钟确认信号处于高状态并且子代的时钟请求信号从高状态切换到低状态。

参考图20,在b3部分与b4部分之间,子代的时钟请求信号处于高状态,子代的时钟确认信号处于高状态,并且子代的时钟请求信号保持高状态。

图11至图20包含信号active_parent_clk_req和active_parent_clk_ack。

图21a说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟分频组件的实施方案。时钟组件120c或时钟组件120e可以通过图21a的时钟分频组件实施。图21b说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟分频组件的fsm。图22说明根据本发明概念的示例性实施例的包含在半导体装置中的时钟分频组件的结构。图23是说明根据本发明的实施例的包含在半导体装置中的时钟分频组件的行为的时序图。

参考图21a,根据本发明概念的实施例的包含在半导体装置中的时钟分频组件包含适配器adapter_clkgate(例如,逻辑门)、fsm和时钟分频电路sec_ap_rtl_clkdiv_skewless。适配器adapter_clkgate从子代时钟组件接收时钟请求信号child_clk_req并且将时钟请求信号parent_clk_req传输到亲代时钟组件。适配器adapter_clkgate还可以从fsm接收合并的时钟请求clkgate_clk_req,所述合并的时钟请求clkgate_clk_req是child_clk_req和额外时钟请求fsm_clk_req的合并。可以通过在child_clk_req和fsm_clk_req上执行或运算来产生合并的时钟请求clkgate_clk_req。fsm确定时钟分频比divratio并且将确定的时钟分频比divratio提供到适配器adapter_clkgate。fsm可以根据完全握手方法控制时钟分频电路。例如,adapter_clkgate(例如,一个或多个逻辑电路)可以将停止请求信号stopreq发送到时钟分频电路sec_ap_rtl_clkdiv_skewless。在实施例中,时钟分频电路sec_ap_rtl_clkdiv_skewless使用时钟分频比divratio对输入时钟信号clk_in执行分频操作,以在从fsm接收时钟分频比divratio之后产生输出时钟信号clk_out并且将确认信号提供到fsm。

还参考图21b,包含在时钟分频组件中的fsm可以包含以下状态。

第一状态c1是其中通过硬件执行时钟门控的状态。这是其中停止将时钟信号提供到子代时钟组件的(时钟分频组件的)亲代时钟组件和仍提供时钟信号的(时钟分频组件的)亲代时钟组件两者可以存在的状态。然而,在此状态中,不保证时钟分频组件的所有亲代时钟组件在运行。也就是说,由于不必要的亲代时钟组件的操作在此状态中停止,因此功率消耗可能最低。因此,时钟分频组件无法改变时钟分频比divratio。例如,在状态c1中,即使输入改变分频比的请求divchg_req,时钟分频组件也无法改变时钟分频比divratio。

在第二状态c2中,时钟分频组件的所有亲代时钟组件被唤醒,因为时钟分频组件需要改变时钟分频比divratio。可以通过将时钟请求clk_req输出到亲代时钟组件而引起亲代时钟组件的唤醒。

第三状态c3是其中不执行通过硬件的时钟门控的状态。也就是说,唤醒的所有亲代时钟组件正将时钟信号提供到时钟分频组件。在此状态中,时钟分频组件可以改变时钟分频比。例如,可以输出时钟分频比改变请求clkdiv_divchg_req以引起改变。在改变之后以及在接收输入synchronized_clkdiv_divchg_ack之后,输出改变的确认divchg_ack。

在第四状态c4中,在时钟分频组件改变时钟分频比之后恢复通过硬件的时钟门控。因此,不需要时钟信号的亲代时钟组件的操作开始停止。也就是说,在第四状态c4中,时钟停止请求信号parent_clk_req传输到不需要时钟信号的亲代时钟组件。

在从不需要时钟信号的亲代时钟组件接收时钟确认信号parent_clk_ack之后,时钟分频组件返回到第一状态c1。图23中说明的第五状态c5与第一状态c1相同。

参考图22,根据本发明的实施例的包含在半导体装置中的时钟分频组件包含垫圈、仲裁器和适配器。垫圈、仲裁器、和适配器使用参考时钟信号clk_rf执行信号传输和接收,并且适配器根据完全握手方法控制时钟分频器。

垫圈可以通过s信道(s-ch)接收用于改变时钟分频比的请求信号。请求可以包含作为分频比(divratio)信号的divratio。在这种情况下,请求信号可以通过在垫圈与仲裁器之间执行的同步完全握手进行编码并且传递到适配器。

同时,仲裁器还可以通过h信道(h-ch)接收用于改变时钟分频比的请求信号。在这种情况下,仲裁器通过h信道(h-ch)根据异步完全双握手接收请求信号。四相异步完全双握手可以包含输入到仲裁器的锁定请求、释放请求、分频比信号;以及从仲裁器输出的确认。在这种情况下,请求信号可以通过在仲裁器与适配器之间执行的同步完全握手进行编码并且传递到适配器。

适配器包含相对于图21a和21b描述的fsm,并且请求信号可以通过在适配器与时钟分频器之间执行的异步完全握手进行解码并且输入到时钟分频器。

参考图23,时钟分频比divratio的改变在c3部分中出现。时钟分频器响应于传输到时钟分频器的时钟分频比改变请求clkdiv_divchg_req而操作。图23包含信号adapter_clkdiv。

图24说明根据本发明概念的示例性实施例的包含在半导体装置中的pll控制器的实施方案。图25说明根据本发明的实施例的包含在半导体装置中的pll控制器电路的多路复用器merge_muxsel的结构。图26和27是说明根据本发明概念的示例性实施例的包含在半导体装置中的pll控制器的行为的时序图。

参考图24,根据本发明概念的示例性实施例的包含在半导体装置中的pll控制器包含适配器、多路复用器等。适配器用作传输请求信号和确认信号的控制电路。适配器可以在存在亲代时钟组件时将req/ack发送到亲代时钟组件以及从亲代时钟组件接收req/ack,同时适配器可以在不存在亲代时钟组件时绕过。图24包含信号oscclk和pll_fout,图24包含模块sec_ap_rtl_gfclkmux、adapter_clkmux和sec_ap_。

参考图25,多路复用器merge_muxsel根据完全握手方法与特殊功能寄存器(specialfunctionregister,sfr)和系统时钟振荡器(sysclk_osc)通信并且输出选择信号sel。图25包含信号sel_req0、sel_req1、sel_ack0和sel_ack1,图25包含模块sfri/f。

在图26和27中,提供说明pll控制器电路的操作的时序图。具体而言,图26是说明多路复用器merge_muxsel的操作的时序图,并且图27是说明trans_hch2ph的操作的时序图。图26包含信号muxsel_ack[1]、synchronized_muxsel_req[0]、synchronized_muxsel_req[1]、mux_sel、mux_status和mux_sel_sequential。图27包含信号muxsel_req0、muxsel_ack0、refclk、hch/data、hch/request_lock和hch/acknowledge。

图28说明根据本发明概念的示例性实施例的包含在半导体装置中的pll用户控制器的实施方案。

参考图28,pll用户控制器包含适配器、多路复用器等。适配器用作传输请求信号和确认信号的控制电路。适配器可以在存在亲代时钟组件时将req/ack发送到亲代时钟组件以及从亲代时钟组件接收req/ack,同时适配器可以在不存在亲代时钟组件时绕过。图28包含信号oscclk和pll_fout,图28包含模块sec_ap_rtl_gfclkmux、adapter_clkmux和sec_ap_。

图29说明根据本发明概念的示例性实施例的包含在半导体装置中的适配器组件的实施方案。

参考图29,适配器组件将多个请求信道合并成一个信道。适配器组件根据完全握手方法通信。适配器组件从子代接收时钟请求信号并且将时钟请求信号传输到亲代。另外,适配器组件从亲代接收时钟确认信号并且将时钟确认信号传输到子代。

在图29中,可以仅使用组合单元实施child_clk_req与parent_clk_req之间的路径。此路径可以用于最小化请求路径的循环时延。在图29中,可以仅使用组合单元实施parent_clk_ack与child_clk_ack之间的路径。此路径可以用于最小化确认路径的循环时延。在图29中,可以仅使用组合单元实施从child_clk_req到child_clk_ack的路径。此路径可以用于最小化请求至确认路径的循环时延。在图29中,可以仅使用组合单元实施从parent_clk_ack到parent_clk_req的路径。此路径可以用于最小化确认至请求路径的循环时延。上述四个路径中一些可以通过依序单元有意分离,以便防止组合环。

图30说明根据本发明概念的示例性实施例的包含在半导体装置中的滞后滤波器的结构。可以通过图30的滞后滤波器实施图24的适配器滞后滤波器adapter_hysteresisfilter。图31至33是说明根据本发明的实施例的包含在半导体装置中的滞后滤波器的行为的时序图。

参考图30,滞后滤波器包含在适配器中。参考图31至33,滞后滤波器产生使用计数器滤波的请求信号。图30包含信号child_clk_ack[c;0]、child_clk_req[c;0]、filter_req/ack、filtered_req、enable_filter和expire_value,图30包含模块adapter_null。图31包含信号expire_value、filtered_req、increase_counter和clear_counter。图32包含信号expire_value、filtered_req和increase_counter。图33包含信号expire_value和filtered_req。

图34是根据本发明概念的示例性实施例的在图1中说明的pmu300的实施例的框图。图35至图39是说明pmu150的时钟开/关操作的实例的时序图。

参考图34,pmu300可以根据完全握手方法通过cmu接口电路(cmui/f)151与cmu100通信。另外,pmu300可以进一步包含供电顺序管理电路152和扫描转储顺序管理电路153。

图35说明在启动顺序中pmu300的操作,图36说明在用于cmu100的w/保持的断电顺序中pmu300的操作,图37说明在用于cmu100的w/保持的通电顺序中pmu300的操作,图38说明在用于cmu100的w/o保持的断电顺序中pmu300的操作,并且图39说明在用于cmu100的w/o保持的通电顺序中pmu300的操作。

参考图35,在遵循启动顺序的通电状态下,pll操作。在pll的操作之后,必要时在用于最小化不必要的功率消耗的环境中执行根据各种实施例的通过硬件的时钟门控。图35包含信号refclk。

参考图36和图1,断电顺序如下。

首先,终止cmu100与ip块200至220之间的总线交互,并且停止通过cmu100提供时钟信号clk1至clk3。随后,通过将pll的使用切换到振荡器来停止pll的使用,并且cmu100获得对时钟源的控制,通过硬件的时钟门控尚未在所述时钟源上执行。在保持操作之后,停止振荡器。cmu100可以临时地产生用于保持操作的时钟信号。

参考图37,通电顺序如下。

首先,操作振荡器以执行保持操作。对于保持操作,cmu100可以临时地产生时钟信号。接下来,除去对时钟源的控制,通过硬件的时钟门控尚未在所述时钟源上执行,并且操作pll。随后,准备执行cmu100与ip块200至220之间的总线交互。因此,完成通电顺序。

参考图38,断电顺序如下。

首先,终止cmu100与ip块200至220之间的总线交互,并且停止通过cmu100提供时钟信号。接下来,通过从pll的使用切换到振荡器的使用来停止pll的使用,并且cmu100获得对时钟源的控制,通过硬件的时钟门控尚未在所述时钟源上执行。随后,停止振荡器。

参考图39,通电顺序如下。

首先,操作振荡器,去除对时钟源的控制,通过硬件的时钟门控尚未在所述时钟源上执行,并且操作pll。随后,准备执行cmu100与ip块200至220之间的总线交互。因此,完成通电顺序。图36至图39包含信号refclk和force_automatic_clkgating。

图40是根据本发明概念的示例性实施例的半导体装置的框图。

参考图40,半导体装置700包含中央处理单元(centralprocessingunit,cpu)710、时钟产生器720、cmu730、随机存取存储器(randomaccessmemory,ram)740、只读存储器(readonlymemory,rom)750和存储器控制单元760。振荡器osc可以提供于半导体装置700的外部以提供振荡信号。cmu730可以用图1的cmu100替换。然而,这仅仅是实施例,并且根据实施例的半导体装置700可以包含各种不同的其它功能块。另外,振荡器osc还可以包含在半导体装置700中。图40的半导体装置700可以包含在半导体系统中作为应用处理器。

时钟产生器720使用从振荡器osc产生的信号来产生具有基准频率的参考时钟信号clk_in。cmu730可以接收参考时钟信号clk_in、产生具有特定频率的操作时钟信号clk_out并且将操作时钟信号clk_out提供到每个功能块。cmu730可以包含一个或多个主时钟控制器和一个或多个从时钟控制器。时钟控制器中的每一个可以使用参考时钟信号clk_in产生操作时钟信号clk_out。

另外,由于包含在cmu730中的时钟控制器通过信道连接,因此可以在硬件方面执行时钟信号的管理。此外,由于包含在cmu730中的时钟控制器通过信道连接到功能块,因此可以在硬件方面执行时钟请求和确认。

cpu710可以处理或执行存储于ram740中的代码和/或数据。例如,cpu710可以响应于从cmu730输出的操作时钟信号而处理或执行代码和/或数据。cpu710可以实施为多核处理器。多核处理器是具有两个或多于两个独立且大量处理器的一个计算组件,并且处理器中的每一个可以读取和执行程序指令。由于多核处理器可以同时运行多个加速器,因此包含多核处理器的数据处理系统可以执行多加速。

ram740可以临时地存储程序代码、数据或指令。例如,存储于内部或外部存储器(未说明)中的程序代码和/或数据可以在cpu710的控制下或根据存储于rom750中的启动代码临时地存储于ram740中。存储器控制模块760是用于与内部或外部存储器连接的块。存储器控制模块760控制存储器的总体操作并且控制主机与存储器之间的数据交换。

尽管已参考本发明概念的示例性实施例具体示出和描述本发明概念,但是本领域普通技术人员将理解,在不脱离本发明概念的精神和范围的情况下可以在其中作出形式和细节上的各种变化。

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