新四季網

局部重配置電路的製作方法

2023-06-14 07:16:16

專利名稱:局部重配置電路的製作方法
技術領域:
本文涉及集成電路,並且更具體地涉及用於對諸如可編程集成電路的集成電路執行局部重配置的電路。
背景技術:
可編程集成電路是一種用戶可以對其編程以實現所期望的定製邏輯功能的集成電路。在通常情況下,邏輯設計者利用計算機輔助設計工具設計定製邏輯電路。當設計過程完成時,計算機輔助設計工具產生配置數據。該配置數據被加載到存儲器元件中以配置該器件,從而執行定製邏輯電路的功能。常常利用隨機訪問存儲器(RAM)單元形成存儲器元件。因為在器件編程過程中將配置數據加載到RAM單元中,所以有時將RAM單元稱為配置存儲器或者配置隨機訪問存儲器單元(CRAM)。在可編程器件正常工作過程中,已加載的CRAM單元產生靜態輸出信號,這些信號被施加到電晶體(例如傳輸電晶體)的柵極。CRAM輸出信號將一些電晶體打開並且將其他電晶體關閉。這種選擇性激活可編程器件上的某些電晶體定製化可編程器件的工作,使得該可編程器件執行其計劃中的功能。可以將配置數據按配置比特流的形式供應給可編程器件。在將第一配置比特流加載到可編程器件後,可以在稱為重配置的過程中,通過加載不同的配置比特流重配置該可編程器件。在重配置的過程中,常常加載整組配置數據。然而,利用稱為局部重配置的過程,僅僅重配置配置比特中的一部分,這有時可以是有利的。

發明內容
提供了 一種集成電路,其包括存儲器元件與局部重配置電路,局部重配置電路用於重配置存儲器元件中選定的部分。存儲器元件可以按行和列布置並且可以統稱為存儲器陣列。局部重配置(PR)電路可以包括PR主電路(host circuit)、PR控制電路、地址寄存器以及第一、第二和第三數據寄存器。PR主電路可以用於與PR控制電路執行握手過程,以初始化PR控制電路,並且可以給PR控制電路提供一系列局部重配置指令。在一些實施例中,PR指令可以是壓縮的和/或加密的。在此情況下,PR控制電路可以包括可操作用於解壓縮和/或解密指令的電路。PR控制電路可以包括錯誤檢驗電路,其被配置為確定每個PR指令是否包含錯誤。如果當前的PR指令是錯誤的,則錯誤檢驗電路可以給PR主電路提供有效的錯誤信號,以提醒主電路這個錯誤。當主電路接收到有效的錯誤信號時,主電路可以重新發送錯誤的指令,或者可以重新發送整個系列的PR指令。如果當前PR指令不包括任何錯誤,則錯誤檢驗電路可以給PR主電路提供無效的錯誤信號,並且可以執行當前指令。PR控制電路可以引導地址寄存器在存儲器陣列中選擇期望的行(或者幀)用於讀訪問或者寫訪問。在一系列說明性的操作中,可以讀取選定行的存儲器元件並且將其存儲在第一數據寄存器中。第一數據寄存器隨後可以並行加載其內容到第二數據寄存器中。接著,可以將第二數據寄存器的內容串行移出到PR控制電路中。基於當前PR指令中提供的數據比特,PR控制電路可以修改移位的數據內容(例如,可以利用特定的邏輯功能來處理來自第二數據寄存器的數據比特和當前指令中的數據比特,以產生修改的數據比特)。接著,修改的內容可以串行移回到第二數據寄存器中。接著,可以將第二數據寄存器的內容並行移位到第三數據寄存器中。接著,可以將第三數據寄存器的內容加載到選定行的存儲器元件中。接著,地址寄存器可以用於選擇不同行的存儲器元件以便進行重配置。本發明的進一步特徵、其本質與各種優點將會從附圖與下列詳細說明中變得更清晰。


