用于集成電路的初始操作模式的制作方法
【專利摘要】本發(fā)明涉及用于集成電路的初始操作模式。一種集成電路(IC)及相關(guān)方法,支持使用前配置,用于為IC從多個操作模式中確定初始/優(yōu)選的操作模式,所述多個操作模式是在IC的加電周期之后可以進(jìn)入的操作模式。初始/優(yōu)選的操作模式能夠在IC的設(shè)計(jì)階段之后確定,使得在IC操作期間,通過首先要求在IC在缺省操作模式中加電以及隨后運(yùn)行執(zhí)行代碼以對IC進(jìn)行重新編程來進(jìn)入對由IC集成商/用戶使用的應(yīng)用來說優(yōu)選的操作模式,而不發(fā)生浪費(fèi)的功率或者延遲。配置確定用于內(nèi)核處理和/或外圍模塊的時鐘頻率和/或功率水平,以及允許相同IC設(shè)計(jì)/管芯被集成商/用戶定位至為一系列不同的電力使用/性能應(yīng)用。
【專利說明】
用于集成電路的初始操作模式
技術(shù)領(lǐng)域
[0001]本發(fā)明一般涉及集成電路(IC)加電(power-up)時的操作,以及更具體地,涉及預(yù)配置集成電路加電時要進(jìn)入的初始操作模式的方法。
【背景技術(shù)】
[0002]在便攜式的、電池供電的裝置(諸如筆記本電腦和移動電話)中使用不同的集成電路,例如,微控制器和片上系統(tǒng)(SoC)。任何電池供電裝置中一個重要的考慮是擴(kuò)展在電池需要再次充電之前能夠使用裝置的時間量。
[0003]許多技術(shù)用于對這些裝置內(nèi)的不同的子系統(tǒng)提供電力管理,以節(jié)省電池電力以及滿足能源之星(energy-star)要求。這些技術(shù)的大多數(shù)依賴于通過在硬件的處理子系統(tǒng)上執(zhí)行代碼來對各種子系統(tǒng)進(jìn)行一些監(jiān)控。例如,一些計(jì)算機(jī)系統(tǒng),諸如在美國專利N0.4,980,836 ( “ ' 836專利”)中所公開的,利用對各種外圍裝置(諸如軟盤驅(qū)動器和硬盤驅(qū)動器)進(jìn)行集中式的電力管理控制,以節(jié)省電池電力。
[0004]更具體地,在,836專利中所公開的系統(tǒng)中,監(jiān)控對各種外圍裝置(諸如軟盤驅(qū)動器和硬盤驅(qū)動器)的訪問。如果外圍裝置已經(jīng)未被訪問長達(dá)預(yù)定的時間量,則可以通過集中式的電力管理控制邏輯電路將外圍裝置和/或計(jì)算機(jī)系統(tǒng)設(shè)置在低功率狀態(tài)。
[0005]為了獲得低功率狀態(tài),可以降低系統(tǒng)時鐘頻率以減少裝置的功率消耗。通過停止系統(tǒng)時鐘,顯著地降低了功率消耗,特別是因?yàn)樵谶@些SoC中通常使用的COMS裝置在零頻率處使用極低功率。其他電力管理計(jì)劃可以利用降低電壓,或頻率與電壓管理計(jì)劃的細(xì)合來在低功率模式節(jié)省電力。
[0006]然而,在上述的情況中,在系統(tǒng)加電時與在外圍設(shè)備被設(shè)置成低功率狀態(tài)時之間,可能經(jīng)過大量時間。在這些時間期間,許多電力可能被不必要的損失了。
[0007]在其他的IC電力管理計(jì)劃中,以片上系統(tǒng)(SoC)或多芯片模塊(MCM)級別而不是系統(tǒng)級別管理電力。例如,美國專利N0.6,665,802公開一種非集中式的電力管理計(jì)劃,其中外圍設(shè)備自身控制它們自己的電力使用狀態(tài)(如,高或低)。
[0008]在美國專利N0.7,181,188中,公開了一種用于SoC在來自電力控制器的觸發(fā)之后進(jìn)入低功率模式的方法和裝置。
[0009]—些以高級時鐘和電力管理技術(shù)為特征的示例的IC包括在1.MX280多媒體應(yīng)用處理器系列中,由德克薩斯州的奧斯汀市的飛思卡爾半導(dǎo)體公司制造。該系列SoC的產(chǎn)品手冊可以從以下地址下載 http://cache, freescale.com/files/32bit/doc/data_sheet/IMX28CEC.pdf ?.pspll = 10
[0010]IC由一系列步驟開發(fā)而成。在頂層,通常利用諸如Verilog或VHDL的硬件描述語言設(shè)計(jì)1C。該語言通過硬件編譯器和仿真器運(yùn)行,以及之后最終設(shè)計(jì)階段以“流片(tape-out) ”結(jié)束,此時用于IC光掩模的原圖被送到晶片制造工廠。在流片之后,制造包括一個或多個IC的副本的晶片,該副本被認(rèn)為是半導(dǎo)體管芯。在晶片制造之后,進(jìn)行晶片測試,那時從晶片切下IC管芯,接著完成管芯的測試、配置和封裝。
[0011]對于一些1C,在設(shè)計(jì)階段期間,IC以特定的應(yīng)用(諸如遙感)為目標(biāo),其中電力非常重要。這種IC可以設(shè)計(jì)成在施加電力之后直接加電進(jìn)入低功率模式。這些IC可能不具有靈活性以在它們啟動之后運(yùn)行代碼來改變它們的操作模式。然而,即使它們能夠在啟動之后改變其操作模式,這些IC也將浪費(fèi)時間(和功率)來從低功率及通常較低性能的操作模式改變?yōu)闈撛诘仄谕妮^高性能的操作模式。
[0012]—些IC/SoC可以支撐許多種需要不同功率配置(power profile)的運(yùn)行時間(run-time)應(yīng)用,但是它們總是須在它們?nèi)笔〉募与娕渲?power-up profile)中執(zhí)行代碼之后達(dá)到這些不同的功率配置。例如,在移動電話中使用的SoC可以在缺省的操作模式中加電,檢查電池狀態(tài)以及將其操作模式調(diào)整為低低功率模式,在低功率模式中,例如,使主要的圖形顯示驅(qū)動器斷電。
[0013]不利地,這種SoC總是在將被編程進(jìn)入較低功率、高性能或其它優(yōu)選的狀態(tài)之前,首先經(jīng)過其缺省的操作模式,因此在正常的操作模式中以及在功率模式轉(zhuǎn)換本身中所花費(fèi)的時間中浪費(fèi)了能量。而且,當(dāng)優(yōu)選的模式是高性能的模式時,啟動至缺省模式的SoC在其能夠變換為高性能模式之前比設(shè)計(jì)為直接啟動至高性能模式的SoC將呈現(xiàn)更差的響應(yīng)性。SoC可以設(shè)計(jì)為在低功率狀態(tài)中運(yùn)行,例如,用于人造衛(wèi)星遙感系統(tǒng)的應(yīng)用,但是該相同的SoC可能永遠(yuǎn)不會用于高功率的應(yīng)用中。
[0014]因此,期望的是在使用用于各種功率/性能配置的相同的IC設(shè)計(jì)中的附加的靈活性,使得這樣一個IC設(shè)計(jì)可以用于不同的應(yīng)用中。
【附圖說明】
[0015]通過舉例示出本發(fā)明,并且本發(fā)明不受附圖所限制,在附圖中相似的附圖標(biāo)記指示相似的元件。為了簡明和清楚而示出了附圖中的元件,而不必按比例繪制附圖中的元件。例如,可以為了清楚而放大區(qū)域和層的厚度。
[0016]圖1是示出根據(jù)本發(fā)明的一個實(shí)施例的片上系統(tǒng)的框圖;
[0017]圖2是示出用于圖1的SoC的可能的初始操作模式的真值表;
[0018]圖3是示出根據(jù)本發(fā)明的另一個實(shí)施例的SoC的簡化的框圖;以及
[0019]圖4是示出圖3的SoC的一個可能操作的示例的流程圖。
【發(fā)明內(nèi)容】
[0020]本發(fā)明的一個方面公開了一種集成電路1C,包括:控制器模塊;和多個組件模塊,每個組件模塊能在多個不同的功率模式下操作,其中所述IC被設(shè)計(jì)為被選擇性地使用前配置成多個不同的能夠選擇的上電復(fù)位模式中的任何一個,所述上電復(fù)位模式包括:第一上電復(fù)位模式,對應(yīng)于所述多個組件模塊在第一組功率模式下操作;和第二上電復(fù)位模式,對應(yīng)于所述多個組件模塊在第二組功率模式下操作,所述第二組功率模式不同于所述笫一組功率模式,從而使得:如果以所述笫一上電復(fù)位模式對所述IC進(jìn)行使用前配置,則當(dāng)所述IC在所述使用前配置之后被加電時,所述控制器模塊使得所述組件模塊直接在所述笫一組功率模式下操作;以及如果以所述笫二上電復(fù)位模式對所述IC進(jìn)行使用前配置,則當(dāng)所述IC在所述使用前配置之后被加電時,所述控制器模塊使得所述組件模塊直接在所述笫二組功率模式下操作。
【具體實(shí)施方式】
[0021]文中公開了本發(fā)明的詳細(xì)的說明性的實(shí)施例。然而文中公開的具體的結(jié)構(gòu)和功能的細(xì)節(jié)僅僅是代表性的,用于描述本發(fā)明的示例的實(shí)施例的目的。本發(fā)明可以以許多替換的形式實(shí)現(xiàn),而不應(yīng)該被解釋為僅限于文中所闡述的實(shí)施例。而且,文中所用術(shù)語的目的僅僅是為了描述特定的實(shí)施例,而非用來限制本發(fā)明的示例的實(shí)施例。
[0022]如文中所用,單數(shù)形式“一”和“所述”旨在也包括復(fù)數(shù)形式,除非上下文中明確有相反的指明。應(yīng)當(dāng)進(jìn)一步理解的是,術(shù)語“組成”、“包含”、“包括”和/或“含有”指定存在所述的特征、步驟或組件,但并不排除一個或多個其他特征、步驟或組件的存在或增加。還應(yīng)該注意的是,在一些替換的實(shí)施方式中,所提到的功能/動作可以不以在圖中所示出的順序發(fā)生。例如,連續(xù)示出的兩個圖實(shí)際上可以基本上同時地執(zhí)行,或者有時可以以相反的順序執(zhí)行,這取決于所涉及的功能/動作。
[0023]圖1是示出根據(jù)本發(fā)明的一個實(shí)施例的片上系統(tǒng)100的簡化框圖。SoC 100包括處理內(nèi)核110和120、外圍模塊130和140、時鐘源模塊150、電源模塊160和模式控制/上電復(fù)位(MCPOR)模塊170。
[0024]在操作中,在將電力施加至SoC 100之后,并在SoC電路系統(tǒng)的主體從復(fù)位移出之前(即,當(dāng)內(nèi)核110和120以及外圍設(shè)備130和140仍處在復(fù)位時),MCPOR模塊170提供時鐘源控制信號172至?xí)r鐘源模塊150以及提供電源控制信號174至電源模塊160。
[0025]MCPOR模塊170根據(jù)SoC 100的配置生成時鐘源控制信號172以及電源控制信號174,其中在制造時執(zhí)行SoC 100的配置(如,在流片之后,有可能在線接合、封裝、測試時,或就在將SoC 100運(yùn)送到組裝商或集成商之前),或者由集成商在將SoC 100集成到模塊、印刷電路板或產(chǎn)品時執(zhí)行對SoC 100的配置。
[0026]可以通過以下方式實(shí)現(xiàn)該“使用前”配置:通過熔斷SoC 100的電路系統(tǒng)中的一個或多個熔絲或SoC 100的電路系統(tǒng)中的一個或多個反熔絲(如,利用可編程邏輯器件編程器件或者利用可編程陣列邏輯編程器件,文中一般稱為邏輯編程器件),通過在封裝期間將SoC 100的某些輸入接合至電力或接地面,通過在電路板組裝期間或在系統(tǒng)集成或現(xiàn)場使用期間將SoC 100某些引線接線至電力/接地面(如,通過設(shè)置DIP開關(guān)),或者通過將MCPOR模塊170內(nèi)的非易失性存儲器或寄存器預(yù)加載以與SoC 100的期望的使用前配置相對應(yīng)的位模式,其中可以在芯片的加電期間讀取非易失性配置存儲器,以允許MCPOR模塊170確定SoC 100在全局的上電復(fù)位解除斷言(de-assert1n)之后將進(jìn)入的初始操作狀
??τ O
[0027]根據(jù)時鐘源控制信號172,時鐘源模塊150可以為每一個處理內(nèi)核模塊110和120以及每一個外圍模塊130和140選擇獨(dú)立的時鐘源(如,每個具有可能的不同的頻率或占空比或選通功能)。通過這種方式,MCPOR模塊170的使用前配置可以用于為每一個內(nèi)核/外圍模塊110、120、130和140選擇零頻率、低頻率、中頻率、高頻率的時鐘,在選擇與SoC100的初始操作模式相關(guān)的電力使用中提供了靈活性。
[0028]根據(jù)電源控制信號174,電源模塊160可以為每一個處理內(nèi)核模塊110和120以及每一個外圍模塊130和140選擇獨(dú)立的電源(如,每個具有可能的不同的電壓和電流特性)。通過這種方式,MCPOR模塊170的使用前配置可以用于為每一個內(nèi)核/外圍模塊選擇不同的電源,在選擇與SoC 100的初始操作模式相關(guān)的電力使用中提供了靈活性。
[0029]MCPOR模塊170也可以通過命令/控制線(未示出)將其他命令直接傳送至內(nèi)核/外圍模塊110、120、130和140,這可以影響這些模塊將要汲取的電力的量。例如,MCPOR模塊170可在外圍模塊130移出上電復(fù)位之前,將“休眠直到中斷”的命令傳送至外圍模塊130。否則,如果外圍模塊130是,例如,以太網(wǎng)控制器接口,那么,在SoC 100加電時的時間,以及在加載實(shí)時操作系統(tǒng)并且實(shí)時操作系統(tǒng)有時間來甚至響應(yīng)來自以太網(wǎng)控制器的通信請求和/或決定在給定的SoC 100的使用情景下以太網(wǎng)控制器應(yīng)該被通知休眠還是被通知完全地關(guān)閉時的時間之間,外圍模塊130將汲取許多電力。
[0030]在另一個例子中,內(nèi)核110可以是SoC的處理元件,被設(shè)計(jì)成運(yùn)行產(chǎn)品(如,移動電話)的關(guān)鍵的“快速開機(jī)(quick-on)”用戶界面功能。在此情景中,SoC10的使用前配置可以設(shè)置成使得MCPOR模塊170為SoC 100選擇初始操作模式,該操作模式超頻內(nèi)核110,同時降頻內(nèi)核120,使得平衡地,SoC 100耗費(fèi)平均的電力總量,并且從終端用戶視角來看,仍具有響應(yīng)非常迅捷的啟動和響應(yīng)度特征,以允許終端用戶訪問高優(yōu)先級特征,例如移動電話的諸如時鐘、電力剩余、時間特征。這種使用前配置能夠通過產(chǎn)品制造商、產(chǎn)品分銷商或者甚至終端用戶來設(shè)置。
[0031]為了簡化,通常在這種類型的SoC中所常見的其他控制和數(shù)據(jù)信號、數(shù)據(jù)和代碼總線和其他互連的電路系統(tǒng)已經(jīng)從圖1的框圖中去掉了。
[0032]盡管在圖1的框圖中以分離元件示出了內(nèi)核110和120、外圍設(shè)備130和140、時鐘源150、電源160以及MCPOR模塊170的功能,但在各種其他實(shí)施例中,這些功能可以以適合于SoC 100的目的的方式而被不同地分配或組合。
[0033]例如,在一些實(shí)施例中,內(nèi)核110和120或外圍設(shè)備130和140中的一個或多個可以具有它們自己的時鐘生成或電壓調(diào)節(jié)電路系統(tǒng),并且每一個可以獨(dú)立地確定它的初始操作模式,只要按照本發(fā)明,根據(jù)用于SoC 100的使用前配置確定初始操作模式即可。在一些情況中,該使用前配置自身可以被分配以及獨(dú)立地被應(yīng)用于每個模塊或模塊的子集。
[0034]圖2是示出根據(jù)本發(fā)明的一個實(shí)施例,根據(jù)兩個使用前配置位PUC-O和PUC-1的值的用于圖1的SoC 100的可能的初始操作模式的真值表。
[0035]行210詳述了對應(yīng)于使用前配置值{PUC-0,PUC_1}等于{0,0}的SoC 100的初始操作模式。對于這些使用前配置值,每次SoC 100移出上電復(fù)位(如,首次加電,和如果沒有在操作期間修改使用前配置位或沒有經(jīng)過外部改變修改使用前配置位則在隨后的每次加電時),內(nèi)核110和120將加電,每個都以低頻時鐘運(yùn)行,以及外圍設(shè)備130和140兩者將加電,從低壓電源運(yùn)行。在加電之后,SoC 100將在該初始操作模式中運(yùn)行直到由固件/操作系統(tǒng)(OS)改變操作模式,所述固件/操作系統(tǒng)(OS)最終在SoC 100上啟動,以及可能地基于用戶、系統(tǒng)或外部輸入改變操作模式。
[0036]在操作系統(tǒng)控制SoC 100之后,操作系統(tǒng)可以將SoC 100的一個或多個模塊置為關(guān)閉或休眠模式,有可能關(guān)閉一個或多個內(nèi)核以及將SoC 100置為非操作模式,其可以只通過收到例如中斷、多個看門狗復(fù)位中的一個、或上電復(fù)位才能退出。假設(shè)基于使用前配置的沒有出現(xiàn)初始操作模式選擇邏輯的超馳(override),則在這種中斷或復(fù)位之后,SoC 100將再次進(jìn)入由行210定義的并且與使用前配置的設(shè)置對應(yīng)的初始操作模式。
[0037]在示例性的真值表200的行中所詳述的初始操作模式中,由行210詳述的初始操作模式對應(yīng)于最低功率操作模式。SoC集成商可以選擇將{0,0}編程至電力使用配置寄存器位{PUC-0,PUC-1}中,以便在例如平板或移動電話應(yīng)用中的操作中最小化SoC 100對電力的汲取。SoC 100的操作模式有時可以由終端用戶改變,或者其可以結(jié)束,在大多數(shù)時間(如果不是總是)SoC 100 (可在SoC芯片工廠中或在集成期間通過設(shè)置與真值表200的行210對應(yīng)的PUC位來設(shè)置SoC 100的使用前配置)在它的初始操作模式中運(yùn)行,使初始操作模式對SoC 100而言為通常的或優(yōu)選的操作模式。
[0038]在根據(jù)使用前配置在加電后進(jìn)入的初始操作模式在之后沒有被超馳的實(shí)施例中,SoC 100的初始操作模式也將是主要的操作模式。
[0039]行220詳述了對應(yīng)于使用前配置值{PUC-0,PUC_1}等于{0,1}的SoC 100的初始操作模式。對于這些使用前配置值,每次SoC 100移出上電復(fù)位,SoC 100將加電進(jìn)入初始操作模式,其中內(nèi)核110以低頻時鐘運(yùn)行,內(nèi)核120以正常頻率時鐘運(yùn)行而外圍設(shè)備130和140將分別以低壓電源和高壓電源加電運(yùn)行。
[0040]行230詳述了對應(yīng)于使用前配置值{PUC-0,PUC-1}等于{1,0}的SoC 100的初始操作模式。對于這些使用前配置值,每次SoC 100移出上電復(fù)位,SoC 100將加電進(jìn)入初始操作模式,其中內(nèi)核110以正常頻率時鐘運(yùn)行,內(nèi)核120以低頻時鐘運(yùn)行,而外圍設(shè)備130和140將分別以高壓電源和低壓電源加電運(yùn)行。
[0041]行240詳述了對應(yīng)于使用前配置值{PUC-0,PUC-1}等于{1,1}的SoC 100的初始操作模式。對于這些使用前配置值,每次SoC 100移出上電復(fù)位,SoC 100將加電進(jìn)入初始操作模式,其中內(nèi)核110和120將分別以高頻和正常頻率時鐘操作,而外圍設(shè)備130和140將以高壓電源加電運(yùn)行。
[0042]圖3是示出根據(jù)本發(fā)明的實(shí)施例的SoC 300的簡化框圖。類似地來標(biāo)記圖3中與圖1的SoC 100中的元件相似的元件。圖3突出顯示與MCPOR模塊370連接的兩個外部連接315和325,該連接分別對應(yīng)于使用前控制輸入/寄存器位PUC-O和PUC-1。
[0043]在該實(shí)施例中,對應(yīng)于圖2的真值表200的PUC-O的輸入315連接到PWR(邏輯“ I”),而對應(yīng)于圖2的真值表200的PUC-1的輸入325連接到GND (邏輯“O”)。該使用前配置可以在將SoC 300集成到產(chǎn)品(諸如筆記本電腦,移動電話,便攜式音樂播放器或?qū)Ш絻x)時已經(jīng)固定(如,通過硬件引線或DIP開關(guān)設(shè)置)。
[0044]該使用前配置{PUC-0,PUC_1} == {1,0}對應(yīng)于圖2中的行230。在這種情況中,如圖3中所示出的,內(nèi)核310將接收正常頻率時鐘335,而內(nèi)核320將接收低頻時鐘345,并且外圍設(shè)備330將接收高電壓電源355,而外圍設(shè)備340將接收低電壓電源365。
[0045]在將多個時鐘和多個電壓共同直接地提供至每一個內(nèi)核和外圍模塊的可替換的實(shí)施例中,時鐘信號線335和345以及電壓線355和365可以分別由時鐘選擇和電壓選擇控制信號替代,這些信號告知每個模塊在對它們可用的各種頻率和電壓中使用哪個時鐘和哪個電壓。如之前所提到的,在一些實(shí)施例中,一些模塊可以能夠生成它們自己的時鐘和電壓,于是控制線用于控制這些電壓和頻率的選擇。
[0046]在操作中,在將電力施加至SoC 300之后,以及在SoC電路系統(tǒng)的大部分移出復(fù)位之前(即,當(dāng)內(nèi)核310和320以及外圍設(shè)備330和340仍在復(fù)位時),MCPOR模塊370施加輸入315和325至解碼器邏輯,解碼器邏輯利用這些輸入生成時鐘源控制信號372和電源控制信號374??蛇x或附加的是,輸入315和325可以用于初始化NVM配置,NVM配置在隨后的電力周期上被用作用于SoC的使用前配置,并且被解耦接(decouple)以免受外部輸入315和325的進(jìn)一步影響。
[0047]在任一情況中,時鐘源控制信號372之后由時鐘源模塊350使用,以確定發(fā)送至內(nèi)核310的時鐘信號335的頻率以及發(fā)送至內(nèi)核320的時鐘信號345的頻率。另外,電源控制信號374由電源模塊360使用以確定發(fā)送至外圍設(shè)備330的電壓電平355和發(fā)送至外圍設(shè)備340的電壓電平365。
[0048]注意的是,在這個實(shí)施例中,用于外圍設(shè)備330和340的時鐘頻率以及用于內(nèi)核310和320的電壓電平不是由使用前配置指定的,因此在SoC 300的加電期間被設(shè)置成正常的缺省值。盡管這些特定的時鐘頻率和電壓電平不是由使用前配置指定,而假設(shè)由缺省值開始,但在一些實(shí)施例中,附加地,它們可以是能夠稍后地在SoC 300已經(jīng)啟動之后在操作系統(tǒng)的控制下由SoC 300編程的。
[0049]在本發(fā)明的一些實(shí)施例中,圖1和3中的時鐘源電路系統(tǒng)150/350可以被包含作為電源電路系統(tǒng)160/360中的一部分,反之亦然,或者被分配至內(nèi)核和/或外圍模塊110/310、120/320、130/330 和 / 或 140/340 中的一個或多個。
[0050]在各種實(shí)施例中,時鐘源模塊150/350、電源模塊160/360、MCP0R模塊170/370、內(nèi)核模塊110/310和120/320以及外圍模塊130/330和140/340可以包括不同類型的電流消耗電路系統(tǒng),所述電流消耗電路系統(tǒng)包括電壓調(diào)節(jié)器、電流源、帶隙調(diào)節(jié)器、電荷栗、模擬至數(shù)字轉(zhuǎn)換器、數(shù)字至模擬轉(zhuǎn)換器、射頻電路、放大器電路系統(tǒng)、鎖相環(huán)以及其他模擬或混合信號電路系統(tǒng)。
[0051]圖4是描述圖3的SoC 300的操作的一個可能的例子的流程圖400。
[0052]流程始于步驟405。在步驟410中,用于SoC 300的第一操作模式被寫入MCP0R370內(nèi)的使用前配置非易失性存儲器(NVM)(未示出)。例如,參考圖2中真值表200,NVM可以被寫入值{1,0},對應(yīng)于{PUC-0, PUC-1}等于{1,0}以及與真值表200的行230相關(guān)聯(lián)。
[0053]注意“第一”操作模式并不必對應(yīng)于真值表200中所指定的第一操作模式,而是集成商已經(jīng)為目標(biāo)產(chǎn)品應(yīng)用中的SoC 300選擇的初始操作模式。相比能夠?yàn)镾oC 300選擇的第二或第三操作模式來說,平均起來,該第一操作模式可以使用更多或更少的電力,或提供更高或更低的基準(zhǔn)(benchmark)處理能力。
[0054]在圖4的實(shí)施例中,構(gòu)思在SoC300內(nèi)的NVM內(nèi)的位置寫入使用前配置,其能夠通過芯片編程步驟寫入,類似于EPROM燒入(burn)步驟或邊界掃描測試程序,由SoC 300外部發(fā)起。在其他實(shí)施例中,可以通過模塊或電路板上的雙列直插封裝開關(guān)(dip switch)來設(shè)置使用前配置,或可以通過其他裝置諸如SoC引線接合高或低來設(shè)置使用前配置,或可以引線連接至封裝外部至合適的邏輯電壓電平來設(shè)置使用前配置。
[0055]注意,在該例子中使用的第一操作模式與在參考圖3所描述的本發(fā)明的示例性實(shí)施例中使用的初始操作模式是相同的。
[0056]在步驟415中,執(zhí)行測試以確定電力是否已經(jīng)施加到SoC 300。如果剛剛已經(jīng)施加了電力,那么假設(shè)除了 MCPOR模塊370以外全部電路系統(tǒng)都被保持在重置中,直到MCPOR模塊370已經(jīng)首次有了向SoC300應(yīng)用配置的機(jī)會的時候。
[0057]在步驟420中,由MCPOR模塊370從使用前配置NVM中讀取與首次選擇的操作模式對應(yīng)的使用前配置,以及在步驟425中,讀取的值用于為SoC 300的內(nèi)核310和320以及外圍設(shè)備330和340分別設(shè)置時鐘頻率和電壓電平。
[0058]在步驟430中,內(nèi)核310和320以及外圍設(shè)備330和340從復(fù)位移出,以及SoC 300進(jìn)入笫一操作模式。如之前所提到的,因?yàn)樵摰谝徊僮髂J脚c圖3中本發(fā)明的實(shí)施例中所使用初始操作模式相同,因此驅(qū)動至內(nèi)核310和320的時鐘的頻率以及驅(qū)動至外圍設(shè)備330和340的電壓將分別與圖3中的例子相對應(yīng),并且為了避免重復(fù),這里將不會進(jìn)一步描述它們。
[0059]在步驟435中,SoC 300將以第一操作模式執(zhí)行啟動代碼并可能執(zhí)行操作系統(tǒng)加載器執(zhí)行程序(loader executive),以及開始正常操作。注意,在這個步驟中或就在該步驟之前(如,在步驟430中甚至在某種程度上在步驟425中),MCPOR 170/370中的在SoC300的運(yùn)行時操作期間不再需要的部分可以被選擇性地關(guān)閉以節(jié)約電力。
[0060]在步驟440中,SoC 300在第一操作模式中繼續(xù)操作(如,穩(wěn)定狀態(tài))。
[0061]在步驟445中,在以第一操作模式運(yùn)行的過程期間,SoC 300可能遇到硬件復(fù)位、電力損失或重啟中斷。如果遇到,則流程返回至步驟415,在步驟415執(zhí)行對電力的測試,以及重復(fù)先前描述的用于讀取使用前配置并進(jìn)入笫一操作模式的步驟420、425、430、435和440。
[0062]如果SoC 300沒有遇到復(fù)位或電力損失,則SoC 300將繼續(xù)在第一操作模式中執(zhí)行,直到SoC 300遇到如步驟450中發(fā)生的操作模式的軟件發(fā)起的(software-1nitiated)改變,在這里操作模式從笫一操作模式改變?yōu)榈谌僮髂J健?br>[0063]在多種實(shí)施例中,由于第三操作模式處于軟件控制下,該操作模式可能會或也可能不會被限制為圖2中真值表200指定的操作模式中的一個。例如,這種模式可以將至SoC300的內(nèi)核320的時鐘345關(guān)斷,并將至內(nèi)核310的時鐘335改變至低頻率。替代地或附加地,該模式可以通過將外圍設(shè)備330的電壓降低至低于在第一操作模式中使用的低壓而使外圍設(shè)備330處于超低功耗(extra-low-power)狀態(tài)。在圖4的例子中,假設(shè)第三操作模式不同于第一操作模式。
[0064]在步驟455中,在以第三操作模式運(yùn)行的過程期間,SoC 300可能遇到硬件復(fù)位、電力損失或重啟中斷。如果遇到,則流程再次返回至步驟415,在步驟415執(zhí)行對電力的測試,以及重復(fù)先前描述的用于讀取使用前配置和進(jìn)入第一操作模式的步驟420、425、430、435和440。注意,在該情況下,即使軟件已經(jīng)超馳了第一次施加電力后進(jìn)入的第一操作模式,以及當(dāng)前操作模式是笫三操作模式,在復(fù)位之后,SoC 300也將再次加電進(jìn)入笫一操作模式。
[0065]在步驟450中軟件將SoC 300置入笫三操作模式以及在第三操作模式中運(yùn)行一段時間之后,如果在步驟455中SoC 300沒有遇到復(fù)位或電力損失,則在步驟460中,第二(即不同于第一和第三)操作模式被軟件寫入使用前配置NVM,由此超馳由系統(tǒng)集成商設(shè)置的配置。可以是這樣的:執(zhí)行用于覆寫該使用前配置的操作的權(quán)利可以被保留給SoC上運(yùn)行的非常高的特權(quán)級別的處理,或者該權(quán)利對應(yīng)于僅能夠?qū)τ谝呀?jīng)“越獄(jail-broken) ”的OS執(zhí)行的操作。
[0066]即使在NVM中使用前配置已經(jīng)改變,在步驟465中,SoC 300將繼續(xù)在第三操作模式中運(yùn)行,除非步驟470的測試確定復(fù)位或電力損失已經(jīng)發(fā)生。如果步驟470的檢測為假,則SoC 300將繼續(xù)在第三操作模式下操作。如果步驟470的檢測為真,則下一個步驟將是步驟475的檢測,其確定電力是否已經(jīng)恢復(fù)(至少對于MCPOR模塊370)。如果已經(jīng)恢復(fù),則在步驟480中,將讀取在步驟460中被寫至使用前配置NVM的新寫入的配置值(即第二操作模式)。在步驟485中,MCPOR模塊370將使用這些值以確定分別用于內(nèi)核310/320和外圍設(shè)備330/340的新的時鐘頻率和電壓電平。在步驟490中,SoC 300的內(nèi)核和外圍模塊310、320、330和340移出復(fù)位,SoC 300開始第二操作模式。由于步驟480、485、490和495在由步驟470和475的組合確定的上電復(fù)位或硬件復(fù)位之后,因此,在步驟495中,SoC 300將再次執(zhí)行其啟動和OS加載器功能。
[0067]注意,圖4中的流程圖400代表示出本發(fā)明的SoC 100/300的操作中某個可能出現(xiàn)的情況的一個示例性的流程。然而,該流程不應(yīng)該被認(rèn)為是限制各種可能的模式或事件的順序。
[0068]例如,在一些實(shí)施例中,SoC 100/300在第一操作模式中運(yùn)行足夠長來執(zhí)行用于將自身編程進(jìn)入新的操作模式的代碼,SoC 100/300就可以立即將其自身編程進(jìn)入不同于第一操作模式的該新的操作模式。另外,在步驟455的檢測之后的在步驟460中的使用前配置NVM的覆寫僅僅是說明性的例子,而不是必須的順序。
[0069]附加地,在一些實(shí)施例中,在寫入使用前配置NVM之后,操作系統(tǒng)可以迫使SoC100/300進(jìn)入硬件復(fù)位以開始新的操作模式。替代的,對使用前配置NVM的寫入可以引發(fā)硬件復(fù)位或其他的低級別復(fù)位。
[0070]權(quán)利要求中使用的“控制器模塊”應(yīng)該被理解為在范圍上包含如在說明書中描述的MCP0R170/370,以及更一般的能夠執(zhí)行MCPOR的操作和使用諸如超低功率、電池供電、“總是接通(always-on) ”操作的相關(guān)技術(shù)的任何上電控制器。
[0071]在權(quán)利要求中,術(shù)語“組件模塊”應(yīng)該被理解為在范圍上包括但不限于:如上所定義的控制器模塊,以及內(nèi)核110/310和120/320、外圍模塊130/330和140/340、時鐘和電源模塊 150/350 和 160/360。
[0072]在權(quán)利要求中,術(shù)語“上電復(fù)位模式”應(yīng)該被理解為在范圍上包括但不限于:在上電復(fù)位的解除斷言之后就進(jìn)入的裝置的操作模式,其中上電復(fù)位的解除斷言被理解為通常在將電力施加至IC之后,或因?yàn)橛捎谥袛唷㈠e誤或編程步驟而導(dǎo)致的硬件復(fù)位而發(fā)生。
[0073]在下面的權(quán)利要求中,IC的“使用前配置”理解為包括在包含該IC的晶片的制造的時期之后的任何時間點(diǎn)處的該IC的配置。
[0074]在權(quán)利要求中,術(shù)語“熔絲”理解為包括熔絲和反熔絲,其各種變形在本領(lǐng)域中是已知的。
[0075]盡管已經(jīng)在SoC的上下文中描述了發(fā)明,但該發(fā)明還可以以其他類型的集成電路和計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)。
[0076]本領(lǐng)域技術(shù)人員將理解,其他可能的順序和情況對也在本發(fā)明的范圍內(nèi)。
[0077]除非另外說明,諸如“第一”、“第二”和“第三”的術(shù)語用來任意地在此類術(shù)語所描述的要素之間進(jìn)行區(qū)分。因此,這些術(shù)語并不必然意圖指示這些要素的時間上或其它的優(yōu)先次序,并且不應(yīng)解釋為必然參考說明書的實(shí)施例中類似編號的要素。此外,在權(quán)利要求中的引語例如“至少一個”和“一個或多個”的使用不應(yīng)被解釋為暗指由不定冠詞“一”(“a”or “an”)引入的其他權(quán)利要求要素將包含該引入的權(quán)利要求要素的任何特定權(quán)利要求限制為僅僅包含一個這種要素的發(fā)明,即使當(dāng)同一權(quán)利要求包含引語“一個或多個”或者“至少一個”以及不定冠詞例如“一”時也是如此?!八觥?定冠詞)的使用也是如此。
[0078]盡管在文中參考具體實(shí)施例描述了本發(fā)明,但是能夠做出各種修改和改變而不脫離如下面權(quán)利要求中闡述的本發(fā)明的范圍。因而,說明書和附圖應(yīng)被認(rèn)為是示例性的而非限制性的意思,并意圖將所有的這些修改包含在本發(fā)明的范圍內(nèi)。在文中就有關(guān)具體實(shí)施例描述的所有利益、優(yōu)點(diǎn)或問題的解決方案不應(yīng)解釋為任何或所有權(quán)利要求的關(guān)鍵的、必須的或?qū)嵸|(zhì)性的特征或要素。
【主權(quán)項(xiàng)】
1.一種集成電路1C,包括: 控制器模塊;和 多個組件模塊,每個組件模塊能在多個不同的功率模式下操作,其中所述IC被設(shè)計(jì)為被選擇性地使用前配置成多個不同的能夠選擇的上電復(fù)位模式中的任何一個,所述上電復(fù)位模式包括: 第一上電復(fù)位模式,對應(yīng)于所述多個組件模塊在第一組功率模式下操作;和 第二上電復(fù)位模式,對應(yīng)于所述多個組件模塊在第二組功率模式下操作,所述第二組功率模式不同于所述第一組功率模式,從而使得: 如果以所述第一上電復(fù)位模式對所述IC進(jìn)行使用前配置,則當(dāng)所述IC在所述使用前配置之后被加電時,所述控制器模塊使得所述組件模塊直接在所述第一組功率模式下操作;以及 如果以所述第二上電復(fù)位模式對所述IC進(jìn)行使用前配置,則當(dāng)所述IC在所述使用前配置之后被加電時,所述控制器模塊使得所述組件模塊直接在所述第二組功率模式下操作。2.根據(jù)權(quán)利要求1所述的1C,所述IC在被使用前配置為具有所選擇的上電復(fù)位模式之后,其中,在加電被使用前配置的IC之后,所述IC能夠被編程以將所選擇的使用前配置的上電復(fù)位模式改為第三上電復(fù)位模式,所述第三上電復(fù)位模式對應(yīng)于所述多個組件模塊在所述第三組功率模式下操作,使得在所述IC的隨后上電復(fù)位時,所述控制器使得所述組件模塊在第三組功率模式下操作。3.根據(jù)權(quán)利要求1所述的1C,其中如果以上電復(fù)位模式對所述IC進(jìn)行使用前配置,則當(dāng)所述IC在使用前配置之后被加電時,所述IC將隨后選擇性地關(guān)閉所述控制器模塊的部分以節(jié)省功率。4.根據(jù)權(quán)利要求1所述的1C,其中,在所述IC的每次上電復(fù)位時,所述IC在所述使用前配置的所選擇的上電復(fù)位模式下啟動,直到通過對所述IC進(jìn)行編程改變了所述使用前配置的所選擇的上電復(fù)位模式。5.根據(jù)權(quán)利要求1所述的1C,其中: 所述第一組功率模式包括用于所述多個組件模塊的第一組電壓電平和時鐘特性;以及 所述第二組功率模式包括用于所述多個組件模塊的第二組電壓電平和時鐘特性,其中所述第二組功率模式的電壓電平和時鐘特性中的至少一個不同于所述第一組功率模式的對應(yīng)的電壓電平和對應(yīng)的時鐘特性中的至少一個。6.根據(jù)權(quán)利要求5所述的1C,其中所述時鐘特性包括時鐘頻率和時鐘選通中的至少一個。7.根據(jù)權(quán)利要求1所述的1C,其中所述IC是能夠通過選擇性地配置所述IC內(nèi)的硬件而被使用前配置的。8.根據(jù)權(quán)利要求1所述的1C,其中所述IC是能夠通過在選擇性地?zé)鯥C內(nèi)的一個或多個熔絲而被使用前配置的。9.根據(jù)權(quán)利要求1所述的1C,其中所述IC是能夠通過選擇性地配置所述IC的非易失性存儲器而被使用前配置的。10.根據(jù)權(quán)利要求1所述的1C,其中所述IC是能夠通過選擇性地對至所述IC外部引 線進(jìn)行配置而被使用前配置的。
【文檔編號】G06F1/26GK105988548SQ201510143902
【公開日】2016年10月5日
【申請日】2015年2月5日
【發(fā)明人】顧聞, 崔璟, 章沙雁
【申請人】飛思卡爾半導(dǎo)體公司