欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

可編程邏輯器件虛擬化的制作方法

文檔序號:12464476閱讀:183來源:國知局
可編程邏輯器件虛擬化的制作方法與工藝

本公開總體涉及具有能夠承受部分重配置的可編程邏輯的集成電路的虛擬化。



背景技術(shù):

本部分旨在向讀者介紹可能涉及下面描述和/和聲明保護的本公開各方面的現(xiàn)有技術(shù)各方面。相信此討論有助于向讀者提供背景信息,以便于更好地理解本公開的各方面。因此,應該理解要從這一角度閱讀這些陳述,而非承認為現(xiàn)有技術(shù)。

集成電路用于若干電子器件并且被用于若干目的。某些集成電路包括可被編程為在制造后支持各種電路結(jié)構(gòu)的可編程邏輯(例如現(xiàn)場可編程門陣列(FPGA)結(jié)構(gòu))。這些可編程邏輯器件可以包含能夠被編程為執(zhí)行各種功能的可編程邏輯電路。

某些可編程邏輯器件支持稱為“部分重配置”的編程形式。部分重配置涉及將初始可編程邏輯設(shè)計編程到能夠在運行時間期間快速重配置的可編程邏輯設(shè)備中。因此,盡管所述初始編程邏輯設(shè)計可能花費大量編程時間(例如,小時級),但部分重配置在運行時間期間可能更快(例如,秒級)。初始可編程邏輯設(shè)計可以包括一些能夠在運行時間期間快速重編程的邏輯元件。這允許所述初始可編程邏輯支持許多不同的稱為“角色(persona)”的部分重配置實現(xiàn)方式,以在運行時間期間快速編程。

因此,部分重配置允許可編程邏輯器件切換角色的時間比用新的初始可編程邏輯設(shè)計完全重編程可編程邏輯器件所花的時間更快。盡管如此,切換角色涉及的短時間對于某些用例可能造成討厭的延遲。對于涉及相對頻繁地切換角色的用例,此延遲的影響可能是嚴重的。



技術(shù)實現(xiàn)要素:

下面記載了本文公開的某些實施例的概述。應該理解介紹這些方面僅是為了給讀者提供這些某些實施例的簡要概述,并且這些方面不旨在限制本公開文件的范疇。實際上,本公開文件可以涵蓋下面可能未記載的各方面。

本公開的系統(tǒng)、方法及器件可以通過在較大的可編程邏輯器件上虛擬運行較小的可編程邏輯器件,避免與部分重配置關(guān)聯(lián)的某種延遲。例如,具有大量可編程邏輯結(jié)構(gòu)的較大集成電路器件可以用來仿真“虛擬的”具有少量可編程邏輯結(jié)構(gòu)的較小集成電路。從外部角度來看,虛擬的較小集成電路器件在許多方面可以類似于真實的較小集成電路器件操作。然而,通過利用較大集成電路器件的較大可編程區(qū)域,虛擬的較小集成電路器件可以顯得較快地執(zhí)行某些操作,例如部分重配置。譬如,可以分別用不同的角色編程較大集成電路器件的可編程邏輯結(jié)構(gòu)的不同分區(qū)。為了在運行第一角色與運行第二角色之間切換,較大集成電路器件能夠從使用第一角色已經(jīng)被編程在其中的可編程邏輯結(jié)構(gòu)的分區(qū)切換到使用第二角色已經(jīng)被編程在其中的可編程邏輯結(jié)構(gòu)的分區(qū)。角色之間的這一切換的時間可能比對真實的小集成電路器件執(zhí)行將第一角色部分重編程為第二角色的部分重配置所花的時間更快。

實際上,這表現(xiàn)為執(zhí)行以其他方式可能快于真實的較小集成電路器件的部分重配置的虛擬的較小集成電路器件。也就是說,即使真實的小集成電路器件可能具有足夠的可編程邏輯結(jié)構(gòu),以一次僅用一個角色編程(這樣第一角色與第二角色之間的切換會引起某種部分重配置編程延遲),在較大集成電路器件上仿真的虛擬的較小集成電路器件可以通過利用較大集成電路器件上的大量可編程邏輯結(jié)構(gòu),以避免部分重配置的某些延遲。實際上,在某些示例中,即使當?shù)谝唤巧谳^大集成電路器件的可編程邏輯的一個分區(qū)中運行時,也能將第二角色編程入另一分區(qū)。一旦已經(jīng)編程第二角色,切換角色可能引起從第一分區(qū)切換到第二分區(qū)——可能快于編程第二角色的時間的轉(zhuǎn)換。