圖1是根據本發明實施例的說明性可編程集成電路的圖示。圖2是根據本發明實施例示出了配置數據是如何由邏輯設計系統生成並且加載入可編程器件中從而配置器件以便在系統中工作的圖示。圖3是根據本發明實施例的說明性存儲器元件的電路圖。圖4是根據本發明實施例的說明性集成電路的圖示,該集成電路具有存儲器元件陣列,以及可以用於對存儲器元件陣列執行局部重配置的局部重配置電路。圖5是根據本發明實施例的一系列說明性的局部重配置指令的圖示。圖6是根據本發明實施例的說明性局部重配置指令類型的表格。圖7是根據本發明實施例的說明性局部重配置幀類型的表格。圖8是根據本發明實施例用於操作圖4的局部重配置電路的說明性步驟的流程圖。圖9A與9B是根據本發明實施例示出了在圖4的局部重配置電路的工作過程中,控制信號與關聯的數據流的行為的時序圖。圖10是根據本發明實施例示出了可以如何對局部重配置指令進行壓縮和/或加密的圖示。圖11是根據本發明實施例的說明性局部重配置控制電路的圖示,該控制電路具有解密電路、解壓縮電路與錯誤檢驗電路。
具體實施例方式本發明實施例涉及集成電路,並且更具體地涉及具有存儲器元件的集成電路。包括存儲器元件的集成電路可以包括存儲器晶片、數位訊號處理電路、微處理器、專用集成電路(ASIC)、專用標準產品(application specific standard productXASSP)、可編程集成電路,或者其他合適的集成電路,可編程集成電路是例如可編程門陣列(PAL)、可編程邏輯陣列(PLA)、現場可編程邏輯陣列(FPLA)、電可編程邏輯器件(EPLD)、電可擦除可編程邏輯器件(EEPLD)、邏輯單元陣列(LCA)、現場可編程門陣列(FPGA)等。諸如可編程集成電路的集成電路利用可編程存儲器元件存儲配置數據。在對可編程集成電路進行編程的過程中,加載配置數據進入存儲器元件中。在可編程集成電路的正常工作期間,每個存儲器元件提供靜態輸出信號。存儲器元件供應的靜態輸出信號用作控制信號。這些控制信號被施加於在集成電路上的可編程邏輯以定製可編程邏輯,從而執行所期望的邏輯功能。存儲器元件可以被組織為具有數個行和列的陣列。例如,存儲器陣列電路可以在可編程邏輯器件集成電路上形成為數百或者數千的行和列。圖1的可編程集成電路10是在其上可以形成存儲器陣列電路的說明性集成電路的示例。如圖1中所示,可編程集成電路10可以具有輸入輸出電路12,其用於通過輸入輸出引腳14驅動走器件10的信號並且接收來自其他器件的信號。可以使用諸如全局和局部垂直和水平導線與總線的互連資源16來路由器件10上的信號。互連資源16包括固定互連(導線)和可編程互連(即,各固定互連之間的可編程互連)。可編程邏輯18可以包括組合和時序邏輯電路。可以配置可編程邏輯18以執行定製邏輯功能。可編程集成電路10包括存儲器元件20,其可以利用引腳14和輸入輸出電路12加載有配置數據,也稱為編程數據。一旦加載了數據,每個存儲器元件提供對應的靜態控制輸出信號,其控制可編程邏輯18中的關聯的邏輯部件的狀態。存儲器元件輸出信號通常用於控制金屬氧化物半導體(MOS)電晶體的柵極。一些電晶體可以是P溝道金屬氧化物半導體(PMOS)電晶體。在諸如多路復用器的可編程部件中,很多這些電晶體可以是η通道金屬氧化物半導體(NMOS)傳輸電晶體。當存儲器元件輸出是高電平時,將打開由該存儲器元件控制的NMOS傳輸電晶體,以將邏輯信號從其輸入傳輸到其輸出。當存儲器元件輸出是低電平時,傳輸電晶體被關閉並且不傳輸邏輯信號。典型的存儲器元件20由被配置為形成交叉耦合反相器的數個電晶體形成。也可以利用其他布置,例如具有更多分布式類反相器電路的單元。通過一種合適的方法,互補金屬氧化物半導體(CMOS)集成電路技術用於形成存儲器元件20,所以本文將對基於CMOS的存儲器元件實現作為示例進行描述。在可編程集成電路的背景中,存儲器元件存儲配置數據並且因此有時稱為配置隨機訪問存儲器(CRAM)單元。圖2中示出了用於器件10的說明性系統環境。器件10可以安裝在系統38中的板36上。通常情況下,可編程邏輯器件10可以接收來自編程設備或者來自其他合適設備或者器件的配置數據。在圖2的示例中,可編程邏輯器件10是如下類型的可編程邏輯器件,其接收來自關聯的集成電路40的配置數據。在這種類型的布置中,如果期望的話,電路40可以被安裝在與可編程邏輯器件10相同的板36上。電路40可以是可擦除可編程只讀存儲器(EPROM)晶片,具有內建存儲器的可編程邏輯器件配置數據加載晶片(有時稱為配置器件),或者其他合適的電路。當系統38啟動時(或者在另一個合適的時間),用於配置可編程邏輯器件的配置數據可以從器件40供應給可編程邏輯器件,如路徑42示意示出的。供應給可編程邏輯器件的配置數據可以被存儲於可編程邏輯器件中的配置隨機訪問存儲器元件20中。系統38可以包括處理電路44、存儲裝置46和其他與器件10通信的系統部件48。系統38的部件可以位於諸如板36的一個或者更多板上,或者在其他合適安裝結構或者外殼上,並且可以通過總線和其他電氣路徑50進行互連。配置器件40可以經由諸如路徑52的路徑供應用於器件10的配置數據。例如,配置器件40可以從配置數據加載裝置54或者其他合適的在配置器件40中存儲該數據的設備接收配置數據。器件40可以在安裝到板36之前或者之後加載數據。設計與實現可編程邏輯器件中的期望的邏輯電路會是費力任務。因此邏輯設計者通常利用基於計算機輔助設計工具(CAD)的邏輯設計系統來輔助其設計電路。邏輯設計系統可以幫助邏輯設計者設計與測試系統的複雜電路。當設計完成時,邏輯設計系統可以用於產生配置數據,用於對合適的可編程邏輯器件進行電編程。如圖2所示,邏輯設計系統56所產生的配置數據可以經由諸如路徑58的路徑提供給設備54。設備54將配置數據提供給器件40,使得器件40可以稍後將該配置數據經由路徑42提供給可編程邏輯器件10。系統56可以基於一個或更多計算機和一個或更多軟體程序。一般情況下,軟體和數據可以被存儲於系統56中的任意計算機可讀介質(存儲裝置),並且在圖2中示意示為存儲器60。在通常情況下,邏輯設計者利用邏輯設計系統56生成定製電路設計。系統56產生對應的配置數據,這些配置數據被提供給配置器件40。通電後,可編程邏輯器件10上的配置器件40和數據加載電路用於將配置數據加載到器件10的CRAM單元20中。接著,器件10可以用於系統38的正常工作中。圖3是CRAM單元20的電路圖。如圖1所示,單元20可以包括一對交叉耦合反相器(例如鎖存器)和兩個存取電晶體。鎖存器可以包括反相器INVl和INV2。反相器INVl可以具有耦合到反相器INV2的輸入的輸出,而反相器INV2可以具有耦合到反相器INVl的輸入的輸出。按此方式交叉耦合的反相器INVl和INV2形成了單元20的存儲部分。單元20的存儲部分可以是被配置為在第一和第二數據存儲節點(即,第一數據存儲節點X和第二數據存儲節點Y)上存儲數據的雙穩態元件。反相器INVl的輸出可以耦合到第二數據存儲節點Y,而反相器INV2的輸出可以耦合到第一數據存儲節點X (例如參看圖3)。諸如存取電晶體TAl和TA2的存取電晶體可以連接到存儲器單元20的存儲部分,以執行讀和寫操作。如圖3所示,存取電晶體TAl可以耦合在諸如第一數據線72-1的第一數據線(例如,在其上傳遞真實數據信號D的真實數據線)和第一數據存儲節點X之間,而存取電晶體TA2可以耦合在諸如第二數據線72-2的第二數據線(例如,在其上傳遞互補數據信號nD的互補數據線)和第二數據存儲節點Y之間。電晶體TAl和TA2可以各自具有耦合到在其上傳遞地址信號ADD的地址線70 (有時稱為字線)的柵極。因此,有時電晶體TAl和TA2可以稱為地址電晶體。在正常工作過程中(例如,單元20維持配置數據的正常工作模式),使地址信號ADD有效(例如,將地址信號ADD拉低),以關閉存取電晶體TAl和TA2,使得單元20的存儲部分在數據存儲節點X和Y上維持已存儲的數據值。例如,維持「O」的單元20可以具有處於邏輯「I」的第一數據存儲節點X以及處於邏輯「O」的第二數據存儲節點Y。
在讀操作過程中,可以對數據線72-1和72-2進行預充電(例如,可以將數據信號D和nD預充電到高電壓)。接著,可以使地址信號ADD有效(例如,可以將地址信號ADD升高),以使存取電晶體TAl和TA2能夠從單元20中讀取數據。具有耦合到數據線72-1和72_2的感測電路(例如感測放大器74)可以用於確定單元20是否存儲「O」(例如,存儲節點Y是否存儲「O」)或者「I」(例如,存儲節點Y是否存儲「I」)。在寫操作過程中,可以將期望的數據值呈現在數據線72-1和72-2上,同時使地址信號ADD有效,以使存取電晶體TAl和TA2能夠將期望的數據值寫入單元20。例如,可以將線72-1上的數據D驅動到邏輯「I」而可以將線72-2上的信號nD驅動到邏輯「0」,以將「O」寫入單元20中。供應給存儲器元件20的信號有時可以統稱為控制信號。在特定的背景中,這些信號中的一些可以稱為電源信號、清零信號、數據信號、地址信號等。這些不同的信號種類不互相排斥。每個存儲單元20可以在對應的輸出路徑64上供應對應的輸出信號。輸出路徑64可以耦合到數據存儲節點Y。每個輸出信號是靜態輸出控制信號,其可以用於配置諸如電晶體62的對應的電晶體(例如,輸出信號可以用於控制對應的電晶體62的柵極)或者在關聯的可編程邏輯電路中的其他電路元件。電晶體62有時可以稱為傳輸電晶體或者傳輸門。電晶體62的狀態(關閉或者開啟)控制是否允許信號在其源漏端子之間傳輸。圖3中所示的存儲器單元20僅僅是說明性的。存儲器單元20的存儲部分可以具有多於兩個的交叉耦合反相器,或者可以利用任意合適數量的形成鎖存器的電晶體形成。如果期望,存儲器單元20可以利用單端讀/寫方案實現,可以包括清零電晶體(例如,可以全局使能以清除器件10上的存儲器單元的內容的電晶體)等。在器件10初始地加載有一組配置數據後(例如,利用與圖2相關描述的配置器件40),可以通過加載不同的一組配置數據來重配置器件10。有時會期望經由有時稱為局部重配置的過程,重配置器件10上的僅一部分存儲器單元。由於存儲器單元通常地按陣列布置,因此可以通過將新數據值僅寫入到陣列中的選定的矩形區域來執行局部重配置。圖4是集成電路10的圖示,該集成電路10包括諸如存儲器陣列99的存儲器單元20陣列。一般情況下,存儲器陣列99中可以有數百或者數千行和列。存儲器陣列99可以是器件10上的數個存儲器陣列中的一個,可以是更大的陣列中的一部分的子陣列,或者可以是任意其他合適的一組存儲器單元20的一部分。如圖4所示,器件10可以包括耦合到存儲器陣列99的局部重配置電路100。局部重配置電路100可以用於重配置存儲器陣列99中的選定的部分,而使陣列99中除選定的部分外的部分處於其原來的配置狀態。局部重配置電路(PR)電路100可以包括局部重配置主電路102、局部重配置控制電路104、地址寄存器106、第一數據寄存器(本文有時稱為數據寄存器A (DRA))、第二數據寄存器(本文有時稱為數據寄存器B (DRB))和第三數據寄存器(本文有時稱為先行(look-ahead)數據寄存器(DRLA))。在本發明另一個合適的實施例中,PR主電路102可以在器件10外部並且可以用作單獨的部件,用於在局部重配置操作期間與控制電路104接口連接。陣列99內的一行存儲器單元中的每個存儲器單元20可以耦合到關聯的地址線70,經由該關聯的地址線70提供對應的地址信號ADD。例如,第一行存儲器單元中的每個存儲器單元20可以耦合到在其上供應地址信號ADDl的第一地址線;第二行存儲器單元中的每個存儲器單元20可以耦合到在其上供應地址信號ADD2的第二地址線;…,和第η行存儲器單元中的每個存儲器單元20可以耦合到在其上供應地址信號ADDn的第η地址線。耦合到公共地址線的存儲器單元20 (例如,來自陣列99內的同一行的存儲器單元)可以統稱為「幀」(frame)、存儲器的幀或者存儲器幀。每個不同的地址線70可以耦合到地址寄存器106 (如路徑70'所示)。可以配置地址寄存器106以供應期望的地址信號(即,地址信號ADDl-ADDn)給陣列99中相應的存儲幀。地址寄存器106可以在任意時間點僅僅在地址線中選定的一個上供應單個有效的地址信號(例如,地址寄存器106被配置為在某個時間選擇一個巾貞)。例如,地址寄存器106可以是由一系列觸發器形成的移位寄存器,每個觸發器用於在其輸出提供對應的地址信號。該一系列觸發器中僅單個給定的觸發器存儲邏輯「1」,而除給定的觸發器外的觸發器存儲邏輯零。如果期望,邏輯「 I」可以被移位到該一系列觸發器中的任意其他觸發器,只要僅有一個觸發器存儲邏輯「I」(即有效的地址信號)。陣列99內的一列存儲器單元中的每個存儲器單元20可以耦合到一對關聯的數據線72 (例如數據線72-1和72-2)。數據線72有時可以稱為位線。例如,第一列存儲器單元中的每個存儲器單元20可以耦合到第一對數據線;第二列存儲器單元中的每個存儲器單元20可以耦合到第二對數據線;....,而第m列存儲器單元中的每個存儲器單元20可以耦合到第m對數據線。寄存器DRB可以經由寫驅動器電路耦合到相應的一列存儲器單元(如路徑126所示)。可以配置寄存器DRB以存儲要被利用寫驅動器電路寫入存儲器陣列99中的選定的幀的數據值。例如,寄存器DRB可以包括第一存儲元件、第二存儲元件、第三存儲元件等,其中第一存儲元件將第一數據值通過第一寫驅動器供應給第一列存儲器單元中的選定的存儲器單元,第二存儲元件將第二數據值通過第二寫驅動器供應給第二列存儲器單元中的選定的存儲器單元,第三存儲元件將第三數據值供應給第三列存儲器單元中的選定的存儲器單元等。按此方式布置,寄存器DRB可以用作存儲在局部重配置操作期間可以被加載進入選定的存儲器幀中的數據比 特。每一列存儲器單元可以通過關聯的讀感測電路耦合到寄存器DRLA中相應的存儲器元件(如路徑124所示)。可以配置寄存器DRLA以存儲利用讀感測電路(參看例如圖3的感測放大器74)從存儲器陣列99中的選定的幀中讀出的數據值。例如,寄存器DRLA可以包括第一存儲元件、第二存儲元件、第三存儲元件等,其中第一存儲元件可操作用於經由第一感測放大器74接收來自第一列存儲器單元中的選定的存儲器單元的第一讀取值,第二存儲元件可操作用於經由第二感測放大器74接收來自第二列存儲器單元中的選定的存儲器單元的第二讀取值,第三存儲元件可操作用於經由第三感測放大器74接收來自第三列存儲器單元中的選定的存儲器單元的第三讀取值,以此類推。按此方式布置,寄存器DRLA可以用作存儲在局部重配置操作期間從選定的存儲幀中讀出的數據比特。術語「行」和「列」僅代表引用存儲器陣列99中具體的多組單元20的一種方式,並且有時可以交換使用。如果期望,可以在存儲器陣列99中使用其他圖案的線。例如,可以使用不同數量的電源信號、數據信號和地址信號。寄存器DRA可以耦合在寄存器DRLA和寄存器DRB之間。在局部重配置期間的一個合適的步驟中,地址寄存器106可以用於選擇要讀出的存儲器的幀。選定的幀的讀數據值可以被存儲於寄存器DRLA中。在另一個合適的步驟中,可以將寄存器DRLA的內容轉移到寄存器DRA (例如,可以將存儲於寄存器DRLA中的數據比特並行地移位入寄存器DRA中)。在另一個合適的步驟中,可以基於由PR主電路192提供的新數據值修改寄存器DRA的內容。在另一個合適的步驟中,可以將寄存器DRA的已修改內容轉移到寄存器DRB (例如,可以將存儲於寄存器DRA中的數據比特並行地移位入寄存器DRB中)。接著,可以利用關聯的寫驅動器將已移位入寄存器DRB中的已修改的數據值寫入選定的幀。一般地,存儲器陣列99內的僅一部分幀按此方式重配置(例如,當前用戶邏輯的僅一個或更多部分被重配置,而不影響其他不需要改變的邏輯部分)。如果期望,可以利用此方法重配置整個存儲器陣列99。地址寄存器106、寄存器DRA、寄存器DRB和寄存器DRLA的操作可以利用諸如時鐘信號Clk和控制信號Vctrl的信號控制,這些信號由PR控制電路104通過路徑122提供。圖4中利用三個數據寄存器DRA、DRB和DRLA的示例僅僅是說明性的,並且不用作限定本發明的範圍。如果期望,局部重配置電路100可以包括少於三個數據寄存器,多於三個數據寄存器,並且可以包括地址解碼器而不是移位寄存器。主電路102可 以被配置為通過路徑114提供局部重配置比特流Bpr給控制電路104。可以通過輸入輸出引腳14從片外源(例如,從圖2的配置器件40)提供比特流Bpr給主電路102。比特流Bpr可以包括一系列指令,每條指令包括在局部重配置操作期間用於引導控制電路104操作的有用信息。在發送流Bpr之前,電路102可以通過路徑110與電路104交換握手信號VHAmsHAKE。此握手過程用作將電路102和104初始化到期望的開始狀態,並且例如,可以配置地址寄存器以使與陣列99中的第一幀關聯的地址信號(例如,可以在握手過程完成後即選擇第一幀)。控制電路104可以包括錯誤檢驗電路108,其配置為接收流Bpr並且檢驗流Bpr中的指令是否包含任何錯誤。圖5是由一系列指令形成的說明性比特流Bpr的圖示。如圖5所示,每個PR指令可以至少包括具體說明將要執行的操作類型的作業碼(或者操作碼)、與該特定類型操作關聯的數據比特以及循環冗餘檢驗(CRC)位。不同指令可以包括不同比特長度的數據。可以檢測出的錯誤的數量由錯誤檢驗電路108所用的錯誤檢驗機制的類型確定。例如,可以利用等式(I)中所示的16位多項式實現錯誤檢驗電路108。G(x) =x16+x15+x2+l(I)可以通過給定指令中的原始數據(例如,操作碼和對應的數據比特)除以多項式G (X),來計算給定指令中的CRC位。在等式(I)的示例中,多項式G (X)可以具有等於11000000000000101的數字表示。CRC位可以等於得到的多項式除法的餘數。一般情況下,原始數據的長度大於CRC多項式的長度。在接收來自主電路102的指令後,控制電路104可以重新計算CRC位(有時稱為檢驗值),以確定原始數據是否無意地被損壞。錯誤檢驗電路108可以產生對應的錯誤信號Veeeoe並通過路徑112回到主電路192。如果重新計算的檢驗值匹配給定指令中附著的CRC位,則錯誤檢驗電路108可以保持VE_K無效。如果重新計算的檢驗值不匹配給定指令中附著的CRC位,則檢測出錯誤,並且錯誤檢驗電路108可以使信號Vekkot有效。電路108可以對每個指令基執行錯誤檢驗。為了防止不期望地損壞存儲器陣列99,可以不執行示出錯誤的指令(例如,將不履行使VE_K有效的指令)。主電路102可以通過監測使信號νΕ.κ有效的頻率來追蹤成功執行的指令的數量。當檢測出錯誤時,主電路102可以重新發送整個比特流Bpr,或者可以僅重新發送失敗的指令,而不必重新發送整個比特列Bpr。如果期望,電路108還可以被配置為校正錯誤指令。按此方式操作,可以允許PR控制電路104執行校正後的PR指令,而不必重新發送整個比特流Bpr。當期望將新數據加載進入選定的幀時,錯誤檢驗電路108可以提供從當前指令的「數據」部分中提取的局部重配置數據Dpr。控制電路104可以包括諸如布爾(Boolean)邏輯電路116的可配置邏輯電路。數據Dold (例如,存儲於寄存器DRA中的舊數據比特)和Dpr按串聯形式分別饋送到邏輯電路116的第一和第二輸入。可配置邏輯電路116可以被配置為提供期望的布爾邏輯功能,例如邏輯與(AND)功能,邏輯或(OR)功能,邏輯異或(XOR)功能,邏輯與非(NAND)功能,邏輯或非(NOR)功能,邏輯異或非(XNOR)功能,和/或其他合適邏輯功能。例如,考慮第一情形,在其中邏輯電路116被配置為兩輸入邏輯與門。邏輯與門116可以在其第一輸入上接收通過路徑120從寄存器DRA輸出移位出的數據比特Dold,可以在其第二輸入上接收從錯誤檢驗電路108移位出的數據比特Dpr,並且可以在其輸出上產生數據比特Dnew,其通過路徑118移位回到寄存器DRA的輸入,其中數據比特Dnew等於當前已接收到的Dold和Dpr的邏輯與的積。如另一個示例,考慮第二情形,在其中邏輯電路116被配置為兩輸入邏輯異或門。邏輯異或門116可以在其第一輸入上接收通過路徑120從寄存器DRA輸出移位出的數據比特Dold,可以在其第二輸入上接收從錯誤檢驗電路108移位出的數據比特Dpr,並且可以在其輸出上產生數據比特Dnew,其通過路徑118移位回到寄存器DRA的輸入,其中數據比特Dnew等於當前已接收到的Dold和Dpr的邏輯異或的積。因此,可以基於其舊數據Dold的內容、從主電路102提供的數據Dpr的內容和邏輯電路116當前實現的布爾邏輯功能,按循序移位的方式修改寄存器DRA。因此,修改後的寄存器DRA的內容可以代表將被加載入存儲器陣列99中對應的幀的重配置比特。圖6是可以分配給每個PR指令操作碼部分的說明性指令類型的表格。如圖6所示,不同種類的指令可以至少包括:SKIP_LEFT、SKIP_RIGHT、CLEAR_AR、SELECT_FRAMEO、LOAD_FIRST_PR_FRAME、WRITE_LAST_PR_FRAME、AND、0R、X0R、SCRUB 和 PR_D0NE。SKIP_LEFT指令可以使電路104產生控制信號(例如,控制信號Clk和/或Vctrl),這些信號通過左移地址指針,引導地址寄存器106跳過當前幀。與SKIP_LEFT指令關聯的數據比特可以指示要被移位的幀的數量(例如,地址指針可以左移一個量,這個量與關聯的數據比特值成比例)。SKIP_RIGHT指令可以使電路104產生控制信號,這些信號通過右移地址指針,引導地址寄存器106跳過當前幀。與SKIP_RIGHT指令關聯的數據比特可以指示要被移位的幀的數量(例如,地址指針可以右移一個量,這個量與關聯的數據比特值成比例)。CLEAR_AR指令可以使電路104產生控制信號,該信號導致清除地址寄存器106的內容,使得沒有幀被選擇。例如,可以復位寄存器106中的每個觸發器,以存儲默認值零。SELECT_FRAME0指令可以使電路104產生控制信號,該信號引導地址寄存器106選擇存儲器陣列99的第一幀。例如,可以將邏輯「I」移位進入地址寄存器106中的首個(第一)觸發器,其供應第一地址信號給陣列99中的第一行存儲器單元20。SELECT_FRAME0指令通常跟在CLEAR_AR指令後執行。
LOAD_FIRST_PR_FRAME指令可以引導電路104產生控制信號,該信號將寄存器DRLA加載來自存儲器陣列99中局部重配置區域的第一幀的讀數據。局部重配置區域可以指代存儲器陣列99內的在局部重配置操作期間應該被重配置的一系列連續幀(例如,參看圖4中的局部重配置區域101)。如圖4所示,PR區域101的第一幀不需要是與存儲器陣列99中的第一幀相同的幀。區域101可以包括單個框、兩個連續幀或者多於兩個的連續幀。在區域101僅包括單個幀的情形中,第一 PR幀等同於單個幀。如果期望,存儲器陣列99可以包括多個非重疊PR區域101,這些區域在局部重配置過程期間被修改(例如,可以利用局部重配置電路100對多組連續幀進行重配置)。WRITE_LAST_PR_FRAME指令可以引導電路104產生控制信號,這些信號將寄存器DRB的內容加載進入PR區域101中的最後一個幀。在區域101僅包括單個幀的情形中,最後的PR幀等同於該單個幀。邏輯與指令可以將邏輯電路116配置為實現邏輯與功能(例如,產生於邏輯電路116輸出上的比特Dnew可以等於在其第一輸入上接收的比特Dold和在其第二輸入上接收的比特Dpr的邏輯與的積)。邏輯或指令可以將邏輯電路116配置為實現邏輯或功能(例如,產生於邏輯電路116輸出上的比特Dnew可以等於在其第一輸入上接收的比特Dold和在其第二輸入上接收的比特Dpr的邏輯或的積)。邏輯異或指令可以將邏輯電路116配置為實現邏輯異或功能(例如,產生於邏輯電路116輸出上的比特Dnew可以等於在其第一輸入上接收的比特Dold和在其第二輸入上接收的比特Dpr的邏輯異或的積)。SCRUB指令可以將比特Dnew簡單地設置為在錯誤檢驗電路108輸出上提供的比特Dpr (例如,根據用戶指定數據Dpr對Dnew進行刷新,而不管現有的數據Dold)。如果期望,控制邏輯電路116可以支持除圖6表格中所列舉類型外的布爾指令。可以將在邏輯電路116的第二輸入上接收的數據比特Dpr包括在具有指令類型202的每個指令的數據部分中(參看圖6)。 當指令類型等於可用的邏輯操作202中的一種時,操作碼可以進一步包括PR幀類型。如圖7所示,不同類型的PR幀可以至少包括:SINGLEPR幀類型標示符、FIRST PR幀類型標示符、LAST PR巾貞類型標示符和RE⑶LAR PR巾貞類型標示符。SINGLE PR巾貞類型標示符指示PR區域僅包括單個巾貞,並且該單個巾貞是當前選定的巾貞。FIRST PR巾貞類型標示符指示當前選定的幀是包括至少兩個連續幀的PR區域中的第一幀。LAST PR幀類型標示符指示當前選定的幀是具有至少兩個連續幀的PR區域中的最後一個幀。REGULAR PR幀類型標示符指示當前選定的幀是具有至少三個連續幀的PR區域中的一個幀,但這個幀既不是第一幀,也不是最後一個中貞。PR_D0NE指令可以指示完成了存儲器陣列99的局部重配置。與圖6和7相關描述的不同指令類型和PR幀類型僅僅是說明性的,並且不用作限定本發明的範圍。如果期望,PR主電路102和控制電路104可以被配置為處理任意合適的指令類型和PR幀類型。圖8是用於操作局部重配置電路100的說明性步驟的流程圖。可以將陣列99置於空閒狀態300 (例如,利用陣列99控制的邏輯電路可以臨時地置於空閒模式中)。為了初始化局部重配置操作,主電路102可以通過經由路徑110傳遞控制信號Vhandshake來與控制電路204執行握手過程(步驟302)。一旦握手完成,PR主電路102可以開始通過路徑114發送指令比特流Bpr給PR控制電路104。在步驟304中,控制電路104可以檢查最近未讀的指令的操作碼。如果操作碼指示 SKIP (即,SKIP_LEFT 或者 SKIP_RIGHT)、CLEAR_AR 或者 SELECT_FRAMEO 指令類型,則可以配置地址寄存器106來選擇合適的幀(步驟306)。例如,地址寄存器306可以左移或者右移有效的地址信號期望的量,可以被復位以均存儲邏輯零,或者可以被配置為選擇陣列99的第一幀。如果操作碼指示LOAD_FIRST_PR_FRAME指令類型,則可以將選定的幀從陣列99讀入先行寄存器DRLA中(步驟310)。如果操作碼指示WRITE_LAST_PR_FRAME指令類型,則可以將寄存器DRB的內容寫入存儲器陣列99中的選定的幀中(步驟320)。如果操作碼指示邏輯操作202中的一個並且具有SINGLE或者FIRST局部重配置幀類型,則可以根據指定的邏輯功能計算數據Dnew,並且可以利用關於圖4中所述的循環移位機制將該數據Dnew移位入寄存器DRA中(步驟312)。如果操作碼指示邏輯操作202中的一個並且具有RE⑶LAR或者LAST局部重配置幀類型,則可以將寄存器DRB的內容寫入存儲器陣列99中的選定的幀中(步驟318)。步驟312可以緊接著步驟318。在步驟312完成之後,處理可以繼續到步驟314和316中的一個。如果操作碼指示RE⑶LAR或者FIRST幀類型,則可以將選定的幀從陣列99讀入先行寄存器DRLA中,並且可以將寄存器DRA的內容並行地移位進入寄存器DRB中(步驟314)。如果操作碼指示SINGLE或者LAST幀類型,則可以將寄存器DRA的內容並行地移位進入寄存器DRB中,而不必向寄存器DRLA加載讀數據(步驟316)。當步驟306、310、314、316或者320中任意一個完成時,錯誤檢驗電路108可以用於執行CRC錯誤檢驗(步驟308)。如果當前指令不包含任何錯誤,則信號VE_K可以保持無效,並且處理可以循環回到步驟304,以評估比特流Bpr中隨後的指令(如路徑326所示)。如果當前指令包含至少一個錯誤,則可以使信號Vekkqk有效,並且PR主電路102可以現在重新發送當前指令(或者可選地在稍後時間),或者可以重新發送整個PR比特流Bpr(步驟324)。接著,處理可以循環回到步驟304如路徑326所示。圖9Α和9Β是時序圖,其示出了控制信號和關聯的數據流在局部重配置電路100的操作期間的行為。在時間tl之前,可以執行CLEAR_AR指令(例如,參看圖9A)。在時間tl處,可以執行SELECT_FIRST_FraME指令(例如,通過將邏輯「I」移位進入地址寄存器106中的首個觸發器,地址寄存器指針可以指向存儲器陣列99中的第一幀)。在時間t2處,可以執行LOAD_FIRST_PR_FRAME指令。具體地,可以將第一幀的內容讀入寄存器DRLA中。在時間t3處,可以使用具有第一幀類型的指令和關聯的邏輯操作計算Dnew。操作可以是布爾邏輯功能202中選定的任意一個(如圖6)。具體地,將寄存器DRLA的內容並行地移位進入寄存器DRA中,接著利用關於圖4所述的循環移位機制對寄存器DRA的內容進行修改並且將其重新寫入寄存器DRA中。按此方式將已修改的數據比特填入寄存器DRA,這有時可以稱為執行讀改寫(RMW)。在時間t4處,地址寄存器指針右移一位,以指向陣列99的第二幀,並且將第二幀加載進入寄存器DRLA中。在該指令結束時,可以將寄存器DRA的內容移位進入寄存器DRB中。在時間t5處,可以使用具有RE⑶LAR巾貞類型的指令和關聯的計算Dnew。在該時間處,可以通過暫時左移地址指針一位,將寄存器DRB的內容寫入「前一個」幀(例如,第一幀)。接著,將寄存器DRLA的內容並行地移位進入寄存器DRA,並且基於選定的〈oper〉利用讀改寫重新填入寄存器DRA。接著,可以通過將指針右移兩位,寄存器DRLA繼續讀「下一個」幀(即,存儲器陣列99中的第三幀)。
接著,可以評估並且執行具有RE⑶LAR幀類型的一系列指令。在具有RE⑶LAR幀類型的該一系列指令之後可以是具有LAST幀類型的指令(參看,圖9B中的時間t6)。在最後一個RE⑶LAR指令結束時,可以將寄存器DRA中的已修改內容(當前存儲了用於第n_l幀的重配置比特)並行地移位進入寄存器DRB中。在時間t6處,可以將當前存儲重配置比特的DRB的已修改內容寫入第η-1幀,同時寄存器DRLA將從第η幀讀取的內容加載到要利用與LAST指令關聯的〈oper〉進行修改的寄存器DRA中。在LAST指令結束時,可以將寄存器DRA中的已修改內容(當前存儲用於第η幀的重配置比特)並行地移位進入寄存器DRB中。在時間t7處,可以執行WRITE_LAST_PR_FRAME指令。具體地,地址指針可以指向第η幀(S卩,PR區域101中的最後一幀),並且可以將寄存器DRB的內容加載到第η幀。接著,在WRITE_LAST_PR_FRAME指令之後可以是SKIP指令,以重配置另一個目標PR區域,或者可以是PR_D0NE,從而表示局部重配置過程的完成。如果期望,主電路102可以在器件10的操作期間的任意時間點處初始化局部重配置,以重配置陣列99的任意期望的部分。圖9A和9B (在其中多於兩個連續幀被重配置)中所示的指令序列僅僅是說明性的。考慮PR區域101僅包括兩個幀的另一個示例。對於該情形,合適的指令比特流可以包括按下列順序排列的指令:LOAD_FIRST_PR_FRAME 、FIRST_〈oper>、LAST_〈oper>、WRITE—LAST_PR_FRAME和PR_D0NE (或者SKIP,如果有另一個非相鄰PR區域要被重配置的話)。考慮PR區域101僅包括單個幀的另一個示例。對於該情形,合適的指令比特流可以包括按下列順序排列的指令:LOAD_FIRST_PR_FRAME、SINGLE_〈oper>、WRITE_LAST_PR_FRAME 和 PR_DONE(或者SKIP)。一般情況下,器件10中任意數量的存儲器陣列99可以利用本文所述的說明性方法進行局部重配置。在本發明的一些實施例中,可以對比特流Bpr進行壓縮和/或加密(例如參看圖10)。可以利用壓縮算法對指令進行壓縮,例如LZ77算法、霍夫曼編碼(Huffmanencoding)、基於算術編碼的算法或者其他已知的數據壓縮算法。可以利用加密算法對指令進行加密,例如高級加密標準(AES)128算法或者AES 256算法(作為示例)。在一個合適的布置中,可以對比特流Bpr進行壓縮和加密。在另一個合適的布置中,可以僅對比特流Bpr進行壓縮。在另一個合適的布置中,可以僅對比特流Bpr進行加密。如圖11所示,控制電路104可以包括(除了錯誤檢驗電路108之外)的解密電路(例如解密電路400)和解壓縮電路(例如解壓縮電路402)。解密電路400可以用於對已加密的Bpr執行解密。解壓縮電路402可以用於對已壓縮的Bpr執行解壓縮。在指令流Bpr同時被壓縮和加密的情形中,可以將流Bpr傳輸通過電路400和402兩者(例如,電路400和402可以均被激活)。在指令流Bpr僅被壓縮但沒被加密的情形中,流Bpr可以僅傳輸通過電路402而繞過電路400(例如,電路402可以轉換到使用狀態而電路400可以轉換離開使用狀態)。在指令流Bpr僅被加密但沒有被壓縮的情形中,流Bpr可以僅傳輸通過電路400而繞過電路402 (例如,電路400可以轉換到使用狀態而電路402可以轉換離開使用狀態)。附加實施例:附加實施例1.一種集成電路,包括:存儲器元件陣列;和局部重配置電路,其耦合到所述存儲器元件陣列,其中所述局部重配置電路包括:控制電路;和數據寄存器電路,其可操作用於存儲從所述存儲器元件陣列中的選定行的存儲器元件中讀取的數據,並且修改讀取的數據以產生已修改的數據,其中所述控制電路可操作用於將來自所述數據寄存器電路的所述已修改的數據加載到所述存儲器元件陣列中的所述選定行的存儲器元件中。附加實施例2.根據附加實施例1中所述的集成電路,其中所述局部重配置電路進一步包括:地址寄存器,其由所述控制電路控制,其中所述地址寄存器可操作用於產生對應於所述選定行的存儲器元件的有效的地址信號。附加實施例3.根據附加實施例1中所述的集成電路,其中所述局部重配置電路進一步包括:主電路,其可操作用於提供多個局部重配置指令給所述控制電路。附加實施例4.根據附加實施例1中所述的集成電路,其中所述控制電路進一步可操作用於接收多個局部重配置指令,並且其中所述控制電路包括錯誤檢驗電路,所述錯誤檢驗電路可操作用於確定所述多個局部重配置指令中的每個指令是否包括錯誤並且校正所述局部重配置指令中的所述錯誤。附加實施例5.根據附加實施例1中所述的集成電路,其中所述控制電路進一步可操作用於接收多個局部重配置指令,並且其中所述控制電路包括可配置邏輯電路,所述可配置邏輯電路可操作用於基於所述多個局部重配置指令中的給定的局部重配置指令產生所述已修改的數據。附加實施例6.根據附加實施例5中所述的集成電路,其中所述可配置邏輯電路包括:第一輸入,其可操作用於接收來自所述數據寄存器電路的輸出的所述讀取的數據;第二輸入,其可操作用於接收從所述給定的局部重配置指令中提取的新數據;和輸出,在所述輸出上將所述已修改的數據提供給所述數據寄存器電路的輸入。附加實施例7.根據附加實施例5中所述的集成電路,其中所述數據寄存器電路包括:第一數據寄存器,其可操作用於存儲所述讀取的數據;第二數據寄存器,其可操作用於接收來自所述第一數據寄存器的所述讀取的數據,其中所述控制電路被配置為修改所述讀取的數據,以在所述第二數據寄存器中產生所述已修改的數據;和第三數據寄存器,其可操作用於接收來自所述第二數據寄存器的所述已修改的數據,其中所述控制電路被配置為將來自所述第三數據寄存器的所述已修改的數據加載到所述存儲器元件陣列中的所述選定行的存儲器元件中,並且其中所述可配置邏輯電路進一步可操作用於實現選自如下群組中的邏輯功能:邏輯與功能,邏輯或功能,邏輯異或功能,邏輯與非功能,邏輯或非功能和邏輯異或非功能。附加實施例8.根據附加實施例1中所述的集成電路,其中所述控制電路進一步可操作用於接收至少一個已壓縮的局部重配置指令,並且其中所述控制電路包括解壓縮電路,所述解壓縮電路可操作用於解壓縮所述至少一個已壓縮的局部重配置指令。附加實施例9.根據附加實施例1中所述的集成電路,其中所述控制電路進一步可操作用於接收至少一個已加密的局部重配置指令,並且其中所述控制電路包括解密電路,所述解密電路可操作用於解密所述至少一個已加密的局部重配置指令。附加實施例10.—種操作局部重配置電路的方法,所述局部重配置電路耦合到存儲器元件陣列,其中所述局部重配置電路和所述存儲器元件陣列形成在集成電路上,並且其中所述局部重配置電路包括控制電路、地址寄存器和數據寄存器電路,所述方法包括:用所述控制電路接收多個局部重配置指令,其中所述多個局部重配置指令中的給定的局部重配置指令包括局部重配置存儲器數據;從所述存儲器元件陣列中的選定行的存儲器元件中讀取數據,並且將讀取的數據加載到所述數據寄存器電路中;至少部分基於所述讀取的數據和所述局部重配置存儲器數據,對存儲於所述數據寄存器電路中的所述讀取的數據進行修改;和將已修改的數據加載到所述選定行的存儲器元件中。附加實施例11.根據附加實施例10中所述的方法,其中將所述讀取的數據加載到所述數據寄存器電路中包括將所述讀取的數據加載到所述數據寄存器電路中的第一數據寄存器,所述方法進一步包括:將來自所述第一數據寄存器的所述讀取的數據加載到所述數據寄存器電路中的第二數據寄存器。附加實施例12.根據附加實施例11中所述的方法,其中所述控制電路包括可配置邏輯電路,並且其中對存儲於所述數據寄存器電路中的所述讀取的數據進行修改包括:用所述可配置邏輯電路產生所述已修改的數據;和將由所述邏輯電路產生的所述已修改的數據串行移位到所述第二數據寄存器中。附加實施例13.根據附加實施例12中所述的方法,其中所述可配置邏輯電路具有第一輸入和第二輸入,所述方法進一步包括:用所述可配置邏輯電路的所述第一輸入,串行接收來自所述第二數據寄存器的輸出的所述讀取的數據;和用所述可配置邏輯電路的所述第二輸入,串行接收所述局部重配置存儲器數據。附加實施例14.根據附加實施例13中所述的方法,其中產生所述已修改的數據包括:利用所述可配置邏輯電路實現選自以下群組中的邏輯功能:邏輯與功能,邏輯或功能,邏輯異或功能,邏輯與非功能,邏輯或非功能和邏輯異或非功能;和通過對接收到的讀取的數據和接收到的局部重配置存儲器數據執行選定的邏輯功能,以此來產生所述已修改的數據。附加實施例15.根據附加實施例10中所述的方法,其中所述局部重配置電路進一步包括主電路,並且其中接收所述多個局部重配置指令包括:用所述控制電路接收來自所述主電路的所述多個局部重配置指令。附加實施例16.根據附加實施例10中所述的方法,其中所述控制電路包括具有輸出的錯誤檢驗電路,所述方法進一步包括:用所述錯誤檢驗電路,確定所述給定的局部重配置指令是否包括錯誤;和響應於確定所述給定的局部重配置指令是錯誤的,在所述錯誤檢驗電路的所述輸出上使錯誤信號有效。附加實施例17.根據附加實施例10中所述的方法,其中所述多個局部重配置指令包括一系列已加密的指令,並且其中所述控制電路包括解密電路,所述方法進一步包括:用所述解密電路解密所述一系列已加密的指令。附加實施例18.根據附加實施例10中所述的方法,其中所述多個局部重配置指令包括一系列已壓縮的指令,並且其中所述控制電路包括解壓縮電路,所述方法進一步包括:用所述解壓縮電路解壓縮所述一系列已壓縮的指令。附加實施例19.一種操作局部重配置電路的方法,所述局部重配置電路耦合到存儲器元件陣列並且包括控制電路,其中所述局部重配置電路和所述存儲器元件陣列形成在集成電路上,所述方法包括:用所述控制電路接收一系列局部重配置指令;用所述控制電路中的錯誤檢驗電路,確定所述一系列局部重配置指令中的給定的局部重配置指令是否包含錯誤;和響應於確定所述給定的局部重配置指令是錯誤的,阻止所述給定的局部重配置指令在所述存儲器元件陣列上執行。附加實施例20.根據附加實施例19中所述的方法,其中所述局部重配置電路進一步包括主電路,所述方法進一步包括:用所述主電路提供所述一系列局部重配置指令給所述控制電路;和響應於確定所述給定的局部重配置指令是錯誤的,利用所述控制電路來提供有效的錯誤信號給所述主電路。附加實施例21.根據附加實施例20中所述的方法,其中所述一系列局部重配置指令包括已加密且已壓縮的局部重配置指令,並且其中所述控制電路包括解密電路和解壓縮電路,所述方法進一步包括:用所述解密電路解密所述局部重配置指令;和用所述解壓縮電路解壓縮所述局部重配置指令。上述僅僅是說明本發明的原理,並且在不背離本發明的範圍和精神的情況下,本領域技術人員可以進行各種修改。上述實施例可以單獨實施,或者以任意組合方式實施。
權利要求
1.一種集成電路,包括: 存儲器元件陣列;和 局部重配置電路,其耦合到所述存儲器元件陣列,其中所述局部重配置電路包括: 控制電路;和 數據寄存器電路,其可操作用於存儲從所述存儲器元件陣列中的選定行的存儲器元件中讀取的數據,並且修改讀取的數據以產生已修改的數據,其中所述控制電路可操作用於將來自所述數據寄存器電路的所述已修改的數據加載到所述存儲器元件陣列中的所述選定行的存儲器元件中。
2.根據權利要求1中所述的集成電路,其中所述局部重配置電路進一步包括: 地址寄存器,其由所述控制電路控制,其中所述地址寄存器可操作用於產生對應於所述選定行的存儲器元件的有效的地址信號。
3.根據權利要求1中所述的集成電路,其中所述局部重配置電路進一步包括: 主電路,其可操作用於提供多個局部重配置指令給所述控制電路。
4.根據權利要求1中所述的集成電路,其中所述控制電路進一步可操作用於接收多個局部重配置指令,並且其中所述控制電路包括錯誤檢驗電路,所述錯誤檢驗電路可操作用於確定所述多個局部重配置指令中的每個指令是否包括錯誤並且校正所述局部重配置指令中的所述錯誤。
5.根據權利要求1中所述的集成電路,其中所述控制電路進一步可操作用於接收多個局部重配置指令,並且其中所述控制電路包括可配置邏輯電路,所述可配置邏輯電路可操作用於基於所述多個局部重配置指令中的給定的局部重配置指令產生所述已修改的數據。
6.根據權利要求5中所述的集成電路,其中所述可配置邏輯電路包括:第一輸入,其可操作用於接收來自所述數據寄存器電路的輸出的所述讀取的數據;第二輸入,其可操作用於接收從所述給定的局部重配置指令中提取的新數據;和輸出,在所述輸出上將所述已修改的數據提供給所述數據寄存器電路的輸入。
7.根據權利要求5中所述的集成電路,其中所述數據寄存器電路包括: 第一數據寄存器,其可操作用於存儲所述讀取的數據; 第二數據寄存器,其可操作用於接收來自所述第一數據寄存器的所述讀取的數據,其中所述控制電路被配置為修改所述讀取的數據,以在所述第二數據寄存器中產生所述已修改的數據;和 第三數據寄存器,其可操作用於接收來自所述第二數據寄存器的所述已修改的數據,其中所述控制電路被配置為將來自所述第三數據寄存器的所述已修改的數據加載到所述存儲器元件陣列中的所述選定行的存儲器元件中,並且其中所述可配置邏輯電路進一步可操作用於實現選自如下群組中的邏輯功能:邏輯與功能,邏輯或功能,邏輯異或功能,邏輯與非功能,邏輯或非功能和邏輯異或非功能。
8.根據權利要求1中所述的集成電路,其中所述控制電路進一步可操作用於接收至少一個已壓縮的局部重配置指令,並且其中所述控制電路包括解壓縮電路,所述解壓縮電路可操作用於解壓縮所述至少一個已壓縮的局部重配置指令。
9.根據權利要求1中所述的集成電路,其中所述控制電路進一步可操作用於接收至少一個已加密的局部重配置指令,並且其中所述控制電路包括解密電路,所述解密電路可操作用於解密所述至少一個已加密的局部重配置指令。
10.一種操作局部重配置電路的方法,所述局部重配置電路耦合到存儲器元件陣列,其中所述局部重配置電路和所述存儲器元件陣列形成在集成電路上,並且其中所述局部重配置電路包括控制電路、地址寄存器和數據寄存器電路,所述方法包括: 用所述控制電路接收多個局部重配置指令,其中所述多個局部重配置指令中的給定的局部重配置指令包括局部重配置存儲器數據; 從所述存儲器元件陣列中的選定行的存儲器元件中讀取數據,並且將讀取的數據加載到所述數據寄存器電路中; 至少部分基於所述讀取的數據和所述局部重配置存儲器數據,對存儲於所述數據寄存器電路中的所述讀取的數據進行修改;和 將已修改的數據加載到所述選定行的存儲器元件中。
11.根據權利要求10中所述的方法,其中將所述讀取的數據加載到所述數據寄存器電路中包括將所述讀取的數據加載到所述數據寄存器電路中的第一數據寄存器,所述方法進一步包括: 將來自所述第一數據寄存器的所述讀取的數據加載到所述數據寄存器電路中的第二數據寄存器。
12.根據權利要求11中所述的方法,其中所述控制電路包括可配置邏輯電路,並且其中對存儲於所述數據寄存器電路中的所述讀取的數據進行修改包括: 用所述可配置邏輯電路產生所述已修改的數據;和 將由所述邏輯電路產生的 所述已修改的數據串行移位到所述第二數據寄存器中。
13.根據權利要求12中所述的方法,其中所述可配置邏輯電路具有第一輸入和第二輸入,所述方法進一步包括: 用所述可配置邏輯電路的所述第一輸入,串行接收來自所述第二數據寄存器的輸出的所述讀取的數據;和 用所述可配置邏輯電路的所述第二輸入,串行接收所述局部重配置存儲器數據。
14.根據權利要求13中所述的方法,其中產生所述已修改的數據包括: 利用所述可配置邏輯電路實現選自以下群組中的邏輯功能:邏輯與功能,邏輯或功能,邏輯異或功能,邏輯與非功能,邏輯或非功能和邏輯異或非功能;和 通過對接收到的讀取的數據和接收到的局部重配置存儲器數據執行選定的邏輯功能,以此來產生所述已修改的數據。
15.根據權利要求10中所述的方法,其中所述局部重配置電路進一步包括主電路,並且其中接收所述多個局部重配置指令包括: 用所述控制電路接收來自所述主電路的所述多個局部重配置指令。
16.根據權利要求10中所述的方法,其中所述控制電路包括具有輸出的錯誤檢驗電路,所述方法進一步包括: 用所述錯誤檢驗電路,確定所述給定的局部重配置指令是否包括錯誤;和 響應於確定所述給定的局部重配置指令是錯誤的,在所述錯誤檢驗電路的所述輸出上使錯誤信號有效。
17.根據權利要求10中所述的方法,其中所述多個局部重配置指令包括一系列已加密的指令,並且其中所述控制電路包括解密電路,所述方法進一步包括: 用所述解密電路解密所述一系列已加密的指令。
18.根據權利要求10中所述的方法,其中所述多個局部重配置指令包括一系列已壓縮的指令,並且其中所述控制電路包括解壓縮電路,所述方法進一步包括: 用所述解壓縮電路解壓縮所述一系列已壓縮的指令。
19.一種操作局部重配置電路的方法,所述局部重配置電路耦合到存儲器元件陣列並且包括控制電路,其中所述局部重配置電路和所述存儲器元件陣列形成在集成電路上,所述方法包括: 用所述控制電路接收一系列局部重配置指令; 用所述控制電路中的錯誤檢驗電路,確定所述一系列局部重配置指令中的給定的局部重配置指令是否包含錯誤;和 響應於確定所述給定的局部重配置指令是錯誤的,阻止所述給定的局部重配置指令在所述存儲器元件陣列上執行。
20.根據權利要求19中所述的方法,其中所述局部重配置電路進一步包括主電路,所述方法進一步包括: 用所述主電路提供所述一系列局部重配置指令給所述控制電路;和 響應於確定所述給定的局 部重配置指令是錯誤的,利用所述控制電路來提供有效的錯誤信號給所述主電路。
21.根據權利要求20中所述的方法,其中所述一系列局部重配置指令包括已加密且已壓縮的局部重配置指令,並且其中所述控制電路包括解密電路和解壓縮電路,所述方法進一步包括: 用所述解密電路解密所述局部重配置指令;和 用所述解壓縮電路解壓縮所述局部重配置指令。
全文摘要
本發明涉及局部重配置電路。集成電路可以包括局部重配置(PR)電路,其用於重配置存儲器陣列的一部分。PR電路可以包括主電路、控制電路、地址寄存器以及第一、第二和第三數據寄存器。主電路可以發送一系列PR指令給控制電路。控制電路可以包括用於解壓縮已壓縮的指令的解壓縮電路,用於解密已加密的指令的解密電路,用於檢測指令中的錯誤的錯誤檢驗電路,以及邏輯電路。地址寄存器可以選擇期望的幀。可以將選定的幀加載進入第三數據寄存器中。可以將第三數據寄存器的內容移位進入第一數據寄存器中。第一數據寄存器的內容可以根據期望的邏輯功能利用邏輯電路進行修改,移位進入第二數據寄存器中,並且寫入選定的幀中。
文檔編號G06F17/50GK103177152SQ201210559868
公開日2013年6月26日 申請日期2012年12月20日 優先權日2011年12月21日
發明者B·瑪加班度, D·A·瑞斯, L·M·毛戈, N·D·納谷 申請人:阿爾特拉公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