本發(fā)明涉及同步裝置。
背景技術(shù):
計算機和通信系統(tǒng)中的時間同步對于執(zhí)行時間敏感任務(wù)是重要的。裝置之間同步的缺乏會引起各種問題。例如,在無線媒體系統(tǒng)中,系統(tǒng)中不同媒體播出裝置(例如,揚聲器)之間的缺乏同步會引起媒體播放不同步。準(zhǔn)確同步重要的其他時間敏感任務(wù)包括同步通信的時間(例如,在時分多址通信系統(tǒng)中)、準(zhǔn)確時間戳(例如,對于高頻次交易)、用于全球?qū)Ш叫l(wèi)星系統(tǒng)的定時等。
裝置之間缺乏同步可能是由運行在這些裝置處的時鐘之間的輕微不同造成。即使時鐘最初被準(zhǔn)確設(shè)置,時鐘也將由于時鐘漂移而在一些時間量之后不同,時鐘漂移可能由例如時鐘以稍微不同的速率計算時間、環(huán)境因素(諸如溫差)、相對論效應(yīng)等引起。同步多個裝置的當(dāng)前方法涉及使用軟件來連續(xù)監(jiān)測這些裝置的時鐘之間的時間差,然后更新時鐘源(例如,鎖相環(huán))。這種連續(xù)監(jiān)測需要處理器持久供電,這耗盡電力。此外,更新特定時鐘源(諸如鎖相環(huán))也需要一些額外時間來使時鐘穩(wěn)定。因此,需要同步裝置的改進(jìn)方式。
技術(shù)實現(xiàn)要素:
根據(jù)第一方面,提供了一種用于修改來自第一時鐘的時鐘信號的控制器,所述控制器包括:時間比較單元,該時間比較單元被構(gòu)造成估計與所述第一時鐘關(guān)聯(lián)的第一信號與所述控制器處接收的基準(zhǔn)信號之間的時間差,其中,所述時間比較單元被構(gòu)造成確定所述時間差是大于還是小于所述第一時鐘的一個時鐘周期;第一信號修改器,該第一信號修改器被構(gòu)造成將所述時鐘信號修改達(dá)整數(shù)個時鐘周期;以及第二信號修改器,該第二信號修改器被構(gòu)造成將所述時鐘信號修改達(dá)分?jǐn)?shù)個時鐘周期,其中,所述控制器被構(gòu)造成如果所述時間差大于一個時鐘周期,則選擇所述第一信號修改器用于修改所述時鐘信號,或者如果所述時間差小于一個時鐘周期,則選擇所述第二信號修改器用于修改所述時鐘信號。
所述第一信號修改器可以被構(gòu)造成將所述時鐘信號延遲整數(shù)個時鐘周期。
來自所述第一時鐘的所述時鐘信號可以包括一系列規(guī)則脈沖,所述第一信號修改器被構(gòu)造成接收所述時鐘信號并去除一個脈沖或多個連續(xù)脈沖。
所述第一信號修改器可以被構(gòu)造成選通所述時鐘信號,以使得來自所述時鐘信號的一個或更多個脈沖被去除。
如果所述時間差為整數(shù)加分?jǐn)?shù)個時鐘周期,則所述控制器可以被構(gòu)造成選擇所述第一信號修改器和所述第二信號修改器,以使得所述第一信號修改器和所述第二信號修改器這兩者修改所述時鐘信號。
所述第二信號修改器可以被構(gòu)造成將所述時鐘信號延遲小于一個時鐘周期的時間量。
所述第一信號可以為依賴所述第一時鐘生成的第一時間標(biāo)記,并且所述基準(zhǔn)信號為依賴與基準(zhǔn)時鐘關(guān)聯(lián)的信號生成的基準(zhǔn)時間標(biāo)記。
所述第一時間標(biāo)記可以代表根據(jù)所述第一時鐘的特定時間,并且所述基準(zhǔn)時間標(biāo)記可以代表根據(jù)所述基準(zhǔn)時鐘的相同的特定時間。
所述第一時間標(biāo)記可以依賴用于播放媒體幀的時間來生成。
所述基準(zhǔn)時間標(biāo)記可以依賴根據(jù)無線通信協(xié)議接收包來生成。
所述第一時鐘可以被構(gòu)造成以第一時鐘頻率工作,并且所述基準(zhǔn)時鐘可以被構(gòu)造成以第二時鐘頻率工作,其中,所述第一時鐘頻率大于所述第二時鐘頻率。
所述第二信號修改器可以包括多個延遲線路,各延遲線路被構(gòu)造成將所述時鐘信號延遲不同于所述其他延遲線路的延遲的時間量,所述控制器可以被構(gòu)造成選擇具有對應(yīng)于所估計的時間差的延遲的延遲線路。
根據(jù)第二方面,提供了一種裝置,該裝置包括:如上所述的控制器;所述第一時鐘;時間標(biāo)記生成器,該時間標(biāo)記生成器被構(gòu)造成在所述第一時鐘運行至特定時間時生成第一時間標(biāo)記或所述第一時間標(biāo)記,并且被構(gòu)造成將所述第一時間標(biāo)記提供給所述控制器;并且依賴第二裝置處的基準(zhǔn)時鐘生成基準(zhǔn)時間標(biāo)記或所述基準(zhǔn)時間標(biāo)記,所述基準(zhǔn)時間標(biāo)記代表根據(jù)所述基準(zhǔn)時鐘的所述特定時間,其中,所述基準(zhǔn)時間標(biāo)記被提供給所述控制器。
根據(jù)第三方面,提供了一種用于修改來自第一時鐘的時鐘信號的方法,所述方法包括以下步驟:接收基準(zhǔn)信號;估計與所述第一時鐘關(guān)聯(lián)的第一信號與所述基準(zhǔn)信號之間的時間差;確定所述時間差是大于還是小于所述第一時鐘的一個時鐘周期;如果所述時間差大于一個時鐘周期,則選擇第一信號修改器用于修改所述時鐘信號,或者如果所述時間差小于一個時鐘周期,則選擇不同的第二信號修改器用于修改所述時鐘信號;依賴所述選擇步驟,在所述第一信號修改器處將所述時鐘信號修改達(dá)整數(shù)個時鐘周期,或者在所述第二信號修改器處將所述時鐘信號修改達(dá)分?jǐn)?shù)個時鐘周期。
所述修改的步驟可以包括如果所述時間差大于一個時鐘周期,則將所述時鐘信號延遲整數(shù)個時鐘周期。
來自所述第一時鐘的所述時鐘信號可以包括一系列規(guī)則脈沖,所述修改的步驟包括如果所述時間差大于一個時鐘周期,則去除一個脈沖或多個連續(xù)脈沖。
所述修改的步驟可以包括選通所述時鐘信號,以使得來自所述時鐘信號的一個或更多個脈沖被去除。
所述時間差可以為整數(shù)加分?jǐn)?shù)個時鐘周期,其中可以選擇所述第一信號修改器和所述第二信號修改器,以使得所述第一信號修改器和所述第二信號修改器這兩者修改所述時鐘信號。
所述修改的步驟可以包括如果所述時間差小于一個時鐘周期,則將所述時鐘信號延遲小于一個時鐘周期的時間量。
所述第一信號可以為依賴所述第一時鐘生成的第一時間標(biāo)記,并且所述基準(zhǔn)信號可以為依賴與基準(zhǔn)時鐘關(guān)聯(lián)的信號生成的基準(zhǔn)時間標(biāo)記。
所述第一時間標(biāo)記可以代表根據(jù)所述第一時鐘的特定時間,并且所述基準(zhǔn)時間標(biāo)記可以代表根據(jù)所述基準(zhǔn)時鐘的相同的特定時間。
所述第一時間標(biāo)記可以依賴用于播放媒體幀的時間來生成。
所述基準(zhǔn)時間標(biāo)記可以依賴根據(jù)無線通信協(xié)議接收包來生成。
所述第一時鐘可以被構(gòu)造成以第一時鐘頻率工作,并且所述基準(zhǔn)時鐘可以被構(gòu)造成以第二時鐘頻率工作,其中,所述第一時鐘頻率大于所述第二時鐘頻率。
所述第二信號修改器可以包括多個延遲線路,各延遲線路被構(gòu)造成將所述時鐘信號延遲不同于所述其他延遲線路的延遲的時間量,所述控制器可以被構(gòu)造成選擇具有對應(yīng)于所估計的時間差的延遲的延遲線路。
根據(jù)第四方面,提供了一種定義上述控制器的計算機程序代碼,借此,可以制造控制器。
根據(jù)第五方面,提供了一種定義上述裝置的計算機程序代碼,借此可以制造裝置。
根據(jù)第六方面,提供了一種上面存儲有計算機可讀指令的永久計算機可讀存儲介質(zhì),當(dāng)該指令在用于生成集成電路的表現(xiàn)的計算機系統(tǒng)處處理時,使得計算機系統(tǒng)生成上述控制器的表現(xiàn)。
根據(jù)第七方面,提供了一種上面存儲有計算機可讀指令的永久計算機可讀存儲介質(zhì),當(dāng)該指令在用于生成集成電路的表現(xiàn)的計算機系統(tǒng)處處理時,使得計算機系統(tǒng)生成上述裝置的表現(xiàn)。
根據(jù)第八方面,提供了一種用于執(zhí)行上述方法的計算機程序代碼。
根據(jù)第九方面,提供了一種上面存儲有計算機可讀指令的永久計算機可讀存儲介質(zhì),當(dāng)該指令在計算機系統(tǒng)處處理時,使得計算機系統(tǒng)執(zhí)行上述方法。
附圖說明
現(xiàn)在將參照附圖用示例的方式來描述本發(fā)明。附圖中:
圖1示出了包括集線器裝置和遠(yuǎn)程裝置的示例系統(tǒng);
圖2示出了控制器的示例示意圖;
圖3例示了時間標(biāo)記的示例;
圖4a示出了時間比較單元的示例示意圖;
圖4b例示了用于確定兩個時間標(biāo)記之間的時間差的示例;
圖4c例示了用于確定兩個時間標(biāo)記之間的時間差的另一個示例;
圖4d例示了用于確定兩個時間標(biāo)記之間的時間差的又一個示例;
圖5例示了比較時間標(biāo)記的示例;
圖6例示了比較時間標(biāo)記的另一個示例;
圖7例示了延遲時鐘信號的示例;
圖8示出了用于分?jǐn)?shù)時鐘信號修改器的示例電路;
圖9示出了復(fù)用器單元的示例電路;
圖10例示了修改時鐘信號的示例;
圖11例示了增加和從時鐘信號去除時間的示例;以及
圖12示出了用于修改時鐘信號的示例處理。
具體實施方式
提出以下描述,以使得本領(lǐng)域任意技術(shù)人員能夠進(jìn)行并使用本發(fā)明,并且以下描述在特定應(yīng)用的場境中提供。對所公開實施方式的各種修改將對本領(lǐng)域技術(shù)人員容易地清晰。
這里所定義的一般原理可以在不偏離本發(fā)明的精神和范圍的情況下應(yīng)用于其他實施方式和應(yīng)用。由此,本發(fā)明不旨在限于所示的實施方式,而是符合與這里所公開的原理和特征一致的最寬范圍。
本公開涉及同步裝置。例如,一個裝置可能需要與另一個裝置同步,使得指定事件可以同時發(fā)生在這些裝置處。在另一個示例中,裝置中的部件可能需要與同一裝置中的另一個部件同步。仍然進(jìn)一步地,裝置處的各部件可能需要與另一個裝置處的多個部件同步。這里所述的示例與同步媒體裝置有關(guān),使得媒體可以在各個媒體裝置處同步播放??梢砸灶愃频姆绞酵綀?zhí)行其他時間關(guān)鍵任務(wù)的其他類型的裝置(例如,計算機、通信裝置、定位裝置等)。
圖1描繪了包括集線器裝置101和一個或更多個遠(yuǎn)程裝置102和103的示例媒體系統(tǒng)100。集線器裝置101包括媒體控制器106,該媒體控制器106用于控制要由遠(yuǎn)程裝置102和103輸出的媒體。集線器裝置101可以為例如智能電話、平板電腦、PC、膝上型電腦、智能手表、智能眼鏡、揚聲器、智能TV、AV接收器、混頻器、游戲機、游戲控制器、媒體中心、機頂盒、Hi-Fi等。集線器裝置101可以包括或連接到媒體源(未示出)。媒體源可以為例如內(nèi)部存儲裝置(例如,閃存、硬盤)、移動存儲裝置(例如,存儲卡、CD)、網(wǎng)絡(luò)存儲裝置(例如,網(wǎng)絡(luò)驅(qū)動器或云)、互聯(lián)網(wǎng)媒體供應(yīng)商(例如,串流服務(wù))、收音機(例如,DAB)、麥克風(fēng)等。
各遠(yuǎn)程裝置102和103包括(或連接到)分別用于播放媒體的媒體播放器107b和107c。集線器101可能需要媒體播放器107b和107c同步播出媒體。各個媒體播放器107b和107c可以向媒體輸出(諸如揚聲器、顯示器、振動反饋馬達(dá)、光等)提供媒體。集線器101還可以包括用于同步播放媒體的媒體播放器和輸出(未示出)。各媒體播放器107b和107c可以分別連接到無線通信裝置104b和104c,以接收用于播放的媒體或接收播出特定媒體的指令。媒體播放器107b和107c還可以從分別連接到裝置102和103的其他媒體源(未示出)接收媒體。遠(yuǎn)程裝置102和103可以為獨立揚聲器或顯示器或集成到其他裝置中,諸如智能電話、TV、插接站、Hi-Fi、智能手表、智能眼鏡、虛擬現(xiàn)實耳機等。
各裝置101至103可以分別包括用于彼此通信的通信裝置104a至104c。各通信裝置104a至104c可以分別包括提供用于該通信裝置的定時的時鐘105a至105c。各通信裝置104a-104c可以使用它的時鐘來例如協(xié)調(diào)裝置之間的通信(例如,協(xié)調(diào)用于接收和發(fā)送數(shù)據(jù)的時間)。在該示例中,通信裝置104a-104c為根據(jù)Wi-Fi協(xié)議通信的裝置。然而,通信裝置104a-104c可以為任意其他合適類型的有線或無線通信裝置,諸如藍(lán)牙、以太網(wǎng)、USB、Zigbee、LTE、I2S、S/PDIF等。
在Wi-Fi示例中,時鐘105a-105c可以為用作Wi-Fi通信的定時源的物理層時鐘。Wi-Fi標(biāo)準(zhǔn)提供由接入點(AP)向各站(STA)定期廣播的定時信標(biāo)(時間同步函數(shù)TSF)。需要TSF由根據(jù)TSF重置自己的時鐘的接收器來處理。由此,物理層時鐘105a-105c可以使用TSF來同步。在圖1的示例中,集線器裝置101或遠(yuǎn)程裝置102或103中的任何一個可以為AP。
各裝置101至103可以包括提供用于播放媒體的定時的時鐘。在圖1示例中,媒體控制器106包括時鐘108a,并且媒體播放器107b和107c分別包括時鐘108b和108c。
上述各個時鐘(Wi-Fi時鐘105a-105c和媒體時鐘108a-108c)可以生成時鐘頻率f的時鐘信號,該信號可以為可調(diào)諧的。各時鐘可以以相同或不同的時鐘頻率來工作。各時鐘可以從第一值(例如,0)至第二值(例如,1)改變它的值,并且可以每隔時鐘周期p返回到第一值。時鐘周期p=1/f。圖3中描繪了示例時鐘信號301。各塊可以使用PLL(未示出)來調(diào)諧,該PLL可由適當(dāng)?shù)目刂栖浖砜刂啤?/p>
在示例場景中,集線器裝置101處的媒體控制器106可以(例如,經(jīng)由Wi-Fi)指示各個遠(yuǎn)程裝置102和103執(zhí)行時間敏感任務(wù)。例如,時間敏感任務(wù)可以為在各遠(yuǎn)程裝置102和103處同步播放媒體。這可以包括從各個遠(yuǎn)程裝置102和103同步播放同一媒體(例如,對于多房間播放)或同步播放媒體的不同分量(諸如左右立體聲通道)二者之一。媒體的同步播放依賴于彼此及時同步的媒體播放器107b和107c。然而,時鐘108b與108c之間的時鐘偏移可能使得媒體播放器107b和107c隨著時間的經(jīng)過而丟失同步且由此使得要播放的媒體不同步。
各媒體控制器107b和107c包括用于分別提供來自時鐘108b和108c的同步時鐘信號的同步控制器109b和109c。
在第一場景中,各同步控制器109b和109c可以提供與公共(或參考)時鐘同步的時鐘信號。在該示例中,基準(zhǔn)時鐘可以為集線器裝置101的Wi-Fi時鐘105a。如上所提及的,時鐘105b和105c經(jīng)由TSF與時鐘105a同步。由此,媒體時鐘108b和108c分別與TSF同步的Wi-Fi時鐘105b和105c的同步將使得媒體時鐘108b和108c彼此同步。因此,在該示例中,同步通過控制器109b提供與Wi-Fi時鐘105b同步的時鐘信號和控制器109c提供與Wi-Fi時鐘105c同步的時鐘信號來實現(xiàn)。另選地,所接收的TSF可以直接提供給各控制器109b和109c,以提供用于同步時鐘信號的定時參考。
在第二場景中,僅控制器109b或109c中的一個執(zhí)行同步。例如,控制器109b可以提供與媒體控制器107c直接同步的時鐘信號。這可以通過裝置103經(jīng)由例如通信裝置104b和104c向裝置102直接且定期發(fā)送定時消息(諸如聲脈沖)來實現(xiàn)。控制器109b然后可以提供根據(jù)所接收的定時消息同步的時鐘信號。
下面進(jìn)一步詳細(xì)描述由控制器109b和109c中的一個或兩個進(jìn)行的同步處理。為簡單起見,以下討論提及僅由控制器109b執(zhí)行的同步。該同步可以為上述第一或第二場景或可能需要裝置102與另一個裝置同步的任意其他場景中執(zhí)行的同步。
圖2是同步控制器109b的示例示意圖??刂破?09b可以包括第一時間標(biāo)記生成器201、第二時間標(biāo)記生成器202、時間比較單元203、整數(shù)時鐘信號修改器204和分?jǐn)?shù)時鐘信號修改器205??刂破?09b的各部件201至205具有可以獨立于其他部件進(jìn)行的特定功能(如下面進(jìn)一步所述)。
控制器109b向與時鐘105b同步的媒體播放器107b提供同步時鐘信號??刂破?09b可以從時鐘108b接收時鐘信號并經(jīng)由整數(shù)時鐘信號修改器204和/或分?jǐn)?shù)時鐘信號修改器205修改該信號,以提供與時鐘105b同步的所修改的時鐘信號。由此,不是重新調(diào)諧時鐘108b,而是由時鐘108b輸出的信號被修改為使得與時鐘105b同步。所修改的時鐘信號被提供給媒體播放器107b,媒體播放器107b將該時鐘信號用于定時。另選地,控制器109b可以用來確定時鐘105b與108b之間的時間差,然后將時鐘108b(例如通過調(diào)諧時鐘PLL)調(diào)節(jié)為與時鐘105b同步。在該實施方案中,來自時鐘108b的時鐘信號被提供給媒體播放器107b而不是時鐘信號的修改版本。
下面是控制器109b的各個部件的詳細(xì)描述。如上面所提及的,各個部件可以獨立于其他部件而工作,并且在其他實施方案中可以獨立設(shè)置。例如,時間比較單元203可以設(shè)置在需要確定(任意合適類型的)兩個信號之間的時間差的任意其他合適裝置中。在另一個示例中,分?jǐn)?shù)時鐘修改器205可以設(shè)置在暫時漂移的(任意類型的)信號的任意其他合適裝置中。
時間標(biāo)記生成器
第一時間標(biāo)記生成器201和第二時間標(biāo)記生成器202生成代表要同步的時鐘上的時間的信號(諸如時間標(biāo)記)。例如,可以為時鐘108b要與時鐘105同步(例如,與上述的第一場景中相同)。在這種情況下,代表時鐘105b處的時間的信號提供給時間標(biāo)記生成器中的一個(例如,生成器201),并且代表時鐘108b處的時間的信號提供給另一個時間標(biāo)記生成器(例如,生成器202)。時間標(biāo)記生成器201和202根據(jù)各時鐘輸出代表相同時間的輸出時間標(biāo)記。由此,如果時鐘105b和108b同步,則由生成器201和202輸出的時間標(biāo)記將相同。如果時鐘105b和108b不同步,那么由生成器201和202輸出的時間標(biāo)記將偏移時鐘105b和108b不同步的時間差。來自生成器201和202的信號提供給時間比較單元203,以確定信號之間的時間差。
提供給生成器201和202的信號可以為由時鐘105b和108b中的每一個輸出的時鐘信號。生成器201和202可以接收時鐘信號并根據(jù)這兩個時鐘輸出指示該相同特定時間的時間標(biāo)記。如圖3所示,由各生成器201和202輸出的時間標(biāo)記的類型可以為例如特定時間t生成的脈沖303a或極性在時間t時變化的信號303b。生成器201和202可以根據(jù)時鐘105b和108b中的每一個輸出在特定時間量經(jīng)過之后變化的輸出時間標(biāo)記。例如,生成器201和202可以根據(jù)該時鐘輸出每隔y秒(例如,20微秒)極性跳動或變化的信號。
在另一個示例中,時鐘處的時間可以經(jīng)由與該時鐘同步的工作或任務(wù)或事件來間接獲得。如圖3的示例所示,時間標(biāo)記可以依賴播出媒體幀302的時間來生成。媒體幀302根據(jù)時鐘108b而可能需要在設(shè)置時間t時播出。當(dāng)時鐘108b運行至?xí)r間t時,媒體幀302開始播出。由此,媒體幀302開始播出的時刻可以指示根據(jù)媒體時鐘108b的時間t。時間標(biāo)記303a或303b可以在幀302的開始時生成,并且該時間標(biāo)記將指示根據(jù)時鐘108b的時間t。圖3中描繪了該示例,示出了由于時間t時的播出而產(chǎn)生的媒體幀302(即,在幀中具有n-1各數(shù)據(jù)位)。在該示例中,第二時間標(biāo)記生成器202將幀302是由于從媒體播放器107b播出產(chǎn)生而不是來自媒體時鐘108b的時鐘信號的時間的指示作為生成器202的輸入而接收。第二時間標(biāo)記生成器202可以輸出在各幀開始時變化的時間標(biāo)記信號303a或303b。所生成的時間標(biāo)記信號提供給時間比較單元203。在該示例中,第一時間標(biāo)記生成器201根據(jù)WiFi時鐘105b在時間t時生成時間標(biāo)記。例如,第一時間標(biāo)記生成器201從WiFi時鐘105b接收時鐘信號,并且當(dāng)該時鐘運行至?xí)r間t時,生成器201輸出時間標(biāo)記信號303a或303b。
在另一個示例中,第一時間標(biāo)記生成器201可以依賴由通信裝置104b接收的信號生成時間標(biāo)記。例如,通信裝置104b可以為從接入點(AP)接收定時信標(biāo)(TSF)的Wi-Fi裝置。信標(biāo)可以包括生成信標(biāo)且由AP發(fā)送信標(biāo)的(根據(jù)AP處的時鐘的)時間的時間戳。信標(biāo)需要由接收器作為優(yōu)先事項處理,并且隨著由AP廣播信標(biāo),接入點與各接收器之間存在快速直接路徑。由此,接收信標(biāo)同時向各接收裝置(例如,裝置102和103)提供接入點的時鐘處的時間的準(zhǔn)確指示。在示例中,AP時鐘為集線器101處的時鐘105a。一由遠(yuǎn)程裝置102的通信裝置104b接收信標(biāo),第一時間標(biāo)記生成器201就可以提供有該信標(biāo)。另選地,可以向第一時間標(biāo)記生成器201提供接收信標(biāo)的指示。第一時間標(biāo)記生成器201然后在一接收信標(biāo)(或指示)時就輸出時間標(biāo)記。(來自生成器201的)所生成的時間標(biāo)記提供根據(jù)集線器101的時鐘105a的時間戳?xí)r間的指示。第二時間標(biāo)記生成器202還可以提供有所接收信標(biāo)(或所接收信標(biāo)中的時間戳信息)。第二時間標(biāo)記生成器202然后在時鐘108b標(biāo)記于時間戳?xí)r間時生成時間標(biāo)記。由此,生成器202處生成的時間標(biāo)記指示根據(jù)時鐘108b的時間戳?xí)r間。所生成的時間標(biāo)記被提供給比較兩個標(biāo)記之間的時間差的時間比較單元203。
在上述示例中,時間戳的調(diào)節(jié)值可以用于在時間標(biāo)記生成器202處生成時間標(biāo)記。例如,所接收時間戳值可以通過增加等于在通信裝置104b的媒體/物理接口處接收信標(biāo)與在時間標(biāo)記生成器201處接收信標(biāo)(或接收信標(biāo)的指示)之間的延遲的時間量來調(diào)節(jié)。由此,第二時間標(biāo)記生成器202在時鐘108b標(biāo)記于時間戳?xí)r間加上用于在時間標(biāo)記生成器201處接收信標(biāo)(或其指示)的延遲時生成時間標(biāo)記。
另選地,Wi-Fi裝置104b可以根據(jù)所接收的信標(biāo)來生成時間標(biāo)記,并且直接向比較單元203而不是第一時間標(biāo)記生成器201提供時間標(biāo)記。
時間標(biāo)記提供根據(jù)各種裝置的時間的簡單代表。這允許快速且簡單地比較時間,并且比較可以在快速且有效的硬件裝置(諸如邏輯門)處進(jìn)行。時間標(biāo)記還可以用于檢查是否在時間敏感系統(tǒng)中同時/同速率觸發(fā)事件。
時間比較單元
時間比較單元203將從時間標(biāo)記生成器201和202接收的信號(即,時間標(biāo)記)進(jìn)行比較,以確定兩個信號之間的時間差。時間比較單元203確定兩個信號之間的時間差大于等于時鐘108b的一個時鐘周期還是小于時鐘108b的一個時鐘周期?;谠摯_定,選擇用于修改來自時鐘108b的時鐘信號的適當(dāng)技術(shù)。如果差小于一個時鐘周期,那么選擇分?jǐn)?shù)時鐘信號修改器205來執(zhí)行時鐘信號的修改。如果差大約或等于一個時鐘周期,那么僅選擇整數(shù)時鐘信號修改器204或選擇與修改器205組合的整數(shù)時鐘信號修改器204來執(zhí)行時鐘信號的修改。在另一個示例中,如果差大于一個時鐘周期,則時間比較單元203可以僅選擇分?jǐn)?shù)時鐘信號修改器205來執(zhí)行修改。下面進(jìn)一步詳細(xì)地討論修改器204和205的操作。
圖4a是時間比較單元203的示例示意圖。時間比較單元接收分別由生成器201和202生成的時間標(biāo)記401和402。時間比較單元203包括用于計算時間標(biāo)記401與402之間的(時鐘108b的)時間周期的數(shù)量的計數(shù)器403。計數(shù)器在來自時間標(biāo)記的信號變化時開始計算時鐘周期的數(shù)量,并且在來自另一個時間標(biāo)記的信號變化時停止計數(shù)。圖4b例示了標(biāo)記401與402之間的時間差為一個時鐘周期且因此由計數(shù)器403測量計數(shù)1的場景。如果計數(shù)器403測量計數(shù)1或更多,那么確定時間標(biāo)記401與402之間的時間差大于或等于時鐘108b的一個時鐘周期,并且確定將使用整數(shù)修改器204修改來自時鐘108b的時鐘信號。
時間比較單元203包括用于確定標(biāo)記401與402之間的時間差小于一個時鐘周期(即,分?jǐn)?shù)個時鐘周期)的分?jǐn)?shù)差估計器404。圖4c例示了時間標(biāo)記401與402之間的時間差小于時鐘周期的場景。分?jǐn)?shù)差估計器404包括用于將時間標(biāo)記中的一個延遲不同量以提供該時間標(biāo)記的不同延遲版本的延遲單元405。在該示例中,延遲(代表媒體時鐘108b上的時間的)時間標(biāo)記402。延遲單元405可以包括用于延遲所輸入時間標(biāo)記的多個延遲緩沖器。圖4c中例示了這一點,示出了延遲時間標(biāo)記402以提供時間標(biāo)記信號402的延遲版本402a、402b、402c的延遲緩沖器405a、405b以及405c。各個延遲版本然后與另一個時間標(biāo)記401進(jìn)行比較,以確定哪個延遲版本402a、402b或402c與時間標(biāo)記401最緊密匹配(在時間上),如圖4c中406所例示。在圖4c示例中,所延遲版本402c為時間標(biāo)記401的最緊密匹配延遲版本。分?jǐn)?shù)差估計器404可以包括用于將時間標(biāo)記401的各個延遲版本與另一個標(biāo)記402進(jìn)行比較的比較單元407。
應(yīng)用于最緊密匹配延遲信號(402c)的延遲量(405a、405b以及405c的和)對應(yīng)于標(biāo)記401與402之間的時間差。各個延遲緩沖器405a-405c可以應(yīng)用例如3ns的延遲。信號402穿過所有三個延遲緩沖器405a、405b以及405c,以提供延遲版本401c。由此,應(yīng)用于版本401c的總延遲為9ns,因此標(biāo)記401與402之間的時間差被估計為9ns。
延遲單元405將時間標(biāo)記延遲n個延遲,其中,各個延遲不同。優(yōu)選地,以預(yù)定時間量(例如,2ns、3ns或4ns等)的增量來延遲時間標(biāo)記,以提供越來越延遲的延遲版本。例如,延遲單元405可以提供時間標(biāo)記信號的n個延遲版本,其中,第i個延遲版本的延遲為:
延遲(i)=iT,其中,i=1,2,3……,并且T為預(yù)定時間量。
如上面關(guān)于圖4c所述,延遲單元405可以包括用于延遲時間標(biāo)記信號的一系列延遲緩沖器。系列中各延遲緩沖器的輸出可以提供給系列中下一緩沖器的輸入。信號線路可以連接到各緩沖器的輸出,以向比較單元407提供時間標(biāo)記信號的各延遲版本。
比較單元407接收時間標(biāo)記401、時間標(biāo)記402以及各個延遲版本402a-402c,作為其輸入。比較單元407將時間標(biāo)記401與時間標(biāo)記402和各個延遲版本402a-402c進(jìn)行比較。在該示例中,信號通過確定各個延遲版本401a-401c的上升邊緣出現(xiàn)的時間和確定這些所確定時間中的哪一個最接近于時間標(biāo)記信號401的上升邊緣出現(xiàn)的時間。
如果時間標(biāo)記信號為脈沖信號(例如,諸如303a,如上參照圖3所述),那么比較單元407可以在信號401從一個狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€時(例如,在檢測信號401的上升邊緣時)從用于延遲版本402a-402c的各個信號線路捕獲數(shù)據(jù)。如果時間標(biāo)記信號為電頻信號(303b),那么比較單元407可以在檢測信號401的上升邊緣或下降邊緣時從用于延遲版本402a-402c的信號線路捕獲數(shù)據(jù)。由此,可以僅在檢測來自信號401的上升邊緣(以及用于電平時間標(biāo)記的下降邊緣)時啟用比較單元407。這與連續(xù)監(jiān)測時鐘之間的漂移或傳統(tǒng)超頻方法相比節(jié)省功率要求。
圖5描述了比較單元407如何將時間標(biāo)記401與時間標(biāo)記402和時間標(biāo)記402的延遲版本402a-402d進(jìn)行比較的一個示例。在該示例中,延遲版本402b為401的最緊密匹配信號(而不是之前示例中的402c)。在該示例中,延遲單元405提供增量延遲的信號402a-402d。系列中的該第一延遲線路應(yīng)用延遲T,以提供信號402a,第二延遲線路應(yīng)用延遲2T,以提供信號402b,第三延遲線路應(yīng)用延遲3T,以提供信號402c等??梢詫π盘?01和信號402以及各延遲版本402a-402d執(zhí)行異或(XOR)運算。XOR運算的結(jié)果通常在500處示出。XOR運算的結(jié)果可以在時間t1時檢測信號401的上升邊緣時捕獲。如圖5所示,信號402在信號401之前(在時間山)。由此,當(dāng)信號401轉(zhuǎn)變至不同狀態(tài)(例如,更高狀態(tài),如圖所示)時,信號402已處于該狀態(tài)。當(dāng)信號401和402在時間t1時為XOR的時,則結(jié)果如DL(0)處示的為“0”。因為延遲信號402仍然在信號401之前,所以延遲信號402a的XOR(DL(1)處所示的)在時間t1時也產(chǎn)生結(jié)果“0”。應(yīng)用于信號402b的延遲使得信號402b類似于信號401。因為XOR輸入相同,所以信號402b也產(chǎn)生XOR結(jié)果“0”(如DL(2)處所示)。應(yīng)用于延遲信號402c和401d的延遲使得這些信號被延遲為它們在信號401之后(在世間上)。這使得它們在時間t1時的XOR結(jié)果(DL(3)和DL(4)處分表所示)在為“1”。由此,t1時所捕獲的XOR結(jié)果為“00011”(以上升的延遲順序)。
分?jǐn)?shù)差估計器404可以包括用于基于由比較單元407提供的XOR結(jié)果來估計時間標(biāo)記401與402之間的延遲的時間識別器408。所捕獲結(jié)果中從“0”至“1”的轉(zhuǎn)變識別信號402-402d中的哪一個為信號401的最緊密匹配。對應(yīng)于t1時緊接第一“1”值之前的“0”值的延遲線路(即,最延遲的“0”延遲線路)對應(yīng)于具有最緊密匹配信號的延遲線路。已知由各延遲線應(yīng)用的延遲量,因此延遲識別器408通過確定應(yīng)用于時間標(biāo)記402的最緊密匹配的延遲版本的延遲量來估計時間標(biāo)記401與402之間的時間差。該時間差指示時鐘105b和時鐘108b不同步的時間量。延遲識別器408提供給分?jǐn)?shù)時鐘信號修改器205所識別的時間差。
在上述示例中,時間標(biāo)記402在時間標(biāo)記401之前(因為時鐘108b比時鐘105b快),因此可以提供時間標(biāo)記402的延遲版本,以與時間標(biāo)記401比較。在時間標(biāo)記401在時間標(biāo)記402之前的場景中(因為時鐘105b比時鐘108b快),將時間標(biāo)記401的延遲版本401a-401d與時間標(biāo)記402的XOR將如圖6例示產(chǎn)生一系列“1”,因此將無法確定標(biāo)記401與402之間的時間差。由此,如圖6所示,第二延遲單元405a可以被設(shè)置為包括用于提供時間標(biāo)記401的延遲版本401a-401d的第二系列的延遲緩沖器。第二比較單元(未示出)也可以被設(shè)置為將時間標(biāo)記402與各個延遲版本401a-401d進(jìn)行比較,以確定延遲版本401a-401d中的哪一個與時間標(biāo)記402最緊密匹配(在時間上)。第二比較單元可以以與上述比較單元407類似的方式來操作。來自兩個比較單元的輸出可以提供給延遲識別器408,以確定:1)哪個時間標(biāo)記401或402更快;和2)根據(jù)更快時間標(biāo)記的延遲版本的輸出,確定時間標(biāo)記401與402之間的時間差。例如,使用圖5和圖6中的示例,差估計器408可以提供有來自比較單元407的輸出“00011”和來自第二比較單元的輸出“11111”。因為在來自比較單元407的輸出中有從“0”至“1”的轉(zhuǎn)變,所以確定時間標(biāo)記402比時間標(biāo)記401更快。來自比較單元407的輸出然后用于如上所述確定時間標(biāo)記401與402之間的時間差。
時間比較單元203從以下部分輸出結(jié)果:(i)如果標(biāo)記401與402之間的時間差等于或等于一個時鐘周期,則從計數(shù)器403輸出;或(ii)如果時間差小于一個時鐘周期,則從分?jǐn)?shù)差估計器404輸出結(jié)果。來自計數(shù)器403的輸出提供給整數(shù)時鐘信號修改器204,來自分?jǐn)?shù)差估計器404的輸出提供給分?jǐn)?shù)時鐘信號修改器205。另選地,由計數(shù)器403或估計器404確定的時間差可以提供給可以基于確定差更新時鐘108b的時鐘控制器(諸如PLL調(diào)諧器,未示出)。
在另選實施方案中,分?jǐn)?shù)差估計器404可以識別大于一個時鐘周期的延遲。這可以通過提供足夠的延遲緩沖器使得大于一個時鐘周期的延遲可以應(yīng)用于提供大于一個時鐘周期的時間標(biāo)記402的延遲版本來實現(xiàn)。圖4d中例示了這一點,示出了用于分別提供時間標(biāo)記402的延遲版本402d-402g的另外緩沖器405d-405g。類似于圖4c,各個延遲版本然后與時間標(biāo)記401進(jìn)行比較,以確定延遲版本402a-402g中的哪一個最緊密匹配(在時間上)時間標(biāo)記401,如圖4d中的406a所例示。由此,在該示例中,分?jǐn)?shù)差估計器404將延遲版本402g識別為時間標(biāo)記401的最緊密匹配信號,該版本被延遲大約1.7個時鐘周期。
時鐘修改
提供給媒體播放器107b的時鐘信號可以基于由時間比較單元203確定的時間差來修改。在一個示例中,由時間比較單元203確定的時間差可以提供給能夠調(diào)節(jié)時鐘信號的源(例如,時鐘108b)的時鐘控制器。例如,如果時鐘源為PLL時鐘生成器,那么PLL可以被控制為重新調(diào)諧時鐘,使得估計所確定的時間差,由此同步時鐘108b與時鐘105b。因為時鐘源的重新調(diào)諧花費一些時間使時鐘源穩(wěn)定至新相位/頻率,所以重新調(diào)諧為較慢的過程。由此,因為修改可以較快地進(jìn)行,所以可以有利的是修改由時鐘源輸出的信號(而不是重新調(diào)諧時鐘源)。所修改的時鐘信號然后可以提供給媒體播放器107b。
如果由時間比較單元203確定的時間差使得時鐘108b在時鐘105b之前一個或更多個時鐘周期,則計數(shù)器403向整數(shù)時鐘信號修改器204提供時間差。整數(shù)時鐘信號修改器204從時鐘108b(直接或經(jīng)由分?jǐn)?shù)時鐘信號修改器205,如圖2所示)接收時鐘信號,并且通過使得跳過一個或更多個時鐘脈沖來修改該信號。例如,如果由計數(shù)器403確定的時間差為該時鐘108b在時鐘105b之前N個時鐘周期,則修改器204將使得跳過N個時鐘脈沖。這具有使時鐘信號減速或延遲N個時鐘周期的效果。圖7中例示了這一點,示出了來自時鐘105b的初始時鐘信號701和通過在703處跳過一個時鐘脈沖修改的所修改時鐘信號702。整數(shù)時鐘信號修改器204可以通過選通用于需要去除的N個脈沖的時鐘信號701來使得跳過N個脈沖。現(xiàn)在同步的所修改信號702提供給媒體播放器107b。
如果由時間比較單元203確定的時間差使得時鐘108b在時鐘105b之前不到一個時鐘周期,則分?jǐn)?shù)差估計器404向分?jǐn)?shù)時鐘信號修改器205提供時間差。分?jǐn)?shù)修改器205從時鐘108b接收時鐘信號并通過使得將時鐘信號延遲所確定的時間差來修改該信號。圖8例示了包括延遲單元801和復(fù)用器單元802的分?jǐn)?shù)時鐘修改器205的示例。延遲單元801從時鐘108b接收時鐘信號701,并且將時鐘信號701延遲多個延遲,以提供時鐘信號701的多個延遲版本。延遲單元801包括一系列延遲緩沖器,該延遲緩沖器以與延遲單元405(上述)類似的方式提供時鐘信號的多個延遲版本。時鐘信號的各延遲版本提供給復(fù)用器單元802。復(fù)用器單元802從分?jǐn)?shù)差估計器404接收分?jǐn)?shù)時間差,并且選擇被延遲對應(yīng)于分?jǐn)?shù)時間差的時間量的時鐘信號的延遲版本。所選延遲版本提供給整數(shù)時鐘信號修改器204,以進(jìn)一步修改,或提供給媒體播放器107b,以提供同步的時鐘信號。
優(yōu)選地在使用分?jǐn)?shù)時鐘信號修改器205修改時鐘信號時,增量地執(zhí)行時鐘信號的不同延遲版本之間的切換。這有助于保持媒體播放器107b和控制器109b穩(wěn)定。圖9例示了用于增量地修改時鐘信號701的示例。在該示例中,延遲單元具有15個延遲線路,各延遲線路將時鐘信號701增量地各延遲3ns(因此,在第15個延遲線路處提供45ns的延遲)。該示例中的復(fù)用器單元802包括級聯(lián)架構(gòu)的四個4:1復(fù)用器802a-802d。復(fù)用器802a提供有初始時鐘信號701(零延遲)和來自延遲單元801的信號701的前三個延遲版本(即,延遲3ns、6ns以及9ns),復(fù)用器803b提供有隨后的四個延遲版本(即,延遲12ns、15ns、18ns以及21ns)等。設(shè)置從復(fù)用器802a-802d接收輸出并輸出對應(yīng)于所選延遲線路的信號的或(OR)門802e。如果例如由分?jǐn)?shù)差估計器404確定的時間差為36ns,則復(fù)用器802a-802d被設(shè)置為使得延遲在多個個時鐘周期期間被增量地增大至36ns。例如,復(fù)用器可以被設(shè)置為通過如下切換來增大延遲:(i)從信號701(具有零延遲)至9ns延遲;(ii)從9ns延遲至18ns延遲;(iii)從18ns延遲至27ns延遲;以及(iv)從27ns延遲至36ns延遲。各增量可以在預(yù)訂數(shù)量的時鐘周期之后(例如每隔四個周期)進(jìn)行,以幫助穩(wěn)定性。
分?jǐn)?shù)修改器205能夠?qū)r鐘信號修改一個或多于一個時鐘周期。在該示例中,時間比較單元203可以向分?jǐn)?shù)修改器205而不是向整數(shù)修改器204提供一個或更多個時鐘周期的時間差。圖10例示了分?jǐn)?shù)修改器205可以如何將時鐘信號延遲一個或更多個時鐘周期的示例。在圖10中,Clk為時鐘信號701,并且clk_d1至clk_d4為clk.d的延遲版本。d為緩沖器延遲且在該示例中為四分之一時鐘周期。這意味著分?jǐn)?shù)延遲補償所需的緩沖器數(shù)量為:
因此,如果所觀察的延遲(例如,估計的時間比較單元203)為3*d,那么由分?jǐn)?shù)修改器205跟著進(jìn)行以下步驟:
1.將clk切換至clk_d1
2.將clk_d1切換至clk_d2
3.將clk_d2切換至clk_d3
這將提供被延遲3*d或3/4時鐘周期的所修改時鐘信號。
如果需要將時鐘信號進(jìn)一步延遲4*d(4*d等同于一個時鐘周期的整數(shù)延遲),那么有兩個選項:(i)插入另一個延遲緩沖器并從clk_d3切換至clk_d4;或者(ii)返回clk。
延遲線路可以被構(gòu)造成循環(huán)的,使得從clk_d3→clk_d4或從clk_d3→clk將具有相同的效果(因為它們之間沒有分?jǐn)?shù)延遲,僅有一個整數(shù)延遲)。延遲鏈可以超過這一點;如果系統(tǒng)必須補償1.5個時鐘周期的時間差(等同于將6個時間延遲d引入到系統(tǒng)中),則可以實施以下切換鏈:
Clk→clk_d1→clk_d2→clk_d3→clk→clk_d1→clk_d2
這將提供被延遲6*d或1.5個時鐘周期的所修改時鐘信號。
延遲線路的循環(huán)性質(zhì)的一個優(yōu)點是系統(tǒng)可以在不需要另外的資源(諸如額外的延遲緩沖器)的情況下補償大于一個時鐘周期的延遲。另選地,分?jǐn)?shù)修改器205可以設(shè)置有(例如,以與圖4d類似的方式)提供大于一個時鐘周期的總延遲的額外延遲緩沖器。
由控制器109b輸出的所修改時鐘信號可以相對于時鐘105b隨著時間的經(jīng)過而漂移。所修改的時鐘信號可以通過比較所修改時鐘信號與來自時鐘105b的時鐘信號之間的時間差來與時鐘105b再同步。在這種情況下,來自控制器109b的所修改時鐘信號提供給時間標(biāo)記生成器202,以生成用于所修改時鐘信號的時間標(biāo)記。所生成的時間標(biāo)記與對于時鐘105b生成的時間標(biāo)記進(jìn)行比較。如果(例如,經(jīng)由時間比較單元203)確定時鐘105b在來自控制器109b的所修改時鐘信號之前(即,快于所修改時鐘信號),那么分?jǐn)?shù)時鐘修改器205可以切換到具有比當(dāng)前延遲線路更小的延遲的新延遲線路。新延遲線路與當(dāng)前延遲線路之間的差將對應(yīng)于時鐘105b在所修改時鐘信號之前的時間量。這一點由圖11中的示例來例示。由控制器109b輸出的所修改時鐘信號在1001處示出,并且來自時鐘108b的初始時鐘信號在701處示出。在1002處,通過在對應(yīng)于x秒延遲的分?jǐn)?shù)時鐘修改器205處通過選擇延遲線路引入x秒的延遲來修改時鐘信號。一些時間之后,所修改時鐘信號1001與來自時鐘105b(未示出)的時鐘信號進(jìn)行比較,并且確定時鐘105b現(xiàn)在比所修改的信號1001快y秒。在1003處,通過選擇小于當(dāng)前x秒延遲線路y秒的延遲線路來將所修改的信號1001減去y秒。由此,在1003處選擇x-y秒延遲線路,以使所修改時鐘信號1001轉(zhuǎn)移y秒,使得所修改時鐘信號1001與時鐘105b同步。
優(yōu)選地,時鐘108b被構(gòu)造成比要同步的時鐘(例如,時鐘105b)稍快運行。這可以通過調(diào)諧時鐘108b使得時鐘108b具有比時鐘105b的時鐘頻率大最小可能可控增量的時鐘頻率來實現(xiàn)。這有助于確保時鐘108b將在時鐘105b之前,使得整數(shù)和/或分?jǐn)?shù)修改器204和205可以通過應(yīng)用適當(dāng)延遲來修改來自時鐘105b的時鐘信號并由此提供與時鐘105b同步的所修改時鐘信號。
圖12例示了可以由用于提供與時鐘105b同步的時鐘信號的控制器109b執(zhí)行的處理。在步驟1101處,時間差測量處理開始。在該步驟中,可以通過例如生成時間標(biāo)記(如上所述)并(例如,使用時間比較單元203)估計這些標(biāo)記之間的時間差來將時鐘105b與時鐘108b進(jìn)行比較。在步驟1102處,確定所估計的時間差是否小于一個時鐘周期。如果時間差小于一個時鐘周期,則處理移至步驟1103。否則,處理移至步驟1104。在步驟1103處,如上所述關(guān)于分?jǐn)?shù)時鐘信號修改器205通過將來自時鐘108b的時鐘信號調(diào)節(jié)所估計的分?jǐn)?shù)時間差來修改該信號。處理然后返回到步驟1101,以下一測量的處理。在步驟1104處,確定對應(yīng)于時間差的時鐘脈沖的數(shù)量。在步驟1105處,從時鐘108b的時鐘信號去除所確定數(shù)量的時鐘脈沖。另選地,步驟1105可以在如上所述能夠?qū)r鐘信號調(diào)節(jié)一個或多于一個分?jǐn)?shù)個時鐘周期時鐘信號修改器205處執(zhí)行。處理然后返回到步驟1101,以下一測量。
上述時間差測量和時鐘修改方法可以主要基于硬件(例如,使用延遲緩沖器來確定時間差,選通時鐘信號,使用延遲緩沖器和復(fù)用器來修改時鐘信號)。該硬件方法需要最小的軟件介入,最小軟件介入可以為資源饑渴的且空出軟件處理資源,以執(zhí)行其他任務(wù)或睡眠。具體地,使用硬件方法執(zhí)行定期的時間差測量而不是經(jīng)由軟件監(jiān)測時間差節(jié)省大量的資源。這將幫助確保所修改的時鐘信號保持與時鐘105b緊密同步。該錯誤隔離保持所同步的系統(tǒng)穩(wěn)定,并且防止否則將是所同步系統(tǒng)不穩(wěn)定的錯誤積累。使用基于硬件的方法的另一個優(yōu)點是可以處理器入睡且僅偶爾喚醒處理器以簿記。這產(chǎn)生大功率節(jié)省,大功率節(jié)省對于提高電池供電裝置的電池壽命特別有利。
圖1、圖2、圖4a以及圖8的裝置被示出為包括多個功能塊。這僅是示意性的且不旨在定義這種實體的不同邏輯元件之間的嚴(yán)格劃分。各功能塊可以以任意合適的方式來設(shè)置。
通常,上述功能、方法、技術(shù)或部件中的任意一個可以在軟件、固件、硬件(例如,固定邏輯電路)或其任意組合中實施。術(shù)語“模塊”、“功能”、“部件”、“元件”、“單元”、“塊”以及“邏輯”在這里可以用于總體表示軟件、固件、硬件或其任意組合。在軟件實施的情況下,模塊、功能、部件、元件、單元、塊或邏輯代表在處理器上執(zhí)行時執(zhí)行指定任務(wù)的程序代碼。這里所述的算法和方法可以由執(zhí)行使得處理器執(zhí)行算法/方法的代碼的一個或更多個處理器來執(zhí)行。計算機可讀存儲介質(zhì)的示例包括隨機存儲存儲器(RAM)、只讀存儲器(ROM)、光盤、閃存、硬盤存儲器以及可以將磁、光以及使用其他技術(shù)來存儲指令或可以由機器訪問的其他數(shù)據(jù)的其他存儲裝置。
如這里所用的術(shù)語計算機程序代碼和計算可讀指令提及用于處理器的任意種類的可執(zhí)行代碼,該代碼包括以機器語言、解釋語言或腳本語言表達(dá)的代碼。可執(zhí)行代碼包括二進(jìn)制代碼、機器代碼、字節(jié)代碼、定義集成電路的代碼(諸如硬件描述語言或網(wǎng)絡(luò)列表)以及以編程語言代碼(諸如C、Java或OpenCL)表達(dá)的代碼??蓤?zhí)行代碼例如可以為任意種類的軟件、固件、腳本、模塊或庫,它們在被在虛擬器或其他軟件環(huán)境處適當(dāng)執(zhí)行、處理、解釋、編譯并執(zhí)行時,使得支持可執(zhí)行代碼的計算機系統(tǒng)的處理器執(zhí)行由代碼執(zhí)行的任務(wù)。
處理器、計算機或計算機系統(tǒng)可以為具有處理能力使得可以執(zhí)行指令的任意種類的裝置、機器或?qū)S秒娐坊蚱渚奂虿糠?。處理器可以為任意種類的通用或?qū)S锰幚砥鳎T如CPU、GPU、片上系統(tǒng)、狀態(tài)機、媒體處理器、專用集成電路(ASIC)、可編程邏輯陣列、現(xiàn)場可編程門陣列(FPGA)等。計算機或計算機系統(tǒng)可以包括一個或更多個處理器。
定義集成電路的代碼可以以任意方式(包括作為網(wǎng)絡(luò)列表、用于構(gòu)造可編程芯片的代碼以及作為定義任意級的集成電路的硬件描述語言(包括作為寄存器傳送級(RTL)代碼、作為高級電路表示(諸如Verilog或VHDL)以及作為低級電路表示(諸如OASIS和GDSII)))來定義集成電路。當(dāng)在被構(gòu)造成生成集成電路的顯示的適當(dāng)裝配的計算機系統(tǒng)處處理時,定義集成電路的代碼可以使得計算機系統(tǒng)生成由代碼表達(dá)的集成電路的顯示。這種計算機系統(tǒng)可以使得例如通過提供用于控制被構(gòu)造成制造集成電路或制造集成電路的中間表達(dá)(諸如光刻掩膜)的輸出來生成集成電路的顯示。
邏輯上定義集成電路的更高級表示(諸如RTL)可以在計算機系統(tǒng)處處理,該計算機系統(tǒng)被構(gòu)造成在為了生成由表示這樣定義的集成電路的表現(xiàn)而包括電路元件的定義和用于組合這些元件的規(guī)則的軟件環(huán)境的場境中生成集成電路的表現(xiàn)。
與通常軟件在計算機系統(tǒng)處執(zhí)行以定義機器的情況相同,為了使被構(gòu)造成生成集成電路的表現(xiàn)的計算機系統(tǒng)執(zhí)行定義集成電路的代碼以生成該集成電路的表現(xiàn),可以需要一個或更多個中間用戶步驟(例如,提供命令、變量等)。
申請人在此孤立地公開了這里所述的各獨立特征和兩個或更多個這種特征的任意組合,達(dá)到這種特征或組合能夠鑒于本領(lǐng)域技術(shù)人員的普通常識整體基于本規(guī)范而進(jìn)行的程度,不管這種特征或特征的組合是否解決這里所公開的任何問題。鑒于上述描述,對本領(lǐng)域技術(shù)人員將顯然的是,可以在本發(fā)明的范圍內(nèi)進(jìn)行各種修改。