在第一實施例中,一種器件包括可編程邏輯結(jié)構(gòu)。所述可編程邏輯結(jié)構(gòu)包括第一區(qū)域,其中第一角色配置為在第一區(qū)域中編程。所述可編程邏輯結(jié)構(gòu)還包括第二區(qū)域,其中第二角色配置為在第二角色編程時間內(nèi),在第二區(qū)域中編程。該器件被配置為由主機控制,以在少于第二角色編程時間的時間內(nèi)從運行第一角色切換到運行第二角色。

在第二實施例中,一種系統(tǒng)包括可編程邏輯結(jié)構(gòu)和主機。該主機被配置為最初將所述可編程邏輯結(jié)構(gòu)配置為多個分區(qū)。該主機還被配置為通過在所述多個分區(qū)的第一分區(qū)內(nèi)編程第一角色來部分重配置可編程邏輯結(jié)構(gòu)。該主機進一步被配置為運行第一角色。主機被配置為通過在運行第一角色時在所述多個分區(qū)的第二分區(qū)內(nèi)編程第二角色來部分重配置所述可編程邏輯結(jié)構(gòu)。主機還配置為從運行所述第一角色切換到運行所述第二角色,其中通過在運行所述第一角色時編程所述第二角色,至少部分隱藏所述第二角色的第一編程時間。

在第三實施例中,一種方法包括將第一角色編程入集成電路的第一分區(qū)。該方法還包括運行所述第一角色。該方法進一步包括在運行第一角色時在第一編程時間內(nèi)將第二角色編程入集成電路的第二分區(qū)。所述方法包括在少于所述第一編程時間的時間內(nèi),從運行所述第一角色切換到運行所述第二角色。

可以結(jié)合本公開文件的各方面,對上面記載的特征進行各種細化。還可以將進一步的特征納入這些各方面??梢詥为毣蛉我饨Y(jié)合地進行這些細化及附加特征。譬如,可以單獨或任意結(jié)合地地將下面討論的與一個或多個所示實施例關(guān)聯(lián)的各種特征并入上面描述的本發(fā)明的任一方面。上面給出的簡要概述僅旨在使讀者熟悉本公開文件的實施例的某些部分和上下文,而不是限于請求保護的主題。

附圖說明

經(jīng)閱讀下面的詳細描述并且經(jīng)參考附圖,可以更好地理解本公開文件的各方面,其中:

圖1為示出根據(jù)實施例的使用具有內(nèi)部主機的集成電路架構(gòu)的系統(tǒng)的圖;

圖2為示出根據(jù)實施例的使用具有外部主機的集成電路架構(gòu)的系統(tǒng)的圖;

圖3為示出根據(jù)實施例的包括具有已被分區(qū)的可分區(qū)可編程區(qū)域的現(xiàn)場可編程門陣列(FPGA)的系統(tǒng)的圖;

圖4為示出根據(jù)實施例的包括具有擁有共享資源的重疊分區(qū)的可分區(qū)可編程區(qū)域的集成電路的系統(tǒng)的圖;

圖5為示出根據(jù)實施例的使用較大集成電路器件編程及運行部分重配置角色的方法的流程圖,以使較大集成電路器件編程表現(xiàn)為執(zhí)行部分重配置的快于真實的較小集成電路器件的虛擬的較小集成電路器件;

圖6為示出根據(jù)實施例的角色過程、過程的時序、過程期間集成電路的用戶感知與過程期間集成電路之間的關(guān)系的圖。

圖7為示出根據(jù)實施例的角色過程、過程的時序、過程期間的集成電路的用戶感知與過程期間集成電路之間的關(guān)系的另一個圖。

具體實施方式

下面將描述一個或多個具體實施例。為了提供這些實施例的簡明描述,本說明書中未描述實際的實現(xiàn)方式的所有特征。應該認識到,在開發(fā)任何此類實際的實現(xiàn)方式時,如在任意工程或設(shè)計項目中,必須進行若干實現(xiàn)方式特有的決策以實現(xiàn)開發(fā)人員的具體目標,例如遵循系統(tǒng)相關(guān)及業(yè)務相關(guān)的約束,其可能因?qū)崿F(xiàn)方式而異。而且,應該認識到,此類開發(fā)計劃可能復雜并且耗時,然而對于受益于本公開的那些本領(lǐng)域技術(shù)人員,卻是設(shè)計、構(gòu)造及制造的常規(guī)工作。

