技術(shù)領(lǐng)域
發(fā)明構(gòu)思涉及一種芯片上系統(tǒng)(SoC),尤其涉及一種包括時鐘管理單元的SoC和/或操作SoC的方法。
背景技術(shù):
芯片上系統(tǒng)(SoC)是用于將復(fù)雜的多功能系統(tǒng)集成到單個芯片中的半導(dǎo)體技術(shù)。SoC中提供的知識產(chǎn)權(quán)(在下文中,稱為IP)可以設(shè)計為通過系統(tǒng)總線有效地彼此連接。
關(guān)于SoC,可以將時鐘信號提供給包括IP的各種功能塊,時鐘信號的輸出可以基于SoC的操作狀態(tài)根據(jù)門控操作來控制。例如,互連系統(tǒng)可以形成為包括各種功能塊(例如,IP、異步橋、多路轉(zhuǎn)換器等)。SoC可以包括管理提供給互連系統(tǒng)的時鐘信號的時鐘管理單元。由于時鐘信號涉及互連系統(tǒng)的整體性能(包括SoC的速度和功耗),所以時鐘信號的管理需要有效的時鐘門控(clock gating)。
技術(shù)實現(xiàn)要素:
至少一個實施例涉及時鐘管理電路。
在一個實施例中,時鐘管理電路包括:第一主時鐘控制器,被配置為基于接收的第一時鐘請求,將第一命令經(jīng)由第一通道提供給第一從時鐘控制器。時鐘管理電路還包括:第一從時鐘控制器,被配置為基于第一命令來控制輸出第一時鐘信號。
至少一個實施例涉及芯片上系統(tǒng)。
在一個實施例中,芯片上系統(tǒng)包括:至少第一和第二硬件組件;以及時鐘管理電路,被配置為控制分別將第一時鐘和第二時鐘供應(yīng)至第一硬件組件和第二硬件組件。時鐘管理電路包括第一從時鐘控制器和第一主時鐘控制器。第一主時鐘控制器被配置為控制第一從時鐘控制器的操作并且被配置為控制供應(yīng)第一時鐘。第一從時鐘控制器被配置為控制供應(yīng)第二時鐘。
至少一個實施例涉及一種時鐘管理的方法。
在一個實施例中,該方法包括:接收時鐘請求;基于接收的第一時鐘請求將第一命令經(jīng)由第一通道發(fā)送到第一從時鐘控制器,第一從時鐘控制器被配置為基于第一命令來控制輸出第一時鐘;從第一從時鐘控制器接收表示第一時鐘的輸出的確認(rèn);以及基于確認(rèn)供應(yīng)第二時鐘。
附圖說明
發(fā)明構(gòu)思的示例實施例將通過下面結(jié)合附圖進行的詳細描述而變得更容易理解,在附圖中:
圖1是根據(jù)發(fā)明構(gòu)思的示例實施例的芯片上系統(tǒng)(SoC)的框圖;
圖2是圖1的時鐘管理單元的框圖;
圖3A和圖3B是根據(jù)發(fā)明構(gòu)思的示例實施例的SoC的框圖;
圖4是根據(jù)發(fā)明構(gòu)思的示例實施例的圖3的主時鐘控制器和從時鐘控制器的框圖;
圖5是根據(jù)發(fā)明構(gòu)思的示例實施例用于描述圖4的時鐘管理單元的操作的波形圖;
圖6是根據(jù)發(fā)明構(gòu)思的示例實施例從圖3A的時鐘管理單元輸出的時鐘信號的波形圖;
圖7是根據(jù)發(fā)明構(gòu)思的示例實施例用于描述由時鐘管理單元使用的信號的框圖;
圖8是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC的框圖;
圖9A是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC的框圖;
圖9B示出第二IP的示例;
圖10是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC的框圖;
圖11是根據(jù)發(fā)明構(gòu)思的示例實施例的操作SoC的方法的流程圖;
圖12是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的操作SoC的方法的流程圖;
圖13是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC的框圖;
圖14是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC的框圖;
圖15是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC的框圖;
圖16是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC的框圖;
圖17是根據(jù)發(fā)明構(gòu)思的示例實施例的包括SoC的半導(dǎo)體系統(tǒng)的框圖;
圖18是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的包括SoC的半導(dǎo)體系統(tǒng)的框圖。
具體實施方式
這里公開了發(fā)明構(gòu)思的詳細的示例實施例。然而,在此公開的具體結(jié)構(gòu)和功能細節(jié)僅是代表描述發(fā)明構(gòu)思的示例實施例的目的。然而,發(fā)明構(gòu)思的示例實施例可以以許多替換形式來實現(xiàn),并且不應(yīng)理解為僅限于在此闡述的實施例。
因此,雖然發(fā)明構(gòu)思的示例實施例能夠具有各種修改和替換形式,但是在附圖中以示例的方式來示出本發(fā)明構(gòu)思的實施例,并且在此將詳細描述所述實施例。然而,應(yīng)該理解的是,并不意圖將發(fā)明構(gòu)思的示例實施例限制為公開的特定形式,而是恰恰相反,發(fā)明構(gòu)思的示例實施例將涵蓋落入發(fā)明構(gòu)思的示例實施例的范圍內(nèi)的所有修改、等同物和替代物。在附圖的整個描述中,同樣的附圖標(biāo)記表示同樣的元件。
將理解的是,雖然在這里可使用術(shù)語第一、第二等來描述各種元件,但是這些元件不應(yīng)該受這些術(shù)語限制。這些術(shù)語僅用于將一個元件與另一個元件區(qū)分開。例如,在不脫離發(fā)明構(gòu)思的示例實施例的范圍的情況下,第一元件可以被稱為第二元件,類似地,第二元件可以被稱為第一元件。如在這里使用的,術(shù)語“和/或”包括一個或更多個相關(guān)列出項的任意和全部組合。
將理解的是,當(dāng)元件被稱作“連接”或“結(jié)合”到另一元件時,該元件可以直接連接到或結(jié)合到所述另一元件,或者可以存在中間元件。相反,當(dāng)元件被稱為“直接連接”或“直接結(jié)合”到另一元件時,不存在中間元件。用于描述元件之間關(guān)系的其他詞語應(yīng)該以類似的方式進行解釋(例如,“在……之間”與“直接在……之間”,“相鄰于”與“直接相鄰于”等)。
在這里使用的術(shù)語僅出于描述具體實施例的目的,并非意圖限制發(fā)明構(gòu)思的示例實施例。如這里所使用的,除非上下文另外明確指出,否則單數(shù)形 式的“一個(種)”和“所述(該)”也意圖包括復(fù)數(shù)形式。還將理解的是,當(dāng)在此使用術(shù)語“包括”和/或“包含”時,說明存在所述特征、整體、步驟、操作、元件和/或組件,但不排除存在或附加一個或更多個其它特征、整體、步驟、操作、元件、組件和/或其它們的組。
還應(yīng)當(dāng)注意到,在某些可選實施中,標(biāo)注的功能/行為可以不按附圖中標(biāo)注的順序發(fā)生。例如,連續(xù)示出的兩個圖實際上可基本同時被執(zhí)行,或者有時可按相反順序被執(zhí)行,這取決于涉及的功能/行為。
參照發(fā)明構(gòu)思的理想實施例(和中間結(jié)構(gòu))的示意圖解在此描述發(fā)明構(gòu)思的示例實施例。由此,預(yù)計會出現(xiàn)例如由制造技術(shù)和/或公差引起的圖例的形狀的變化。因此,發(fā)明構(gòu)思的示例實施例不應(yīng)該被解釋為局限于在此示出的區(qū)域的具體形狀,而將包括例如由制造導(dǎo)致的形狀的偏差。
圖1是根據(jù)發(fā)明構(gòu)思的示例實施例的芯片上系統(tǒng)(SoC)100的框圖。
參照圖1,根據(jù)發(fā)明構(gòu)思的示例實施例的SoC 100可以包括一個或多個互連系統(tǒng)110和時鐘管理裝置120,其中,時鐘管理裝置120被配置為管理提供給一個或多個互連系統(tǒng)110的時鐘信號CLK。時鐘管理裝置120可以定義為單元。因此,時鐘管理裝置120可以稱為時鐘管理單元(CMU)120。SoC 100可以執(zhí)行半導(dǎo)體系統(tǒng)中的各種功能。例如,SoC 100可以是應(yīng)用處理器。
每個互連系統(tǒng)110可以包括各種功能塊。例如,互連系統(tǒng)110可以包括用于在SoC 100中執(zhí)行的數(shù)據(jù)通信的各種功能塊?;ミB系統(tǒng)110可以包括主知識產(chǎn)權(quán)(Intellectual Property,IP)和/或從IP。此外,互連系統(tǒng)110可以包括各種功能塊,諸如用于在IP之間進行數(shù)據(jù)通信的多路轉(zhuǎn)換器和異步橋。SoC可以制造為單芯片,并且可以實現(xiàn)為封裝件。
此外,根據(jù)發(fā)明構(gòu)思的示例實施例的互連系統(tǒng)110還可以包括其他各種功能塊。例如,互連系統(tǒng)110可以至少包括系統(tǒng)總線的一部分。此外,當(dāng)SoC 100具有分層總線結(jié)構(gòu)時,互連系統(tǒng)110可以至少包括局部數(shù)據(jù)總線的一部分。根據(jù)一些示例實施例,系統(tǒng)總線和局部數(shù)據(jù)總線中的每個可以定義為功能塊。
SoC 100可以包括各種類型的IP。IP的示例可以包括處理單元或處理器、處理單元中包括的多個核、多格式編解碼器(MFC)、視頻模塊(例如,照相機接口)、聯(lián)合圖像專家組(JPEG)處理器、視頻處理器、混頻器(mixer)、 3D圖像核、音頻系統(tǒng)、驅(qū)動器、顯示驅(qū)動器、易失性存儲器裝置、非易失性存儲器、存儲器控制器、輸入和輸出接口塊、以及高速緩沖存儲器。
IP可以分為主IP和從IP。主IP能夠自從IP直接請求數(shù)據(jù)通信,但是從IP可以基于處理單元的控制來執(zhí)行數(shù)據(jù)通信。例如,一些IP可以具有主功能和從功能兩者。根據(jù)一些示例實施例,互連系統(tǒng)110可以包括一個或多個主IP,或者可以包括一個或多個從IP??蛇x擇地,互連系統(tǒng)110可以包括主IP和從IP兩者。
圖1示出互連系統(tǒng)110不包括系統(tǒng)總線的情況、互連系統(tǒng)110包括系統(tǒng)總線的一部分的情況、以及互連系統(tǒng)110包括用于通過系統(tǒng)總線提供數(shù)據(jù)的功能塊和用于通過系統(tǒng)總線接收數(shù)據(jù)的功能塊的情況。然而,如上所述,根據(jù)發(fā)明構(gòu)思的示例實施例的互連系統(tǒng)110可以不同地定義。
CMU 120可以將時鐘信號CLK提供給互連系統(tǒng)110。圖1中示出了對應(yīng)于一個互連系統(tǒng)110設(shè)置一個CMU 120的示例,但是發(fā)明構(gòu)思的示例實施例不必限于此。例如,CMU 120可以將時鐘信號CLK提供給互連系統(tǒng)110的一些功能塊,或者可以將時鐘信號CLK提供給兩個或更多個互連系統(tǒng)110。此外,向每個互連系統(tǒng)110提供的時鐘信號CLK由相同的附圖標(biāo)記表示,但是每個CMU 120可以提供具有不同信號特性的時鐘信號CLK。
關(guān)于連接技術(shù),基于系統(tǒng)總線的連接方法被廣泛使用。例如,關(guān)于標(biāo)準(zhǔn)總線規(guī)范,可以使用高級精簡指令集機器(ARM)的高級微控制器總線架構(gòu)(AMBA)協(xié)議。AMBA協(xié)議的總線類型可以包括高級高性能總線(AHB)、先進外圍總線(APB)、先進可擴展接口(AXI)、AXI4和AXI一致性擴展(ACE)。在上述總線類型中,AXI是IP之間的接口協(xié)議,并且提供多路突出地址功能(multiple outstanding address function)和數(shù)據(jù)交叉功能。此外,諸如SONICs公司的uNetwork、IBM的CoreConnect、OCP-IP的開放核心協(xié)議的其他類型的協(xié)議也可以用于系統(tǒng)總線。
每個CMU 120可以產(chǎn)生一個或更多個時鐘信號CLK。根據(jù)示例實施例,當(dāng)向互連系統(tǒng)110中包括的n個功能塊中的每個提供時鐘信號CLK時,CMU 120可以產(chǎn)生n個時鐘信號CLK,并且將n個時鐘信號CLK提供給互連系統(tǒng)110。n個時鐘信號CLK可以具有不同的信號特性。
此外,考慮互連系統(tǒng)110的配置,CMU 120可以實現(xiàn)為硬件。例如,可以考慮到互連系統(tǒng)110的主/從配置來設(shè)計CMU 120的內(nèi)部配置。CMU 120 可以包括主時鐘控制器(未示出)和從時鐘控制器(未示出),并且可以通過順序的操作控制而產(chǎn)生向互連系統(tǒng)110提供的時鐘信號CLK。
根據(jù)示例實施例,主時鐘控制器可以經(jīng)由硬件從IP接收時鐘請求,或者可以從SoC 100中包括的處理單元或處理器(未示出)經(jīng)由軟件接收時鐘請求。主時鐘控制器可以響應(yīng)于時鐘請求來控制一個或更多個從時鐘控制器??梢詫⒂芍鲿r鐘控制器和/或從時鐘控制器產(chǎn)生的時鐘信號CLK提供給互連系統(tǒng)110。
根據(jù)發(fā)明構(gòu)思的示例實施例,基于互連系統(tǒng)110的配置來實施CMU 120,并且經(jīng)由硬件來管理時鐘信號。因此,與基于軟件的管理相比,能夠降低錯誤發(fā)生的可能性。此外,相比于通過軟件編碼方法來打開和關(guān)閉時鐘信號的情況,能夠在期望的時間點適當(dāng)?shù)卮蜷_和關(guān)閉時鐘信號,從而實現(xiàn)延遲的減少。此外,可以通過簡化產(chǎn)生時鐘信號的門單元的結(jié)構(gòu)來減小功耗。
此外,用于驅(qū)動SoC 100的操作系統(tǒng)(OS)和固件不必具有用于對于多個功能塊而打開和關(guān)閉時鐘信號的復(fù)雜例程,因此相應(yīng)地可以減少軟件編碼的數(shù)量以及CPU的負載。
圖2是圖1的CMU 120的框圖。
參照圖2,CMU 120可以包括一個主時鐘控制器121和n個從時鐘控制器122_1至122_n。主時鐘控制器121和n個從時鐘控制器122_1至122_n中的每個可以通過用于彼此通信的一個或多個通道彼此連接。例如,主時鐘控制器121可以通過第一通道CH1連接到第一從時鐘控制器122_1,可以通過第二通道CH2連接到第二從時鐘控制器122_2,并且可以通過第n通道CHn連接到第n從時鐘控制器122_n。主時鐘控制器121和n個從時鐘控制器122_1至122_n中的每個可以基于完整的握手方法(full handshake method)來彼此通信。
由于主時鐘控制器121與從時鐘控制器122_1至122_n之間的通信基于完整的握手方法來執(zhí)行,通道CH1至CHn中的每個可以包括用于傳輸各種類型的信號的內(nèi)部通道。例如,第一通道CH1可以包括命令傳輸通道和響應(yīng)傳輸通道。根據(jù)示例實施例,第一通道CH1可以利用組合邏輯單元來實現(xiàn),從而使延遲最小化。第二通道CH2至第n通道CHn也可以以與第一通道CH1相同或類似的方式來實現(xiàn)。
根據(jù)示例實施例,完整的握手方法可以包括ARM的Q通道接口或P通 道接口規(guī)范。此外,完整的握手方法可以通過各種接口方法來執(zhí)行。例如,可以使用諸如LPI的異步通信通道。
主時鐘控制器121可以響應(yīng)于時鐘請求Req來控制從時鐘控制器122_1至122_n。主時鐘控制器121可以響應(yīng)于時鐘請求Req將時鐘開/關(guān)命令CLK On/Off(開/關(guān))提供給從時鐘控制器122_1至122_n。從時鐘控制器122_1至122_n中的每個可以響應(yīng)于時鐘開/關(guān)命令CLK On/Off來執(zhí)行時鐘門控,并且將時鐘確認(rèn)ACK On/Off提供給主時鐘控制器121。如果向主時鐘控制器121提供的時鐘請求Req為請求將時鐘信號CLK1提供給相應(yīng)的功能塊,則主時鐘控制器121將時鐘開命令CLK On提供給從時鐘控制器122_1至122_n,并且從時鐘控制器122_1至122_n可以將表示時鐘信號CLK2_1至CLK2_n已經(jīng)輸出的時鐘確認(rèn)ACK On提供給主時鐘控制器121。
例如,主時鐘控制器121可以響應(yīng)于時鐘請求Req將時鐘開/關(guān)命令CLK On/Off提供給第一從時鐘控制器122_1。第一從時鐘控制器122_1可以響應(yīng)于時鐘開/關(guān)命令CLK On/Off執(zhí)行時鐘門控,并且可以將表示時鐘門控已經(jīng)完成的時鐘確認(rèn)ACK On/Off提供給主時鐘控制器121。
當(dāng)主時鐘控制器121從第一從時鐘控制器122_1接收時鐘確認(rèn)ACK On/Off時,主時鐘控制器121可以將時鐘開/關(guān)命令CLK On/Off提供給第二從時鐘控制器122_2。第二從時鐘控制器122_2可以響應(yīng)于時鐘開/關(guān)命令CLK On/Off執(zhí)行時鐘門控,并且可以將時鐘確認(rèn)ACK On/Off提供給主時鐘控制器121。
類似地,主時鐘控制器121可以將時鐘開/關(guān)命令CLK On/Off提供給其他從時鐘控制器122_3至122_n。此外,主時鐘控制器121可以從其他從時鐘控制器122_3至122_n依次接收時鐘確認(rèn)ACK On/Off。
根據(jù)示例實施例,從時鐘控制器122_1至122_n輸出時鐘信號CLK2_1至CLK2_n的順序可以不同地設(shè)定。例如,在第n從時鐘控制器122_n輸出時鐘信號CLK2_n之后,第一從時鐘控制器122_1可以輸出時鐘信號CLK2_1??蛇x擇地,在從時鐘控制器122_1至122_n中的一些輸出時鐘信號之后,主時鐘控制器121可以輸出時鐘信號CLK1。在所有的從時鐘控制器122_1至122_n分別輸出時鐘信號CLK2_1至CLK2_n之后,主時鐘控制器121可以輸出時鐘信號CLK1。
主時鐘控制器121可以在各種時間點啟用(enable)或禁用(disable)時 鐘信號CLK1。如果時鐘請求Req是請求將時鐘信號CLK1提供給功能塊,則主時鐘控制器121可以在自從時鐘控制器122_1至122_n接收時鐘確認(rèn)ACK On/Off之后輸出時鐘信號CLK1。如此,要執(zhí)行數(shù)據(jù)通信的功能塊(例如,主IP),可以在互連系統(tǒng)完成對于所有功能塊的時鐘設(shè)定之后接收時鐘信號CLK1。
此外,如果時鐘請求Req是請求阻止時鐘信號CLK1提供給功能塊,則主時鐘控制器121可以在阻止時鐘信號CLK1的輸出之后,提供時鐘開/關(guān)命令CLK On/Off。如此,在針對使數(shù)據(jù)通信完成的功能塊(例如,主IP)的時鐘信號CLK1被禁用之后,針對其他功能塊的時鐘信號CLK2_1至CLK2_n被禁用。禁用針對其他功能塊的時鐘信號CLK2_1至CLK2_n的順序可以不同地設(shè)定。
另一方面,CMU 120中的包括的每個時鐘控制器可以包括與時鐘處理有關(guān)的各種功能。例如,每個時鐘控制器可以包括各種類型的電路,這些電路被配置為接收源時鐘并且處理接收的源時鐘,以產(chǎn)生在功能塊中使用的操作時鐘。根據(jù)示例實施例,每個時鐘控制器可以包括從振蕩器、鎖相回路、多路轉(zhuǎn)換器、分配器和門之中選擇的至少一個??蛇x擇地,每個時鐘控制器可以包括被配置為處理其他類型的信號的單元。上述選擇和變化是設(shè)計選擇的關(guān)鍵。
為了便于描述,自主時鐘控制器和從時鐘控制器輸出的時鐘信號利用相同的附圖標(biāo)記CLK來表示,但是時鐘信號的特性可以如上所述不同地改變。
圖3A和圖3B是根據(jù)發(fā)明構(gòu)思的示例實施例的SoC 200的框圖。如圖3A中所示,SoC 200可以包括CMU 210和各種功能塊或硬件組件。在圖3A中,第一IP 221和第二IP 222、異步橋230、多路轉(zhuǎn)換器240和總線250示出為接收來自CMU 210的時鐘信號CLK的功能塊或硬件組件。
異步橋230可以設(shè)置為在使用不同的操作頻率的功能塊之間交換數(shù)據(jù)。多路轉(zhuǎn)換器240可以基于各種協(xié)議來支持從總線類型之中選擇的總線。在圖3A中,AXI多路轉(zhuǎn)換器240示出為多路轉(zhuǎn)換器240??偩€250可以對應(yīng)于系統(tǒng)總線或其他總線(例如,局部總線)。如果總線250對應(yīng)于局部總線,則可以將來自第一IP 221和第二IP 222的信號通過總線250提供給系統(tǒng)總線(未示出)。
第一IP 221和第二IP 222、異步橋230、多路轉(zhuǎn)換器240和總線250中 的至少一些可以構(gòu)成上述互連系統(tǒng)。此外,CMU 210可以包括主時鐘控制器211和第一至第三從時鐘控制器212至214,以對應(yīng)于互連系統(tǒng)。此外,為了便于描述,分別示出了執(zhí)行時鐘門控的門單元,但是門單元G可以設(shè)置在相應(yīng)的時鐘控制器內(nèi)。另一個方面,門單元G可以不同地實現(xiàn),并且可以包括例如一個或更多個邏輯器件(未示出)。根據(jù)示例實施例,時鐘信號CLK的啟用或禁用可以使用邏輯器件(諸如觸發(fā)器或AND門)基于信號處理來控制。
圖3A示出CMU 210僅包括一個主時鐘控制器211的情況的示例。在這種情況下,主時鐘控制器211可以連接到第一IP 221和第二IP 222兩者。然而,圖3A示出將來自主時鐘控制器211的時鐘信號CLK提供給第二IP 222的示例。根據(jù)另一個示例實施例,如圖3B中所示,CMU 210可以包括分別與第一IP 221和第二IP 222對應(yīng)的兩個主時鐘控制器211_1和211_2。為了便于描述,圖3B中示出包括多個從時鐘控制器的從時鐘控制器塊SCC BLK。主時鐘控制器211_1和211_2中的每個可以通過單獨的通道而與從時鐘控制器塊SCC BLK通信。
再次參照圖3A,互連系統(tǒng)中設(shè)置的功能塊可以分為主功能塊和從功能塊?;ミB系統(tǒng)中設(shè)置的功能塊中,產(chǎn)生數(shù)據(jù)流量(data traffic)的功能塊(例如,主IP和/或從IP)可以對應(yīng)于主功能塊。在數(shù)據(jù)流量流動的下游的其他功能塊可以對應(yīng)于從功能塊。即,數(shù)據(jù)流動的方向可以稱為下游,與數(shù)據(jù)流動方向的相反方向可以稱為上游。
作為另一個示例,數(shù)據(jù)流量基本開始的功能塊可以對應(yīng)于主功能塊。在圖3A中,異步橋230定義為從功能塊。然而,數(shù)據(jù)流量可以在將數(shù)據(jù)從第二IP 222下游提供給多路轉(zhuǎn)換器240的過程中開始。因此,異步橋230可以定義為主功能塊。此外,互連系統(tǒng)中設(shè)置的功能塊根據(jù)各種定義方法可以分為主功能塊和從功能塊。
另一方面,CMU 210中設(shè)置的多個時鐘控制器中的每個經(jīng)由硬件可以設(shè)計為對應(yīng)于互連系統(tǒng)的配置。例如,CMU 210的主時鐘控制器和從時鐘控制器可以定義為對應(yīng)于互連系統(tǒng)的功能塊。例如,如圖3A或圖3B所示,將時鐘信號CLK提供給第一IP 221和第二IP 222的時鐘控制器可以對應(yīng)于主時鐘控制器211,其他時鐘控制器可以對應(yīng)于從時鐘控制器212、213和214。
如果將操作時鐘提供給第二IP 222,當(dāng)向CMU 210提供時鐘請求(未示出)(例如,通過主機、CPU等提供)時,則主時鐘控制器211將時鐘開/關(guān) 命令CLK On/Off提供給第三從時鐘控制器214。時鐘開/關(guān)命令CLK On/Off可以包括關(guān)于表示時鐘信號CLK輸出到功能塊的信息的時鐘。第三從時鐘控制器214可以響應(yīng)于時鐘開/關(guān)命令CLK On/Off執(zhí)行時鐘門控,將時鐘信號CLK提供給總線250,并且將表示時鐘門控已經(jīng)完成的時鐘確認(rèn)ACK On/Off提供給主時鐘控制器211。
類似地,主時鐘控制器211可以依次將時鐘開/關(guān)命令CLK On/Off提供給第二從時鐘控制器213,第二從時鐘控制器213可以將時鐘信號CLK提供給多路轉(zhuǎn)換器240。此外,第二從時鐘控制器213可以將時鐘確認(rèn)ACK On/Off提供給主時鐘控制器211。
此外,主時鐘控制器211可以依次將時鐘開/關(guān)命令CLK On/Off提供給第一從時鐘控制器212,第一從時鐘控制器212可以將時鐘信號CLK提供給異步橋230。此外,第一從時鐘控制器212可以將時鐘確認(rèn)ACK On/Off提供給主時鐘控制器211。
當(dāng)主時鐘控制器211從所有的從時鐘控制器212至214接收時鐘確認(rèn)ACK On/Off時,主時鐘控制器211可以通過控制主時鐘控制器211中設(shè)置的門單元G來執(zhí)行時鐘門控。因此,可以將時鐘信號CLK提供給第二IP 222。
根據(jù)示例實施例,主時鐘控制器211可以基于握手方法通過通道而與從時鐘控制器212至214通信。主時鐘控制器211可以檢查從時鐘控制器212至214中的每個是否正常輸出時鐘信號CLK。在互連系統(tǒng)的時鐘設(shè)定完成之后,能夠?qū)r鐘信號CLK提供給第二IP 222,從而改善互連系統(tǒng)的操作穩(wěn)定性。
圖4是根據(jù)發(fā)明構(gòu)思的示例實施例的圖3的主時鐘控制器211和從時鐘控制器212的框圖。為了描述CMU 210的操作,主功能塊和從功能塊均在圖4中示出。圖4中示出了一個主功能塊和一個從功能塊,但是實際上,圖4的塊可以對應(yīng)于多個主功能塊和多個從功能塊。
參照圖3和圖4,由于CMU 210包括一個或多個主時鐘控制器211以及一個或多個從時鐘控制器212至214,可以定義主時鐘控制器塊MCC_BLK和從時鐘控制器塊SCC_BLK。圖4的從時鐘控制器塊SCC_BLK可以包括圖3的第一至第三從時鐘控制器212至214。例如,控制從時鐘控制器的整體操作的管理器212_1可以被包括在從時鐘控制器中的僅一個中。管理器212_1可以設(shè)置在從時鐘控制器212至214中的每個中。
主時鐘控制器211可以包括控制時鐘管理的整體操作的管理器211_1。此外,主時鐘控制器211可以包括具有一個或多個時鐘門控單元(CLK Gate)和用于門控制的時鐘控制單元(CLK Ctrl)的時鐘源A。類似地,從時鐘控制器212至214中的每個可以包括均包括時鐘門控單元和時鐘控制單元的時鐘源B和C。時鐘門控單元可以是從時鐘控制單元接收時鐘源信號和啟用信號的諸如門的簡單門結(jié)構(gòu)。時鐘控制單元可以是設(shè)計為實現(xiàn)期望的狀態(tài)機的硬件電路。將理解,實現(xiàn)狀態(tài)機的硬件電路是公知的并且為設(shè)計選擇的關(guān)鍵。
如上所述,與時鐘信號處理有關(guān)的各種功能可以被包括在時鐘源A、B和C中的每個中。根據(jù)示例實施例,時鐘源A、B和C中的每個可以包括從振蕩器、鎖相回路、多路轉(zhuǎn)換器、分配器和門之中選擇的至少一個。將容易理解的,時鐘源是公知的,其結(jié)構(gòu)是設(shè)計選擇的關(guān)鍵。
另一方面,主功能塊和從功能塊中的每個可以包括被配置為與CMU 210通信的接口(I/F)。根據(jù)另一個示例實施例,從功能塊可以不包括被配置為與CMU 210通信的接口(I/F)。為了接收時鐘信號CLK,主功能塊可以通過接口將時鐘請求傳輸?shù)街鲿r鐘控制器211。主時鐘控制器211的管理器211_1可以響應(yīng)于時鐘請求,將時鐘開/關(guān)命令CLK On/Off提供給從時鐘控制器212至214。從時鐘控制器212至214的時鐘源B和C可以啟用時鐘信號CLK并且輸出時鐘CLK,表示時鐘CLK的輸出的信息(例如,時鐘確認(rèn))可以提供給主時鐘控制器211的管理器211_1。
根據(jù)示例實施例,從時鐘控制器212至214的時鐘源B和C中的每個可以將表示時鐘信號CLK已經(jīng)啟用的信息,提供給從時鐘控制器塊SCC_BLK的管理器212_1。此外,從功能塊的接口還可以包括與主時鐘控制器211的管理器211_1通信的功能。
圖5是根據(jù)發(fā)明構(gòu)思的示例實施例用于描述圖4的CMU 210的操作的波形圖。具體而言,圖5示出第二IP 222與CMU 210之間的接口信令以及主時鐘控制器MCC與從時鐘控制器SCC之間的接口信令的示例。
參照圖5,當(dāng)向主時鐘控制器MCC提供啟用時鐘請求Req時,主時鐘控制器MCC啟用(或產(chǎn)生)時鐘開命令CLK On,并且將啟用的時鐘開命令CLK On提供給從時鐘控制器SCC。從時鐘控制器SCC輸出時鐘信號CLK,啟用表示時鐘信號CLK的輸出的時鐘確認(rèn)ACK_On,并且將啟用的時鐘確認(rèn)ACK_On提供給主時鐘控制器MCC。
主時鐘控制器MCC響應(yīng)于時鐘確認(rèn)ACK_On,啟用用于控制時鐘門控單元的時鐘啟用信號Act_clk,并且將時鐘信號CLK輸出到第二IP 222。此外,響應(yīng)于時鐘請求Req,主時鐘控制器MCC可以隨意地提供表示時鐘信號CLK已經(jīng)完成的提供的請求響應(yīng)Res。這些啟用信號以與如圖5所示相同的方式被禁用。
圖6是根據(jù)發(fā)明構(gòu)思的示例實施例從圖3A的CMU 210輸出的時鐘信號的波形圖。具體而言,圖6是針對當(dāng)將時鐘信號CLK提供給第二IP 222時的情況的波形圖。
參照圖3A和圖6,主時鐘控制器211依次將時鐘開/關(guān)命令CLK On/Off提供給從時鐘控制器212至214。作為示例,由于第三從時鐘控制器214首先執(zhí)行時鐘門控,時鐘信號CLK首先提供給總線250。接著,第二從時鐘控制器213將時鐘信號CLK提供給多路轉(zhuǎn)換器240,第一從時鐘控制器212將時鐘信號CLK提供給異步橋230。最終,主時鐘控制器211將時鐘信號CLK提供給第二IP 222。
由于CMU 210的時鐘控制器經(jīng)由硬件來控制,所以可以減少時鐘信號CLK的開/關(guān)處理的延遲以及用于將時鐘信號CLK提供給第二IP 222的延遲。
另一方面,圖6中示出了以從第三從時鐘控制器214到第一從時鐘控制器212的順序依次輸出時鐘信號CLK的示例,但是發(fā)明構(gòu)思不必限于此。從時鐘控制器212、213和214輸出時鐘信號CLK的順序可以不同地改變。在所有的從時鐘控制器212、213和214輸出時鐘信號CLK之后,主時鐘控制器211可以輸出時鐘信號CLK。
作為另一個示例,如果向第二IP 222提供時鐘信號CLK被阻止,則主時鐘控制器211可以響應(yīng)于時鐘請求首先禁用第一時鐘信號CLK。然后,從時鐘控制器212、213和214可以以任意順序禁用時鐘信號CLK。
此外,雖然圖6和圖3A示出了向不同的組件提供相同的時鐘信號CLK,但是在可選擇的實施例中,可以將不同的時鐘信號提供給不同的組件。
圖7是根據(jù)發(fā)明構(gòu)思的示例實施例用于描述CMU 210中使用的信號的框圖。
參照圖7,SoC 200可以包括CMU 210、中央處理單元(CPU)201和互連系統(tǒng)202。此外,互連系統(tǒng)202可以包括圖3中所示的功能模塊中的至少一些。CMU 210可以經(jīng)由軟件從CPU 201接收時鐘請求Req,經(jīng)由硬件從互 連系統(tǒng)202接收時鐘請求Req,并且在設(shè)置在其中的多個時鐘控制器之間基于握手通信方法來執(zhí)行時鐘信號CLK的控制操作。CMU 210可以將一個或多個產(chǎn)生的時鐘信號CLK提供給互連系統(tǒng)202。
CPU 201可以通過執(zhí)行各種代碼經(jīng)由軟件來控制SoC 200的整體操作。例如,CPU 201可以執(zhí)行控制操作,以將時鐘信號CLK提供給IP。CMU 210可以將表示時鐘信號CLK已經(jīng)提供給互連系統(tǒng)202的每個功能塊的請求響應(yīng)Res提供給CPU 201。通過接收請求響應(yīng)Res,CPU 201可以確定針對互連系統(tǒng)202的時鐘設(shè)定已經(jīng)完成,并且可以基于確定結(jié)果來控制IP。
圖8是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC 300的框圖。
參照圖8,SoC 300可以包括CMU 310和各種功能塊。在圖8中,第一IP 321和第二IP 322、異步橋330、多路轉(zhuǎn)換器340和總線350示出為從CMU 310接收時鐘信號CLK的功能塊。由于構(gòu)成圖8中的互連系統(tǒng)的多個功能塊的操作與上述實施例的功能塊的操作相同或類似,所以將省略其詳細描述。
CMU 310可以包括一個或多個主時鐘控制器以及一個或多個從時鐘控制器。根據(jù)示例實施例,CMU 310可以包括主時鐘控制器311和第一至第三從時鐘控制器312至314。主時鐘控制器311和第一至第三從時鐘控制器312至314中的每個可以通過通道彼此連接,并且基于握手方法而彼此通信。此外,構(gòu)成互連系統(tǒng)的功能塊的至少一個可以連接到主時鐘控制器311或從時鐘控制器312至314。在圖8中,第二IP 322和主時鐘控制器311可以通過單獨的通道而彼此連接,并且彼此通信。
根據(jù)圖8中示出的示例實施例,向主時鐘控制器311提供的時鐘請求Req可以通過第二IP 322產(chǎn)生,第二IP 322可以經(jīng)由硬件將時鐘請求Req提供給主時鐘控制器311。即,第二IP 322和CMU 310可以通過單獨的協(xié)議來執(zhí)行通信。因此,CMU 310可以基于完全硬件方法來控制。在這種情況下,時鐘門控可以不使用軟件而經(jīng)由硬件來控制。
如上所述,接收時鐘請求Req的主時鐘控制器311可以依次與多個從時鐘控制器312至314通信。例如,主時鐘控制器311可以將時鐘開/關(guān)命令CLK On/Off提供給從時鐘控制器312至314中的每個,并且可以自從時鐘控制器312至314中的每個接收時鐘確認(rèn)ACK On/Off。
圖9A是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC 400的框圖。
參照圖9A,SoC 400可以包括CMU 410和作為從CMU 410接收時鐘信 號CLK的功能塊的第一IP 421和第二IP 422、異步橋430、多路轉(zhuǎn)換器440和總線450。由于CMU 410的操作和構(gòu)成圖9A中的互連系統(tǒng)的多個功能塊的操作可以與上述實施例中的那些相同,或者可以與其類似,所以將省略其詳細描述。
根據(jù)圖9A的示例實施例,構(gòu)成互連系統(tǒng)的多個功能塊可以通過單獨的通道連接到CMU 410。此外,每個功能塊可以包括被配置為產(chǎn)生時鐘請求Req的單元。例如,諸如狀態(tài)機的控制單元可以設(shè)置在每個功能塊中。
第二IP 422可以連接到主時鐘控制器411,以將時鐘請求Req提供給主時鐘控制器411。類似地,異步橋430可以連接到第一從時鐘控制器412,以將時鐘請求Req提供給第一從時鐘控制器412。多路轉(zhuǎn)換器440可以連接到第二從時鐘控制器413,以將時鐘請求Req提供給第二從時鐘控制器413。此外,總線450可以連接到第三從時鐘控制器414,以將時鐘請求Req提供給第三從時鐘控制器414。
主時鐘控制器411和第一至第三從時鐘控制器412至414中的每個可以響應(yīng)于時鐘請求Req而產(chǎn)生時鐘信號CLK。根據(jù)示例實施例,第一至第三從時鐘控制器412至414中的每個可以產(chǎn)生時鐘信號CLK,并且可以將時鐘確認(rèn)ACK On/Off提供給主時鐘控制器411。第二IP 422可以在時鐘信號CLK被全部提供給構(gòu)成互連系統(tǒng)的其他功能塊之后接收時鐘信號CLK。根據(jù)示例實施例,在從第一至第三從時鐘控制器412至414接收時鐘確認(rèn)ACK On/Off之后,主時鐘控制器411可以執(zhí)行時鐘門控,以將時鐘信號CLK提供給第二IP 422。
CMU 410可以根據(jù)圖9的示例實施例中示出的配置而依據(jù)各種方法來操作。例如,主時鐘控制器411可以響應(yīng)于時鐘請求Req而將時鐘開/關(guān)命令CLK On/Off提供給第一至第三從時鐘控制器412至414。另一方面,由于第一至第三從時鐘控制器412至414中的每個從相應(yīng)的功能塊接收時鐘請求Req,所以從主時鐘控制器411提供的時鐘開/關(guān)命令CLK On/Off可以忽略。
可選擇地,即使當(dāng)響應(yīng)于時鐘關(guān)命令而阻止向第二IP 422提供時鐘信號CLK時,其他功能塊中的至少一些可以維持時鐘信號CLK的接收。總線450可以包括用于臨時將數(shù)據(jù)存儲在其中的空間(例如,F(xiàn)IFO)。即使當(dāng)?shù)诙蘒P 422的操作完成時,也維持總線450的操作狀態(tài)。同時,第三從時鐘控制器414可以忽略從主時鐘控制器411提供的時鐘關(guān)命令,并且將時鐘信號CLK提供 給總線450。根據(jù)示例實施例,第三從時鐘控制器414可以響應(yīng)于從總線450提供的時鐘請求(例如,時鐘關(guān)命令)而阻止時鐘信號CLK的輸出。
在圖8和圖9A中所示的功能塊和時鐘控制器之間使用通道的通信方法可以不同地實現(xiàn)。例如,如完整的握手方法,可以使用ARM的Q通道接口或P通道接口規(guī)范。
圖9B示出圖9A中的第二IP的示例。如所示出的,第二IP包括一個或多個IP處理器2222。處理器2222根據(jù)由可選擇地執(zhí)行的功能而產(chǎn)生時鐘請求信號。如前所述,第二IP可以是例如,照相機接口。當(dāng)照相機接口激活時,則IP處理器2222可以產(chǎn)生時鐘請求信號。OR門2224可以接收從IP處理器2222輸出的時鐘請求,并且可以接收外部的時鐘請求信號(例如,外部事件、中斷、總線信號、喚醒信號等)。OR門2224用于將時鐘請求信號輸出至CMU。
圖10是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC 500的框圖。具體而言,圖10示出將用于主時鐘控制器511和功能塊之間的通信的信號提供給從時鐘控制器512至514的示例。
參照圖10,SoC 500可以包括CMU 510和作為從CMU 510接收時鐘信號CLK的功能塊的第一IP 521和第二IP 522、異步橋530、多路轉(zhuǎn)換器540和總線550。由于CMU 510的操作和構(gòu)成圖10中的互連系統(tǒng)的多個功能塊的操作與上述實施例中的那些相同或類似,所以將省略其詳細描述。
如上所述,主時鐘控制器511可以通過通道而與第一至第三從時鐘控制器512至514通信。此外,如圖10中所示,構(gòu)成互連系統(tǒng)的功能塊可以經(jīng)由單獨的通道而與相應(yīng)的時鐘控制器通信。根據(jù)另一個示例實施例,設(shè)置在圖10中的功能塊和從時鐘控制器512至514之間的通道可以去除。
構(gòu)成互連系統(tǒng)的功能塊的一個,例如,第二IP 522可以通過單獨的通道連接到主時鐘控制器511,并且可以通過相同的通道或不同的通道而連接到從時鐘控制器。根據(jù)示例實施例,第二IP 522可以連接到第一至第三從時鐘控制器512至514??梢詫碜缘诙蘒P 522的時鐘請求Req通過通道而提供給主時鐘控制器511。此外,可以向第一至第三從時鐘控制器512至514提供時鐘請求Req。
當(dāng)從第二IP 522接收時鐘請求Req時,第一至第三從時鐘控制器512至514中的每個可以確定第二IP 522要接收時鐘信號CLK。第一至第三從時鐘控制器512至514中的每個可以響應(yīng)于時鐘請求Req執(zhí)行時鐘門控,產(chǎn)生時 鐘信號CLK,并且將時鐘信號CLK提供給相應(yīng)的功能塊。以與上述實施例相同或類似的形式,產(chǎn)生時鐘信號的操作(或者將時鐘信號CLK提供給功能塊的時刻)可以控制為依次執(zhí)行。例如,在第三從時鐘控制器514執(zhí)行時鐘門控之后,第二從時鐘控制器513執(zhí)行時鐘門控,然后,第一從時鐘控制器512可以執(zhí)行時鐘門控。
第一至第三從時鐘控制器512至514中的每個可以將時鐘確認(rèn)ACK On/Off提供給主時鐘控制器511。當(dāng)接收到時鐘確認(rèn)ACK On/Off時,主時鐘控制器511可以執(zhí)行時鐘門控,以將時鐘信號CLK提供給第二IP 522。
圖11是根據(jù)發(fā)明構(gòu)思的示例實施例的操作SoC的方法的流程圖。
以與示例實施例相同或類似的方式,可以向SoC提供CMU,以控制向包括一個或多個功能塊的互連系統(tǒng)的時鐘供應(yīng)??梢愿鶕?jù)互連系統(tǒng)的配置,針對CMU中設(shè)置的多個時鐘控制器來定義主時鐘控制器和從時鐘控制器。此外,主時鐘控制器可以通過單獨的通道而與一個或多個從時鐘控制器通信,主時鐘控制器可以通過通道指示一個或多個從時鐘控制器的時鐘門控。
如圖11中所示,在操作S11中,主時鐘控制器MCC可以經(jīng)由軟件或硬件來接收時鐘請求。主時鐘控制器MCC可以響應(yīng)于時鐘請求,提供指示一個或多個從時鐘控制器SCC的時鐘門控的時鐘開/關(guān)命令。在操作S12中,如果接收的時鐘請求是請求將時鐘信號提供給互連系統(tǒng)中包括的IP,則主時鐘控制器MCC可以將時鐘開命令提供給一個或多個從時鐘控制器SCC。
如果多個從時鐘控制器SCC設(shè)置在CMU中,則主時鐘控制器MCC可以依次將時鐘開/關(guān)命令提供給多個從時鐘控制器SCC。在操作S13中,當(dāng)主時鐘控制器MCC將時鐘開命令提供給一個從時鐘控制器(例如,第一從時鐘控制器)時,則第一從時鐘控制器SCC可以響應(yīng)于時鐘開命令通過執(zhí)行時鐘門控來啟用時鐘信號。在操作S14中,第一從時鐘控制器SCC可以輸出時鐘確認(rèn),主時鐘控制器MCC可以接收時鐘確認(rèn)。
在操作S15中,當(dāng)CMU中設(shè)置的所有從時鐘控制器SCC啟用時鐘信號時,主時鐘控制器MCC可以確定時鐘設(shè)定是否完成。當(dāng)在操作S15中確定時鐘設(shè)定未完成時,主時鐘控制器MCC可以將時鐘開命令提供給尚未啟用時鐘信號的另一個從時鐘控制器(例如,第二從時鐘控制器)。例如,第二從時鐘控制器SCC可以響應(yīng)于時鐘開命令而啟用時鐘信號,并且輸出時鐘確認(rèn)。主時鐘控制器MCC可以接收時鐘確認(rèn),確定時鐘設(shè)定是否完成,并且重復(fù) 時鐘開命令的提供和時鐘確認(rèn)的接收。
在操作S16中,當(dāng)在操作S15中確定時鐘設(shè)定已經(jīng)完成時,主時鐘控制器MCC可以執(zhí)行時鐘門控以產(chǎn)生時鐘信號。這樣,可以將由主時鐘控制器MCC和從時鐘控制器SCC產(chǎn)生的時鐘信號提供給互連系統(tǒng)的相應(yīng)功能塊。
圖12是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的操作SoC的方法的流程圖。
可以根據(jù)互連系統(tǒng)的配置,針對CMU中設(shè)置的多個時鐘控制器來定義主時鐘控制器和從時鐘控制器。構(gòu)成互連系統(tǒng)的多個功能塊和通過單獨通道設(shè)置在CMU中的多個時鐘控制器可以通過單獨的通道而彼此通信。以與上述示例實施例相同或類似的方式,可以基于握手方法來執(zhí)行通信。為了便于描述,以下將描述與CMU中設(shè)置的從時鐘控制器中的一個有關(guān)的操作。
參照圖12,在操作S21中,主時鐘控制器MCC可以經(jīng)由軟件或硬件來接收時鐘請求。例如,主時鐘控制器MCC可以經(jīng)由硬件從通過第一通道連接的互連系統(tǒng)的第一功能塊(例如,IP)來接收時鐘請求。在操作S22中,從時鐘控制器SCC可以從通過第二通道連接的互連系統(tǒng)的第二功能塊(例如,異步橋、多路轉(zhuǎn)換器、總線等)來接收時鐘請求。
主時鐘控制器MCC可以通過單獨通道連接到從時鐘控制器SCC。例如,主時鐘控制器MCC可以通過第三通道連接到從時鐘控制器SCC。在操作S23中,主時鐘控制器MCC可以響應(yīng)于時鐘請求的接收,來產(chǎn)生用于控制從時鐘控制器SCC的一個或多個控制信號。例如,主時鐘控制器MCC可以將時鐘開命令提供給從時鐘控制器SCC。
由于上述操作,從時鐘控制器SCC可以接收請求時鐘門控的兩個或更多個信號。在操作S24中,從時鐘控制器SCC可以基于接收的信號來執(zhí)行時鐘門控。例如,從時鐘控制器SCC可以基于時鐘請求和時鐘開命令之中較早接收的一個來執(zhí)行時鐘門控??蛇x擇地,從時鐘控制器SCC可以基于從時鐘請求和時鐘開命令之中選擇的一個來執(zhí)行時鐘門控。根據(jù)另一個示例實施例,時鐘請求和時鐘開命令中的每個還可以包括關(guān)于時鐘門控的附加信息(例如,優(yōu)先級信息等),從時鐘控制器SCC可以被控制為基于附加信息來執(zhí)行時鐘門控。
在操作S25中,從時鐘控制器SCC可以將基于時鐘門控產(chǎn)生的時鐘信號提供給互連系統(tǒng)的功能塊,從時鐘控制器SCC可以將時鐘確認(rèn)提供給主時鐘控制器MCC。由于上述操作,可以分別控制從時鐘控制器SCC,而與主時鐘 控制器MCC的控制無關(guān)。
圖13是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC 600的框圖。
參照圖13,SoC 600可以包括CMU 610和各種功能塊。在圖13中,一個或多個異步橋(例如,第一至第三異步橋)621至623、總線630和存儲器控制器640示出為從CMU 610接收時鐘信號CLK的功能塊。存儲器650可以是互連系統(tǒng)中包括的功能塊或者設(shè)置在SoC 600中的互連系統(tǒng)外面的功能塊。根據(jù)另一個示例實施例,存儲器650可以是設(shè)置在SoC 600外面的存儲器裝置。由于圖13中設(shè)置在互連系統(tǒng)與CMU 610之間的通道以及設(shè)置在CMU 610的時鐘控制器之間的通道的具體操作與上述示例實施例的那些相同或基本類似,因此將省略其詳細描述。
與CMU 610對應(yīng)的互連系統(tǒng)中設(shè)置的功能塊可以分為主功能塊和從功能塊。在上述示例實施例中,示出了將功能塊之中的IP設(shè)置為主功能塊的示例,但是主功能塊和從功能塊可以不同地設(shè)定。
例如,當(dāng)通過系統(tǒng)總線來傳輸并且接收數(shù)據(jù)時產(chǎn)生流量,流量開始的功能塊可以被設(shè)定為主功能塊??梢詫碜訧P的數(shù)據(jù)提供給異步橋,以轉(zhuǎn)換時鐘域。實際上,異步橋可以對應(yīng)于流量開始的功能塊。如圖13中所示,第一至第三異步橋621、622和623可以對應(yīng)于主功能塊。
可以基于互連系統(tǒng)的配置來設(shè)計CMU 610的內(nèi)部配置。例如,CMU 610可以包括對應(yīng)于第一至第三異步橋621、622和623的第一至第三主時鐘控制器611、612和613。此外,CMU 610可以包括相對于與互連系統(tǒng)的從功能塊對應(yīng)的總線630和存儲器控制器640的第一從時鐘控制器614和第二從時鐘控制器615。
根據(jù)示例實施例,第一至第三異步橋621、622和623中的每個可以連接到IP(未示出)。當(dāng)一個IP啟用時,可以將時鐘信號CLK提供給與啟用的IP對應(yīng)的異步橋,并且可以阻止向其他異步橋提供時鐘信號CLK。在下文中,將描述將時鐘信號CLK提供給第一異步橋621的示例。
當(dāng)?shù)谝划惒綐?21和第一主時鐘控制器611通過通道彼此連接時,第一異步橋621可以經(jīng)由硬件將時鐘請求Req提供給第一主時鐘控制器611。另一個方面,對于第二異步橋622和第三異步橋623,可以維持時鐘關(guān)狀態(tài)。
接收時鐘請求Req的第一主時鐘控制器611可以依次將時鐘開/關(guān)命令CLK On/Off提供給相應(yīng)的從時鐘控制器614和615,從而向總線630提供時 鐘信號CLK。此外,第一從時鐘控制器614可以在將時鐘信號CLK提供給總線630的同時,將時鐘確認(rèn)ACK On/Off提供給主時鐘控制器611。此外,第二從時鐘控制器615可以在將時鐘信號CLK提供給存儲器控制器640的同時,將時鐘確認(rèn)ACK On/Off提供給主時鐘控制器611。當(dāng)主時鐘控制器611從第一從時鐘控制器614和第二從時鐘控制器615接收時鐘確認(rèn)ACK On/Off時,主時鐘控制器611可以執(zhí)行時鐘門控,以將時鐘信號CLK提供給第一異步橋621。
盡管圖13中未示出,但是以與上述示例實施例相同或類似的方式,單獨的通道還可以設(shè)置在CMU 610與互連系統(tǒng)的功能塊(例如,總線630和存儲器控制器640)之間。根據(jù)示例實施例,第一從時鐘控制器614可以通過單獨的通道連接到總線630。此外,根據(jù)示例實施例,來自第一異步橋621的時鐘請求Req可以直接提供給第一從時鐘控制器614和第二從時鐘控制器615。
圖14是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC 700A的框圖。參照圖14,SoC 700A可以包括CPU 711、溫度傳感器712、互連系統(tǒng)713和715、以及CMU 714和716。CPU 711可以控制SoC 700A的整體操作。溫度傳感器712可以檢測SoC 700A的內(nèi)部溫度,并且產(chǎn)生溫度檢測結(jié)果。圖14中示出了互連系統(tǒng)布置為對應(yīng)于CMU的示例,但是互連系統(tǒng)和CMU的布置可以不同地改變。
向SoC 700A中設(shè)置的每個功能塊提供的時鐘信號CLK可以根據(jù)SoC 700A的內(nèi)部溫度而調(diào)整。根據(jù)示例實施例,SoC 700A的內(nèi)部溫度可以根據(jù)SoC 700A的功能塊的操作頻率而升高或降低。為了保護SoC 700A的內(nèi)部元件,時鐘信號CLK的頻率可以根據(jù)溫度檢測結(jié)果而調(diào)整。
CPU 711可以基于溫度檢測結(jié)果來控制SoC 700A中功能塊的操作頻率。根據(jù)示例實施例,CPU 711可以基于溫度檢測結(jié)果來輸出時鐘控制信號Ctrl[1:m]??梢詫r鐘控制信號Ctrl[1:m]提供給SoC 700A的CMU 714和716。例如,第一CMU 714可以接收第一控制信號Ctrl1,并且基于第一控制信號Ctrl1來調(diào)整向第一互連系統(tǒng)713提供的時鐘信號CLK的頻率。當(dāng)SoC 700A的內(nèi)部溫度升高時,可以將頻率降低的時鐘信號CLK提供給第一互連系統(tǒng)713。當(dāng)SoC 700A的內(nèi)部溫度降低時,可以將頻率升高的時鐘信號CLK提供給第一互連系統(tǒng)713。類似地,第m CMU 716可以接收第m控制信號Ctrlm, 并且基于第m控制信號Ctrlm來調(diào)整向第m互連系統(tǒng)715提供的時鐘信號CLK的頻率。
圖14中示出的互連系統(tǒng)713和715以及相應(yīng)的CMU 714和716可以包括與上面的示例實施例中描述的那些相同或類似的元件。例如,根據(jù)互連系統(tǒng)713和715的配置,可以在CMU 714和716中定義主時鐘控制器和從時鐘控制器。此外,因為主時鐘控制器和從時鐘控制器可以經(jīng)由硬件通過通道而彼此通信,所以能夠控制時鐘門控。此外,因為互連系統(tǒng)713和715的功能塊以及CMU 714和716可以經(jīng)由硬件通過通道而彼此通信,所以能夠控制時鐘門控。
圖15是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC 700B的框圖。
參照圖15,SoC 700B可以包括CPU 721、時鐘產(chǎn)生器722、CMU 723、隨機存取存儲器(RAM)724、只讀存儲器(ROM)725和存儲器控制單元726。振蕩器可以設(shè)置在SoC 700B外面,以將振蕩信號提供給SoC 700B。然而,這僅僅是示例。根據(jù)發(fā)明構(gòu)思的示例實施例的SoC 700B可以包括各種其他功能塊,振蕩器可以設(shè)置在SoC 700B內(nèi)部。圖15的SoC 700B可以作為應(yīng)用處理器設(shè)置在半導(dǎo)體系統(tǒng)中。
CPU 721、時鐘產(chǎn)生器722、RAM 724、ROM 725和存儲器控制單元726可以對應(yīng)于上述示例實施例的功能塊。此外,上述示例實施例的互連系統(tǒng)可以包括SoC 700B中設(shè)置的一個或多個功能塊。圖15中示出一個CMU 723,但是與SoC 700B的功能塊(或互連系統(tǒng))對應(yīng)的多個CMU可以設(shè)置在SoC 700B中。
時鐘產(chǎn)生器722可以通過使用從振蕩器輸出的信號來產(chǎn)生具有參考頻率的參考時鐘信號CLK_IN。CMU 723可以接收參考時鐘信號CLK_IN、產(chǎn)生具有期望(或可選擇地,預(yù)定的)頻率的操作時鐘信號CLK_OUT,將操作時鐘信號CLK_OUT提供給每個功能塊。根據(jù)上述示例實施例,CMU 723可以包括一個或多個主時鐘控制器以及一個或多個從時鐘控制器。主時鐘控制器和從時鐘控制器中的每個可以通過使用參考時鐘信號CLK_IN來產(chǎn)生操作時鐘信號CLK_OUT。此外,根據(jù)上述示例實施例,由于CMU 723中包括的主時鐘控制器和從時鐘控制器可以通過通道或各自的通道而彼此連接,所以能夠經(jīng)由硬件執(zhí)行時鐘信號的管理。此外,由于CMU 723中設(shè)置的主時鐘控制器和從時鐘控制器的功能塊通過通道或各自的通道而彼此連接,所以能夠 經(jīng)由軟件執(zhí)行時鐘請求和請求響應(yīng)。
CPU 721可以處理或執(zhí)行RAM 724中存儲的代碼和/或數(shù)據(jù)。例如,CPU 721可以響應(yīng)于從CMU 723輸出的操作時鐘,來處理或執(zhí)行代碼和/或數(shù)據(jù)。CPU 721可以實現(xiàn)為多核處理器。多核處理器可以是具有兩個或多個獨立基本處理器的單個計算組件,每個處理器可以讀取并且執(zhí)行程序指令。由于多核處理器能夠同時驅(qū)動多個加速器,所以包括多核處理器的數(shù)據(jù)處理系統(tǒng)能夠執(zhí)行多個加速。
RAM 724可以臨時存儲程序代碼、數(shù)據(jù)或指令。例如,根據(jù)ROM 725中存儲的啟動代碼或CPU的控制,內(nèi)部或外部存儲器(未示出)中存儲的程序代碼和/或數(shù)據(jù)可以臨時存儲在RAM 724中。存儲器控制單元726是用于與內(nèi)部或外部存儲器連接的塊。存儲器控制單元726可以控制存儲器的整體操作,或者可以控制主機與存儲器之間的數(shù)據(jù)交換。
圖16是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的SoC 800的框圖。
具體而言,圖16示出SoC 800包括被配置為管理向功能塊提供的電力的電力管理單元(PMU)810的示例。以與上述示例實施例中用于管理時鐘信號的CMU相同或類似的方式,PMU 810可以設(shè)計為管理SoC 800中使用的電力。
SoC 800可以包括PMU 810和多個功能塊821和822。功能塊821和822可以分為主功能塊821和從功能塊822。為了主功能塊821的操作,將電力提供給主功能塊821,并且將電力提供給與主功能塊821的操作相關(guān)聯(lián)的一個或多個從功能塊822。與上述示例實施例類似,主功能塊821和從功能塊822可以構(gòu)成一個互連系統(tǒng)。
PMU 810可以設(shè)置為對應(yīng)于互連系統(tǒng)。PMU 810可以包括主電力控制器(MPC)811和一個或多個從電力控制器(SPC)812和813。PMU 810可以通過一個或多個通道而與互連系統(tǒng)的功能塊通信。圖16中示出,主功能塊821基于握手方法通過通道而與MPC 811通信的示例。
MPC 811可以通過各自的通道而與SPC 812和813中的每個通信。PMU 810可以接收輸入電力Power_in,并且通過將輸入電力Power_in調(diào)整至適合于每個功能塊的電力來產(chǎn)生輸出電力Power_out。此外,PMU 810可以響應(yīng)于電力請求Req而允許或阻止電力提供至主功能塊821和從功能塊822。以與上述示例實施例相同或類似的方式,MPC 811可以基于CPU(未示出)的 代碼處理而經(jīng)由軟件來接收電力請求Req,或者可以經(jīng)由硬件從主功能塊821接收電力請求Req。主功能塊821可以將電力開/關(guān)(on/off)命令Pwr On/Off提供給SPC 812和813,并且可以從SPC 812和813接收電力確認(rèn)Ack On/Off。
圖17是根據(jù)發(fā)明構(gòu)思的示例實施例的半導(dǎo)體系統(tǒng)900的框圖。
參照圖17,半導(dǎo)體系統(tǒng)900可以包括SoC 901、天線910、射頻(RF)收發(fā)器920、輸入裝置930和顯示器940。SoC 901可以是根據(jù)上述示例實施例的SoC的任意一個。RF收發(fā)器920可以通過天線910發(fā)送和接收RF信號。例如,RF收發(fā)器920可以將通過天線910接收的RF信號轉(zhuǎn)換為能夠在SoC中被處理的信號。因此,SoC 901可以處理從RF收發(fā)器920輸出的信號,并且將處理的信號發(fā)送到顯示器940。此外,RF收發(fā)器920可以將從SoC 901輸出的信號轉(zhuǎn)換為RF信號,并且通過天線910將RF信號輸出到外部裝置。輸入裝置930是被配置為接收要用于控制SoC 901的操作的控制信號或者要由SoC 901處理的數(shù)據(jù)的裝置。輸入裝置930的示例可以包括指向裝置(諸如觸摸板或計算機鼠標(biāo))、小鍵盤和鍵盤。
圖18是根據(jù)發(fā)明構(gòu)思的另一個示例實施例的半導(dǎo)體系統(tǒng)1000的框圖。
參照圖18,半導(dǎo)體系統(tǒng)1000可以是諸如固態(tài)驅(qū)動器(SSD)的數(shù)據(jù)處理器。半導(dǎo)體系統(tǒng)1000可以包括多個存儲器裝置1500、被配置為控制存儲器裝置1500的數(shù)據(jù)處理操作的存儲器控制器1200、諸如DRAM的非易失性存儲器裝置1300、以及被配置為控制將在存儲器控制器1200與主機1400之間交換的數(shù)據(jù)存儲在非易失性存儲器裝置1300中的SoC 1100。SoC 1100可以如上面示例實施例中的所描述的任意一個。因此,SoC 1100可以包括與互連系統(tǒng)的配置對應(yīng)的CMU(和/或PMU)。因此,CMU可以包括主時鐘控制器和從時鐘控制器。
根據(jù)發(fā)明構(gòu)思的示例實施例,由于CMU的主/從時鐘控制器是基于互連系統(tǒng)的主/從配置來設(shè)計的,所以能夠相對于互連系統(tǒng)執(zhí)行有效的時鐘管理。
另外,根據(jù)發(fā)明構(gòu)思的示例實施例,由于根據(jù)基于硬件的方法來控制時鐘信號的輸出,所以相比于時鐘信號的基于軟件的管理,能夠降低錯誤發(fā)生的可能性,并且也可以減少啟用時鐘信號的延遲。
此外,根據(jù)發(fā)明構(gòu)思的示例實施例,由于固件和OS的例程減少,所以能夠減少軟件代碼的數(shù)量。此外,能夠通過簡化用于控制時鐘信號的門結(jié)構(gòu)來降低功耗。
雖然已經(jīng)參照發(fā)明構(gòu)思的示例實施例來具體地顯示和描述了發(fā)明思,但是應(yīng)當(dāng)理解,在不脫離權(quán)利要求的精神和范圍的情況下,可以做出形式和細節(jié)上的各種改變。