本公開涉及提高集成電路器件的感知性能。具體地,較大集成電路器件可以有效地仿真較小集成電路器件(“虛擬的”較小集成電路器件),其至少在某些方面執(zhí)行快于較小集成電路器件的真實版本的部分重配置。在一個示例中,可以將初始可編程邏輯設(shè)計編程到較大集成電路器件的可編程邏輯。初始可編程邏輯設(shè)計可以具有多個分區(qū)(其可以是分離或可以是重疊的),其隨后能夠通過“部分重配置”被編程為特定角色(persona)。因此,即使當?shù)谝唤巧诘谝环謪^(qū)內(nèi)運行時,第二角色也能被編程入較大集成電路器件的第二分區(qū)內(nèi)。表面上,較大集成電路器件的外觀為虛擬的較小集成電路的外觀,虛擬的較小集成電路具有比真實的較小集成電路相比更低的部分重配置延遲。也就是說,實際上,可以隱藏編程隨后的角色的延遲。實際上,從第一角色切換到第二角色所涉及的時間可能少于將第一角色重編程為第二角色所花的時間,這是因為可能已經(jīng)在其它分區(qū)內(nèi)編程第二角色。

考慮到上述情況,圖1和2示出了能夠虛擬地減少與部分重配置關(guān)聯(lián)的某些延遲的可編程邏輯器件虛擬化系統(tǒng)10的示例。系統(tǒng)10可以通過使用包括外圍區(qū)域14和可編程區(qū)域16的真實集成電路器件12模擬虛擬集成電路器件來這樣做。集成電路器件12因而可以理解為代表或包括可編程邏輯器件(PLD)。舉例來說,集成電路12可以代表例如阿爾特拉公司的10或V FPGA的現(xiàn)場可編程門陣列(FPGA)器件。盡管在可編程區(qū)域16的一側(cè)示意性示出了外圍區(qū)域14,但應該理解至少在某些真實的實現(xiàn)方式中,外圍區(qū)域14可以完全繞可編程區(qū)域16延伸。外圍區(qū)域14支持可編程區(qū)域16,這樣可以包括輸入/輸出(I/O)接口(例如發(fā)送器和接收器、存儲器接口等等)和時鐘及數(shù)據(jù)網(wǎng)絡(luò)控制電路。可編程區(qū)域16可以包括任意適當?shù)目删幊踢壿嫿Y(jié)構(gòu)(例如,現(xiàn)場可編程門陣列(FPGA)結(jié)構(gòu))。

在圖1的示例中,主機18被片上設(shè)置在集成電路器件12的外圍區(qū)域14中,而在圖2中,主機18在集成電路器件12的外部。在圖1和圖2的示例中,主機18可以與設(shè)置在外圍區(qū)域14中的控制器20接合。基于來自主機18的指令,在初始編程可編程區(qū)域16后,控制器20可以最初將可編程區(qū)域16和/或部分重配置可編程區(qū)域16編程至某些角色。

例如,存儲器或存儲器件22可以存儲定義部分可重配置的初始可編程邏輯設(shè)計和/或各種部分可重配置角色的程序文件24。存儲器器件22可以包括、但不限于隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃存等。可以使用可編程邏輯設(shè)備設(shè)計軟件,例如阿爾特拉公司的軟件的版本,生成程序文件24。程序文件24中的初始可編程邏輯設(shè)計可以包括編程到可編程區(qū)域16中時可以在運行時間期間實現(xiàn)隨后的部分重配置的邏輯。也就是說,初始可編程邏輯設(shè)計可以包括通過部分重配置在運行時間期間能夠快速重配置以生成稱為不同“角色”的具體程序?qū)崿F(xiàn)方式的某些邏輯元件。如上簡單提及的,部分重配置涉及將初始可編程邏輯設(shè)計編程到運行時間期間能夠快速重配置的可編程邏輯器件中。因此,盡管初始可編程邏輯器件可能花費(例如,小時級)大量編程時間,但運行時間期間的部分重配置可能較快(例如,秒級)。因為初始可編程邏輯設(shè)計可以包含運行時間期間被快速重編程的若干邏輯元件,所以初始可編程邏輯設(shè)計可以支持許多不同的部分重配置角色。

因為對于某些用例,即使是對部分重配置角色進行編程的相對快的延遲可能也不是期望的,所以集成電路器件12可以用于仿真較小的“虛擬”集成電路器件,以避免某些此類延遲效應。舉例來說,集成電路器件12可以是例如阿爾特拉公司的10可編程邏輯器件的集成電路器件,并可以用于仿真阿爾特拉公司的V可編程邏輯器件的一個或多個虛擬版本。通常,集成電路器件12可以是在可編程區(qū)域16中具有足夠的可編程邏輯以支持在可編程區(qū)域16的不同分區(qū)中編程的多個部分重配置角色的任意適當?shù)募呻娐菲骷?/p>

為此,可編程區(qū)域16還可被劃分為能夠分別用不同角色進行編程的分區(qū)。圖3為示出具有以分區(qū)不重疊的方式劃分的可編程區(qū)域16的集成電路器件12的圖。在圖3的特定示例中,可編程區(qū)域16被劃分為四個分區(qū)45:第一分區(qū)41,第二分區(qū)42,第三分區(qū)43和第四分區(qū)44。應該理解這僅是一個示例,并且可編程區(qū)域16可被劃分為更多分區(qū)或更少分區(qū)。某些情況下,可以用完全相同的基礎(chǔ)初始可編程邏輯設(shè)計(例如,能夠支持隨后部分重配置為相同的部分重配置角色的邏輯設(shè)計)編程所有分區(qū)。其它情況下,可以用不同的基礎(chǔ)初始可編程邏輯設(shè)計來編程分區(qū)(例如,程序文件24可以基于位于各分區(qū)45中的資源來指定分區(qū)45)。在一個示例中,程序文件24可以指定位于集成電路器件12上的第一分區(qū)41、第二分區(qū)42、第三分區(qū)43和第四分區(qū)44,以提供對某些特定的期望組件(例如,邏輯陣列塊(LAB)、嵌入式存儲器塊、數(shù)字信號處理(DSP)塊等)的訪問。

通過選擇性使用各分區(qū)45,集成電路器件12表面上可能表現(xiàn)為具有較快的部分重配置容量的“虛擬”的較小集成電路器件。在一個特定示例中,每個分區(qū)45的大小可以大致相等,并且可以擁有大致相等的資源和容量。在此情況下,每個分區(qū)45可以表現(xiàn)為支持大小約為原始集成電路器件12四分之一的虛擬集成電路器件的不同角色。在某些實施例中,每個分區(qū)45大小可以不同,和/或可以擁有不同數(shù)量的資源和容量。還可以用一個或多個角色編程每個分區(qū)45。例如,可以用第一角色編程第一分區(qū)41,可以用第二角色編程第二分區(qū)42,可以用第三角色編程第三分區(qū)43,可以用第四角色編程第四分區(qū)44。還可以用第五角色編程第一分區(qū)41。

分區(qū)45可以重疊或共享資源。圖4為圖示根據(jù)實施例的具有擁有共享資源的分區(qū)45的可編程區(qū)域16的集成電路器件12的圖。在圖4的具體示例中,可編程區(qū)域16被劃分為三個分區(qū),第一分區(qū)41、第二分區(qū)42和第三分區(qū)43。第一分區(qū)41和第三分區(qū)43共享資源52(例如,LAB、嵌入式存儲器塊、DSP塊等)。可以用角色來編程每個分區(qū)45。例如,可以用第一角色編程第一分區(qū)41,可以用第二角色編程第二分區(qū)42,可以用第三角色編程第三分區(qū)43。因為第一分區(qū)41和第三分區(qū)43共享資源52,在編程第三分區(qū)43時第一分區(qū)41可以不運行,反之亦然。

現(xiàn)在轉(zhuǎn)向在集成電路器件12的分區(qū)45上編程和運行角色,圖5為示出根據(jù)實施例的編程和運行角色的方法70的流程圖。方法70可以應用到被劃分為多個分區(qū)45的集成電路器件12。首先,主機18可以將第一角色編程(框72)到第一分區(qū)41中。在這段時間期間,可能當前無角色正在運行。隨后,主機18可以確定(節(jié)點74)是否將第一角色編程入第一分區(qū)41。若否,方法可以返回框72。

如果主機18確定(節(jié)點74)將第一角色編程入第一分區(qū)41(節(jié)點74),主機18可以運行(框76)第一角色。從外面的角度看,集成電路器件12可以表現(xiàn)為運行第一角色的虛擬的較小集成電路器件。因為真實的集成電路器件12可能具有比正在集成電路器件12上運行的虛擬的較小集成電路器件更多的資源(例如可編程結(jié)構(gòu)),所以集成電路器件12可以利用第一角色正在運行的時間來準備角色上的未來部分重配置切換。例如,當?shù)谝唤巧谶\行時,主機18可以利用這些額外資源來將第二角色編程(框78)入第二分區(qū)42。在這段時間期間,第一分區(qū)41對用戶可以表現(xiàn)為虛擬的較小的FPGA。也就是說,第一分區(qū)41可以表現(xiàn)為大小為集成電路器件12的一小部分(fraction)并且擁有集成電路器件12的一小部分資源的FPGA。主機18可以確定(節(jié)點80)是否將第二角色編程入第二分區(qū)42。若否,方法可以返回框78。若是,主機18可以確定(節(jié)點82)第一角色是否已結(jié)束運行。若否,方法可以返回框78。

主機18還可以將隨后的角色編程入隨后的分區(qū)。例如,當?shù)谝唤巧谶\行時,主機18可以將第三角色編程入第三分區(qū)43。在某些實施例中,主機18可以了解將要編程的每個角色的部分重配置編程時間。例如,主機18可以了解到,第四角色具有明顯長于其它角色的編程時間的編程時間(例如,為4倍)。這些實施例中,在用較短的編程時間對角色編程之前,主機18可以開始在隨后的分區(qū)中用明顯較長的編程時間來編程角色。例如,在第三分區(qū)43中編程具有較短編程時間的第三角色之前,主機18可以在第四分區(qū)44中編程具有明顯較長編程時間的第四角色。

如果主機18確定(節(jié)點82)第一角色已結(jié)束運行,主機18可以能夠從運行第一角色切換到運行(框84)第二角色;切換可能發(fā)生得比編程第二角色所花的時間快。當?shù)诙巧\行時,主機18可以將隨后的角色編程入隨后的分區(qū)。例如,當?shù)诙巧\行時,主機18可以將第三角色編程入第三分區(qū)43。在某些實施例中,主機18可以將隨后的角色編程到之前使用的未被編程或未運行的分區(qū)。例如,當?shù)诙巧谶\行時,主機18可以將第三角色編程入第一分區(qū)41。

圖5描述的實施例可以將集成電路器件12分區(qū),使得集成電路器件12可被識別為多個虛擬并且潛在獨立的FPGA。而且,在角色正在運行時編程隨后的角色可以“隱藏”隨后的角色的編程時間,這樣可以大大減少角色編程延遲。

現(xiàn)在轉(zhuǎn)向圖6,其為示出根據(jù)實施例的角色過程112、過程112的時序114、集成電路12在過程112期間的用戶感知116和過程112期間的集成電路器件12之間的關(guān)系110的圖。關(guān)系110假設(shè)如圖3所示集成電路器件12被劃分為四個分區(qū)45,每個角色的編程時間為時間T。在某些實施例中,關(guān)系110可以包括具有不同數(shù)目的分區(qū)45的集成電路器件12和/或具有不同編程時間的角色。最初,設(shè)計者可以尋求在時間t0處運行(框120)第一角色。在時間t0處,集成電路器件12對用戶可以表現(xiàn)為不可訪問,因為當主機18正在將第一角色編程入第一分區(qū)41時當前沒有角色正在運行。在t0和t1之間,對于時間段T,主機18可以將第一角色(P1)編程(PRG)(項124)到第一分區(qū)41中。如上討論的,用于編程角色的時間一般為秒級。

在時間t1處,主機18可以完成將第一角色編程到第一分區(qū)41中。主機18接著可以運行(項128)第一角色達從t1至t1’的一時間段T1,Run。在t1至t1’之間的時間段期間,第一分區(qū)41對于用戶可以表現(xiàn)為虛擬的較小集成電路器件126。另外,用戶可以感知虛擬的較小集成電路器件126正在運行第一角色。而且在t1至t1’之間的時間段期間,當?shù)谝唤巧诘谝环謪^(qū)41上運行(項128)時,主機18可以將第二角色(P2)編程(項130)到第二分區(qū)42中。用戶可以沒有感知到主機18正在將第二角色編程(項130)到第二分區(qū)42中,相反可以僅感知第一角色正在虛擬的較小集成電路器件126(即第一分區(qū)41)上運行。

在時間t1’處,第一角色可以結(jié)束運行。如果編程第二角色,那么主機18可以運行(框132)第二角色。用戶可以感知在時間段T2的從時間t1’至t2的時間從第一角色到第二角色的變化。如上討論的,編程每個角色的時間可以是時間T。編程每個角色的時間可以是秒級。然而,因為主機18在第一角色在第一分區(qū)41中運行(項128)時將第二角色編程(項130)入第二分區(qū)42,所以可以對用戶隱藏用于第二角色的編程時間。因此,T2可以代表從第一角色改變至第二角色的時間,并且可以不包括用于第二角色的編程時間。相反,用戶可以感知第一角色幾乎瞬間(即微秒規(guī)模)改變?yōu)榈诙巧?。因此,T2可以是明顯小于T的時間段(即用于第二角色的編程時間)。

主機18可以運行(項136)第二角色達從t2至t2’的一時間段T2,Run。在t2至t2’之間的時間段期間,第二分區(qū)42對于用戶可以表現(xiàn)為虛擬的小FPGA 134。另外,用戶可以感知虛擬的更小FPGA 134正在運行第二角色。而且在t2至t2’之間的時間段期間,當?shù)诙巧诘诙謪^(qū)42上運行(項136)時,主機18可以將第三角色(P3)編程(項138)到第三分區(qū)43中。用戶可以并未感知到主機18正在將第三角色編程(項138)編程到第三分區(qū)43中,相反可以僅感知第二角色正在虛擬的較小FPGA 134(即第二分區(qū)42)上運行。

在時間t2’處,第二角色可以結(jié)束運行。如果編程第三角色,那么主機18可以運行(框140)第三角色。用戶可以感知在從t2’至t3的時間的時間段T3內(nèi)從第二角色到第三角色的變化。如上討論的,編程每個角色的時間可以是時間T。編程每個角色的時間可以是秒級。然而,因為主機18在第二角色在第二分區(qū)42中運行(項136)時將第三角色編程(項138)到第三分區(qū)43中,所以可以對用戶隱藏用于第三角色的編程時間。因此,T3可以代表從第二角色改變至第三角色的時間,可以不包括用于第三角色的編程時間。相反,用戶可以感知第二角色幾乎瞬間(即微秒規(guī)模)改變至第三角色。因此,T3可以是明顯小于T的時間段(即用于第三角色的編程時間)。

主機18可以運行(項144)第三角色達從t3至t3’的一時間段T3,Run。在t3至t3’之間的時間段期間,第三分區(qū)43對于用戶可以表現(xiàn)為虛擬的較小FPGA 142。另外,用戶可以感知到虛擬的較小FPGA 142正在運行第三角色。而且在t3至t3’之間的時間段期間,當?shù)谌巧诘谌謪^(qū)43上運行(項144)時,主機18可以將第四角色(P4)編程(項146)到第四分區(qū)44中。用戶可以并未感知到主機18正在將第四角色編程(項146)編程到第四分區(qū)44中,相反可以僅感知到第三角色正在虛擬的較小FPGA142(即第三分區(qū)43)上運行。

在時間t3’處,第三角色可以結(jié)束運行。如果編程第四角色,那么主機18可以運行(框148)第四角色。用戶可以感知到在從t3’至t4的時間的時間段T4內(nèi)從第三角色到第四角色的變化。如上討論的,編程每個角色的時間可以是時間T。編程每個角色的時間可以是秒級。然而,因為主機18在第三角色在第三分區(qū)43中運行(項144)時將第四角色編程(項146)到第四分區(qū)44中,所以可以對用戶隱藏用于第四角色的編程時間。因此,T4可以代表從第三角色改變到第四角色的時間并且可以不包括用于第四角色的編程時間。相反,用戶可以感知到第三角色幾乎瞬間(即微秒規(guī)模)改變至第四角色。因此,T4可以是明顯小于T的時間段(即用于第四角色的編程時間)。

主機18可以運行(項152)第四角色達從t4至t4’的一時間段T4,Run。在t4至t4’之間的時間段期間,第四分區(qū)44對于用戶可以表現(xiàn)為虛擬的較小FPGA 150。另外,用戶可以感知到虛擬的較小FPGA 150正在運行第四角色。而且在t4至t4’之間的時段期間,當?shù)谒慕巧诘谒姆謪^(qū)44上運行(項152)時,主機18可以將第五角色編程(項154)入第一分區(qū)41。如上討論的,每個分區(qū)45可以具有多個角色。用戶可以沒有感知到主機18將第五角色(P5)編程(項154)到第一分區(qū)41中,相反可以僅感知到第四角色正在虛擬的較小FPGA 150(即第四分區(qū)44)上運行。

在時間t4’處,第四角色可以結(jié)束運行。如果編程第五角色,那么主機18可以運行(框156)第五角色。用戶可以感知到在從t4’至t5的時間的時間段T5內(nèi)從第四角色到第五角色的變化。如上討論的,編程每個角色的時間是時間T。編程每個角色的時間可以是秒級。然而,因為主機18在第四角色在第四分區(qū)44中運行(項152)時將第五角色編程(項154)到第一分區(qū)41中,所以可以對用戶隱藏用于第五角色的編程時間。因此,T5可以代表從第四角色改變至第五角色的時間,并且可以不包括用于第五角色的編程時間。相反,用戶可以感知到第四角色幾乎瞬間(即微秒規(guī)模)改變至第五角色。因此,T5可以是明顯小于T的時間段(即用于第五角色的編程時間)。

當主機18運行(項160)第五角色時,第一分區(qū)41對于用戶可以表現(xiàn)為虛擬的較小FPGA 158。另外,用戶可以感知到虛擬的較小FPGA 158正在運行第四角色。

圖6描述的實施例可以對集成電路器件12進行劃分,這樣可以將集成電路器件12識別為多個虛擬且潛在獨立的FPGA。而且,在角色正在運行時編程隨后的角色可以“隱藏”隨后角色的編程時間,這樣可以大大減少角色編程延遲。

現(xiàn)在轉(zhuǎn)向圖7,其為示出根據(jù)實施例的當角色具有不同編程時間時角色過程222、過程222的時序224、在過程222期間集成電路12的用戶感知226和在過程222期間的集成電路器件12之間的關(guān)系220的圖。關(guān)系220假設(shè)如圖3所示將集成電路器件12劃分為四個分區(qū)45,并且第一角色、第二角色和第三角色的編程時間各為時間T,而用于第四角色的編程時間為時間4T。關(guān)系220可以包括具有不同數(shù)目的分區(qū)45的集成電路器件12和/或具有不同編程時間的角色。最初,設(shè)計者可以尋求在時間t0運行(框230)第一角色。在時間t0處,集成電路器件12對于用戶可以表現(xiàn)為不可訪問,因為在主機18正在將第一角色編程到第一分區(qū)41中時當前沒有角色正在運行。在t0和t1之間的時間段T,主機18可以將第一角色(P1)編程(項234)到第一分區(qū)41中。如上討論的,編程角色的時間一般為秒級。

在時間t1處,主機18可以完成將第一角色編程到第一分區(qū)41中。主機18接著可以運行(項238)第一角色達從t1至t1’的一時間段T1,Run。在t1至t1’之間的時間段期間,第一分區(qū)41對于用戶可以表現(xiàn)為虛擬的較小FPGA 236。另外,用戶可以感知到虛擬的較小FPGA 236正在運行第一角色。而且在t1至t1’之間的時間段期間,當?shù)谝唤巧诘谝环謪^(qū)41上運行(項238)時,主機18可以將第二角色(P2)編程(項240)到第二分區(qū)42中。用戶可以沒有感知到主機18正在將第二角色編程(項240)編程到第二分區(qū)42中,相反可能僅感知到第一角色正在虛擬的較小FPGA 236(即第一分區(qū)41)上運行。

在時間t1”(t1和t1’之間的時間)處,當?shù)谝唤巧^續(xù)在第一分區(qū)41中運行(項238)時,主機18可以結(jié)束將第二角色編程(項240)編程入第二分區(qū)42。主機18接著可以將第四角色(P4)編程(項242)到第四分區(qū)44中。因為主機18可以訪問程序文件24并預先知道第四角色的編程時間明顯長于其它三個角色的編程時間(即,在此示例中為4倍),所以主機18將第四角色編程(項242)到第四分區(qū)44中。

在時間t1’處,第一角色可以結(jié)束運行。如果編程第二角色,那么主機18可以運行(框244)第二角色。用戶可以感知到在從t1’至t2的時間的時間段T2內(nèi)從第一角色到第二角色的變化。如上討論的,編程第二角色的時間可以是時間T。編程每個角色的時間可以是秒級。然而,因為當?shù)谝唤巧诘谝环謪^(qū)41中運行(項238)時主機18將第二角色編程(項240)到第二分區(qū)42中,所以可以對用戶隱藏用于第二角色的編程時間。因此,T2可以代表從第一角色改變至第二角色的時間并且可以不包括用于第二角色的編程時間。相反,用戶可以感知到第一角色幾乎瞬間(即微秒級)改變至第二角色。因此,T2可以是明顯小于T的時間段(即用于第二角色的編程時間)。

主機18可以運行(項248)第二角色達從t2至t2’的一時間段T2,Run。在t2至t2’之間的時間段期間,第二分區(qū)42對于用戶可以表現(xiàn)為虛擬的較小FPGA 246。另外,用戶可以感知到虛擬的較小FPGA 246正在運行第二角色。而且在t2至t2’之間的時間段期間,當?shù)诙巧诘诙謪^(qū)42上運行(項136)時,主機18可以將第三角色(P3)編程(項250)到第三分區(qū)43中。用戶可以沒有感知到主機18將第三角色編程(項250)編程入第三分區(qū)43,相反可以僅感知第二角色在虛擬的較小FPGA 246(即第二分區(qū)42)上運行。

在時間t2”(t2和t2’之間的時間)處,當?shù)诙巧^續(xù)在第二分區(qū)42中運行(項248)時,主機18可以結(jié)束將第三角色編程(項250)到第三分區(qū)43中。主機18接著可以確定是否將第四角色編程到第四分區(qū)44中。若否,主機18可以將第四角色編程或繼續(xù)編程(項242)到第四分區(qū)44中。因為主機18可以訪問程序文件24并預先知道第四角色的編程時間明顯長于其它三個角色的編程時間(即,在此示例中,為4倍),所以主機18將第四角色編程(項242)入第四分區(qū)44。

在時間t2’處,第二角色可以結(jié)束運行。如果編程第三角色,那么主機18可以運行(框252)第三角色。用戶可以感知到在從t2’至t3的時間的時間段T3內(nèi)從第二角色到第三角色的變化。如上討論的,編程第三角色的時間可以是時間T。編程第三角色的時間可以是秒級。然而,因為當?shù)诙巧诘诙謪^(qū)42中運行(項248)時,主機18將第三角色編程(項250)入第三分區(qū)43,所以可以對用戶隱藏用于第三角色的編程時間。因此,T3可以代表從第二角色改變至第三角色的時間并且不包括用于第三角色的編程時間。相反,用戶可以感知到第二角色幾乎瞬間(即微秒級)改變至第三角色。因此,T3可以是明顯小于T的時間段(即用于第三角色的編程時間)。

主機18可以運行(項144)第三角色達從t3至t3’的一時間段T3,Run。在t3至t3’之間的時間段期間,第三分區(qū)43對于用戶可以表現(xiàn)為虛擬的較小FPGA 254。另外,用戶可以感知到虛擬的較小FPGA 254正在運行第三角色。主機18可以確定是否將第四角色編程入第四分區(qū)44。若否,當?shù)谌巧诘谌謪^(qū)43上運行(項256)時,主機18可以將第四角色編程或繼續(xù)編程(項242)入第四分區(qū)44。用戶可以沒有感知到主機18正在將第四角色編程(項242)編程入第四分區(qū)44,相反可以僅感知在虛擬的較小FPGA 254(即第三分區(qū)43)上運行的第三角色。

在時間t3’處,第三角色可以結(jié)束運行。如果編程第四角色,那么主機18可以運行(框258)第四角色。用戶可以感知到在從時間t3’至t4的時間的時間段T4內(nèi)從第三角色到第四角色的變化。如上討論的,編程第四角色的時間可以是時間4T。如上討論的,編程角色的時間一般是秒級。然而,因為當?shù)谝唤巧⒌诙巧偷谌巧\行時主機18可能已經(jīng)將第四角色編程(項242)入第四分區(qū)44,所以可以對用戶隱藏用于第四角色的編程時間。因此,T4可以代表從第三角色改變至第四角色的時間并且不包括用于第四角色的編程時間。相反,用戶可以感知到第三角色幾乎瞬間(即微秒級)改變至第四角色。因此,T4可以是明顯小于4T的時間段(即用于第四角色的編程時間)。

當主機18運行(項262)第四角色時,第四分區(qū)44對于用戶可以表現(xiàn)為虛擬的較小FPGA 260。另外,用戶可以感知到虛擬的較小FPGA 260正在運行第四角色。

圖7描述的實施例可以劃分集成電路器件12,這樣可以將集成電路器件12識別為多個虛擬且潛在獨立的FPGA。而且,在角色運行時編程隨后的角色可以“隱藏”隨后角色的編程時間,這樣可以大大減少角色編程延遲。

雖然本公開文件記載的實施例可以容易有各種更改和替換形式,本文通過舉例在附圖中示出并且詳細描述了具體實施例。然而,應該理解本公開并不旨在限于公開的特定形式。如隨后所附的權(quán)利要求定義的,本公開涵蓋落入本公開件的精神及范疇內(nèi)的所有更改、等同體和替代方式。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泾源县| 夏河县| 商城县| 扶风县| 麟游县| 化德县| 太仓市| 黔西县| 通海县| 灵武市| 蒙自县| 定结县| 青川县| 长岛县| 尚义县| 加查县| 洞头县| 论坛| 天等县| 星子县| 泰州市| 东乌| 浙江省| 电白县| 印江| 阳山县| 莎车县| 巩留县| 伊宁市| 当涂县| 潞城市| 娱乐| 阆中市| 文安县| 永安市| 云安县| 澄城县| 富蕴县| 丰城市| 宜章县| 桐乡市|