日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

集成電路中的狀態(tài)可見性和操縱的制作方法

文檔序號:11546326閱讀:343來源:國知局
集成電路中的狀態(tài)可見性和操縱的制造方法與工藝

本文呈現(xiàn)的實施例涉及電子電路,并且更具體地涉及用于訪問集成電路中的存儲電路的技術(shù)。



背景技術(shù):

存儲電路常常被用于保持集成電路中的狀態(tài),并且在運行用戶應用之前常常需要對這些存儲電路的寫訪問,例如作為對計算進行初始化的部分??紤]可編程邏輯器件(pld)作為集成電路的一個示例。對pld進行配置以實現(xiàn)給定電路設計包括通過將數(shù)據(jù)寫入到存儲電路來對配置存儲器元件進行編程。另外,存儲電路常常需要在集成電路開始操作之前處于初始狀態(tài)中。例如,存儲電路上的狀況常常設置計算的開始點(例如,將計數(shù)器重置為零)或者存儲用于計算的系數(shù)(例如,對于有限沖激響應(fir)濾波器)。

在操作集成電路期間獨立于對用戶應用的運行的對這些存儲電路的讀訪問發(fā)揮同等重要的作用。例如,涉及調(diào)試操作(諸如觀察集成電路的狀態(tài)以確定操作的正確性、為了對電路設計進行仿真的目的而使用集成電路、或者針對缺陷或出錯狀況(諸如單粒子效應(seu))的出現(xiàn)而監(jiān)測集成電路)的應用常常需要對集成電路中的存儲電路的狀態(tài)的提取。



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

根據(jù)一些實施例,處于第一模式中的控制電路可以通過經(jīng)由配置資源對配置存儲器位進行編程來生成關(guān)于集成電路的電路設計實施方案。電路設計實施方案可以包括存儲電路。在利用電路設計實施方案對集成電路的操作期間,電路設計實施方案可以執(zhí)行在存儲電路處的第一訪問操作。處于第二模式中的控制電路可以在第二模式中執(zhí)行經(jīng)由配置資源在存儲電路處的第二訪問操作。在一些實施例中,第二訪問操作是寫操作。在其它實施例中,第二訪問操作是讀操作。

應當認識到,本發(fā)明能夠以許多方式(諸如過程、裝置、系統(tǒng)、設備或計算機可讀介質(zhì)上的方法)來實施。本文公開了本發(fā)明的若干實施例。

在某些實施例中,上述寫操作可以通過使存儲電路中的位反相來將錯誤注入到電路設計實施方案中。錯誤注入的影響可以包括觀察集成電路的輸出以檢查該錯誤是否影響輸出。

如果期望的話,寫操作還可以包括在控制電路處接收重置信號,在接收到重置信號時執(zhí)行在控制電路處的中斷操作,以及經(jīng)由配置資源將重置請求信號從控制電路發(fā)送到扇區(qū),其中重置請求信號請求執(zhí)行扇區(qū)中的重置操作。

本發(fā)明的另外的特征、本發(fā)明的本質(zhì)和各種優(yōu)點將從附圖和優(yōu)選實施例的下面的詳細描述中變得更加清楚。

附圖說明

圖1是根據(jù)實施例的說明性集成電路的示意圖。

圖2是根據(jù)實施例的用于利用用戶界面和控制在配置資源上的多個扇區(qū)的全局控制電路來訪問存儲電路的說明性電路的示意圖。

圖3是根據(jù)實施例的實現(xiàn)使用掃描鏈對存儲電路的狀態(tài)捕獲的說明性電路的示意圖。

圖4是根據(jù)實施例的具有由局部控制電路控制的掃描鏈的說明性扇區(qū)的示意圖。

圖5是根據(jù)實施例的執(zhí)行對存儲電路的陣列的訪問操作的說明性控制電路的示意圖。

圖6是根據(jù)實施例的具有控制電路的說明性系統(tǒng)的示意圖,該控制電路與處理器電路進行通信并且執(zhí)行經(jīng)由配置資源和接口對集成電路中的存儲電路的訪問操作。

圖7是示出了根據(jù)實施例的用于執(zhí)行經(jīng)由集成電路中的配置資源對存儲電路的訪問操作的說明性操作的流程圖。

圖8是示出了根據(jù)實施例的用于執(zhí)行對集成電路中的電路設計實施方案的統(tǒng)計監(jiān)測的說明性操作的流程圖。

具體實施方式

集成電路可以實施電路設計,其有時還被稱為應用或用戶應用。電路設計實施方案可以包括邏輯電路(例如,邏輯與門、邏輯或門、反相器、等等)、存儲電路(例如,寄存器、鎖存器、存儲器、等等)、運算電路(例如,加法器、減法器、乘法器、除法器、等等)、輸入電路(例如,輸入端口、接收器電路、存儲器接口、等等)、輸出電路(例如,輸出端口、發(fā)送器電路、存儲器接口、等等)。

集成電路中的存儲電路常常被用于存儲電路設計實施方案的狀態(tài)。電路設計實施方案可以在操作集成電路期間執(zhí)行讀訪問操作以從這些存儲電路中取得數(shù)據(jù)信號和/或執(zhí)行寫訪問操作以將數(shù)據(jù)信號存儲在這些存儲電路中。在一些情況下,可能期望獨立于在操作期間集成電路運行的應用而執(zhí)行讀訪問操作和/或?qū)懺L問操作中的至少一些操作。

例如,獨立于應用的運行而執(zhí)行的寫訪問操作可以包括:在運行應用之前進行的寫訪問操作(例如,通過將計數(shù)器重置為零或者設置常數(shù)系數(shù)值來對計算進行初始化,將狀態(tài)機放置成初始狀態(tài),對可配置電路進行編程,等等)、部分重配置、將應用設置成已知狀態(tài)以用于調(diào)試目的、單粒子效應(seu)校正、等等。

作為另一示例,獨立于應用的運行而執(zhí)行的讀訪問操作可以包括諸如以下的調(diào)試操作:觀察集成電路的狀態(tài)以確定操作的正確性、為了對電路設計進行仿真的目的而使用集成電路、針對缺陷或出錯狀況(諸如單粒子效應(seu))的出現(xiàn)而監(jiān)測集成電路、等等。

如果期望的話,從存儲電路中取得的數(shù)據(jù)的值可以通過調(diào)試端口(諸如內(nèi)部配置訪問端口(icap)、聯(lián)合測試行動組(jtag)端口、或其它輸出端口)被路由到嵌入式處理器電路或其它可能的接收方以用于在集成電路外的進一步分析。

用于獨立于應用的運行而執(zhí)行讀訪問操作和/或?qū)懺L問操作的當前解決方案(例如,由加利福尼亞圣何塞的altera公司銷售的signalprobe或者ii邏輯分析器,或由加利福尼亞圣何塞的xilinx公司銷售的chipscopetmpro軟件)具有許多缺點。例如,為了取得集成電路的狀態(tài)的目的的讀訪問操作常常與應用的運行相比較慢,并且一般需要停止應用的運行。一些存儲電路可能不是能直接訪問的,并且因此在讀訪問操作期間不可觀察到并且在寫訪問操作期間不可寫入。應用的定時和資源利用可以通過將調(diào)試連接添加到在電路設計實施方案內(nèi)部的連接處的探測信號和/或分配內(nèi)部追蹤緩沖器來被影響。另外,在其處探測到信號的連接常常需要在運行應用之前是已知的,使得它們可以被包含在電路設計實施方案中。

本領(lǐng)域技術(shù)人員將意識到,當前示例性實施例可以在沒有這些具體細節(jié)中的一些或全部的情況下來實踐。在其它實例中,未詳細描述公知操作以便不會不必要地使當前的實施例模糊不清。

在圖1中示出了可以被配置為實施電路設計的集成電路(諸如可編程集成電路100)的說明性實施例。如圖1所示,可編程集成電路100可以包括功能塊的二維陣列,包括邏輯陣列塊(lab)110和其它功能塊,例如諸如隨機訪問存儲器(ram)塊130和數(shù)字信號處理(dsp)塊120。功能塊(諸如lab110)可以包括接收輸入信號并執(zhí)行在輸入信號上的定制功能以產(chǎn)生輸出信號的較小的可編程區(qū)(例如,邏輯元件、可配置邏輯塊、或自適應邏輯模塊)。

另外,可編程集成電路100可以具有用于驅(qū)動關(guān)閉可編程集成電路100的信號并用于從其它設備接收信號的輸入/輸出元件(ioe)102。輸入/輸出元件102可以包括并行輸入/輸出電路、串行數(shù)據(jù)收發(fā)器電路、差分接收器和發(fā)送器電路、或用于將一個集成電路連接到另一集成電路的其它電路。如所示的,輸入/輸出元件102可以被定位在芯片的外周附近。如果期望的話,可編程集成電路100可以具有以不同的方式布置的輸入/輸出元件102。例如,輸入/輸出元件102可以形成可以被定位在可編程集成電路100上的任何地方的(例如,跨可編程集成電路的寬度均勻地分布的)輸入/輸出元件的一列或多列。如果期望的話,輸入/輸出元件102可以形成(例如,跨可編程集成電路的高度分布的)輸入/輸出元件的一行或多行。備選地,輸入/輸出元件102可以形成可以被分布在可編程集成電路100的表面上或者被聚集在所選擇的區(qū)域中的輸入/輸出元件的島(island)。

可編程集成電路100還可以包括形式為垂直路由信道140(即,沿可編程集成電路100的垂直軸形成的互連)和水平路由信道150(即,沿可編程集成電路100的水平軸形成的互連)的可編程互連電路,每個路由信道包括至少一個軌道以路由至少一根接線。

要指出,除了圖1中描繪的互連電路的拓撲結(jié)構(gòu)之外的其它路由拓撲結(jié)構(gòu)旨在被包含在本發(fā)明的范圍內(nèi)。例如,路由拓撲結(jié)構(gòu)可以包括對角地行進或沿它們的范圍的不同部分水平地和垂直地行進的接線以及在三維集成電路的情況下垂直于設備平面的接線,并且接線的驅(qū)動器可以被定位在與接線的一端不同的點處。路由拓撲結(jié)構(gòu)可以包括基本上跨過整個可編程集成電路100的全局接線、跨過可編程集成電路100的部分的分數(shù)全局接線、特定長度的交錯接線、較小的本地接線、或任何其它適當?shù)幕ミB資源布置。

另外,應當理解,實施例可以被實施在任何集成電路中。如果期望的話,這樣的集成電路的功能塊可以被布置在更多的層級或?qū)又?,其中多個功能塊被互連以形成更大的塊。其它設備布置可以使用未按行和列布置的功能塊。

可編程集成電路100可以包含可編程存儲器元件。存儲器元件可以使用輸入/輸出元件(ioe)102和配置資源而被加載有配置數(shù)據(jù)(還被稱為編程數(shù)據(jù))。一旦被加載,存儲器元件中的每個存儲器元件均提供控制相關(guān)聯(lián)的功能塊的操作的對應的靜態(tài)控制信號(例如,lab110、dsp120、ram130、輸入/輸出元件102、或產(chǎn)生信號路徑的互連資源)。

在典型情形下,經(jīng)加載的存儲器元件的輸出被施加到功能塊中的金屬氧化物半導體場效應晶體管的柵極以接通或斷開某些晶體管,并且由此對包括路由路徑的功能塊中的邏輯進行配置??梢砸赃@種方式控制的可編程邏輯電路元件包括多路復用器(用于形成互連電路中的路由路徑的多路復用器)、查找表、邏輯陣列、與邏輯門、或邏輯門、與非邏輯門、以及與或邏輯門、通過門(passgate)、等等的部分。

存儲器元件可以使用任何適當?shù)囊资源鎯ζ鹘Y(jié)構(gòu)和/或非易失性存儲器結(jié)構(gòu),諸如例如隨機訪問存儲器(ram)單元、保險絲、反熔絲、可編程只讀存儲器存儲器單元、掩碼編程結(jié)構(gòu)和激光編程結(jié)構(gòu)、機械存儲器設備(例如,包括本地機械諧振器)、機械操作的ram(moram)、這些結(jié)構(gòu)的組合、等等。因為存儲器元件在編程期間被加載有配置數(shù)據(jù),所以存儲器元件有時被稱為配置存儲器元件、配置ram(cram)、或可編程存儲器元件。

可編程存儲器元件可以采用包括行和列的配置存儲器陣列來組織??邕^所有列的數(shù)據(jù)寄存器和跨過所有行的地址寄存器可以接收配置數(shù)據(jù)。配置數(shù)據(jù)可以被移位到數(shù)據(jù)寄存器上。當合適的地址寄存器被認定時,數(shù)據(jù)寄存器將配置數(shù)據(jù)寫入到由地址寄存器指定的行的配置存儲器位。

在某些實施例中,可編程集成電路100可以包括被組織在扇區(qū)中的配置存儲器,其中扇區(qū)可以包括指定在該扇區(qū)中或跨越該扇區(qū)的子部件和接線的功能和/或互連的配置ram位。每個扇區(qū)可以包括單獨的數(shù)據(jù)和地址寄存器。關(guān)于扇區(qū)的另外的信息能夠在共同擁有的題為“programmablecircuithavingmultiplesectors”的美國專利申請?zhí)?4/460548中找到,在此將其通過引用整體并入本文。

圖2示出了具有被組織在扇區(qū)240中的配置存儲器的說明性可配置集成電路(諸如可編程集成電路100)。每個扇區(qū)240可以包括本地控制電路220。這些本地控制電路可以控制時鐘分布網(wǎng)絡和各自的扇區(qū)240的配置。如果期望的話,本地控制電路220可以操縱并觀察在各自的扇區(qū)240內(nèi)的掃描鏈。

在某些實施例中,本地控制電路220可以被實施為狀態(tài)機。在某些實施例中,本地控制電路220可以被實施為最小的處理器。由本地控制電路220支持的每個操作可以被實施為在包含控制程序的存儲器中的單獨的例程。

在某些實施例中,該控制程序存儲器可以接收并存儲新的例程以便將新的操作和功能實施到扇區(qū)中。這些新的操作可以提高扇區(qū)內(nèi)的局部活性。在沒有該可擴展性的情況下,新的功能可以需要根據(jù)預先存在的操作來實施,其可以增加在全局控制電路與本地控制電路之間的所需要的通信的量并且完全防止對局部控制電路220的并行使用。

通信網(wǎng)絡230可以將局部控制電路220連接到全局控制電路210。例如,通信網(wǎng)絡230可以被用于傳輸配置數(shù)據(jù)和/或調(diào)試數(shù)據(jù)以分別用于配置目的和/或調(diào)試目的。在一些實施例中,通信網(wǎng)絡230可以被用于傳輸作為電路設計實施方案的部分的數(shù)據(jù)信號。如果期望的話,通信網(wǎng)絡230可以被實施為基于網(wǎng)格的片上網(wǎng)絡(noc)。關(guān)于片上網(wǎng)絡和fpga的另外的信息能夠在共同擁有的美國專利申請公開號2014/0126572“programmablelogicdevicewithintegratednetwork-on-chip”中找到,在此將其通過引用整體并入本文。

全局控制電路210可以連接到設備引腳,其能夠通過設備引腳與用戶界面250進行通信。用戶界面250可以包括例如jtag掃描鏈、輸入/輸出端口、可編程邏輯電路、或這些電路的任何組合。全局控制電路210可以從用戶界面250接收命令,處理接收到的命令,并且根據(jù)需要通過通信網(wǎng)絡230將所處理的命令發(fā)送到局部控制電路220。響應于從全局控制電路210接收到命令,局部控制電路220可以編排存儲電路在各自的扇區(qū)240中的讀取,并且隨后通過通信網(wǎng)絡230將從存儲電路中取得的數(shù)據(jù)發(fā)送回到全局控制電路210。

因為全局控制電路210除此之外負責協(xié)調(diào)局部控制電路220的操作,以用于在用戶界面250與局部控制電路220之間的通信并且為了安全特征,全局控制電路210(或至少其部分)也可以被實施在處理器中。處理器可以是專用處理器、針對已經(jīng)被包含在設備的設計中的用戶可見處理器的特別啟動代碼、或者另一適當?shù)牟贾谩?/p>

劃分成扇區(qū)的優(yōu)點可以是局部控制電路220可以獨立地且并行地操作。每個局部控制電路220可以如下面更詳細地公開的使用其各自的扇區(qū)240中的一個或多個掃描鏈、或者通過具有包括數(shù)據(jù)寄存器控制器的數(shù)據(jù)寄存器的接口而從其各自的扇區(qū)240中取得數(shù)據(jù)。在一些實施例中,局部控制電路220中的每個局部控制電路可以在丟棄不需要的數(shù)據(jù)之后將從各自的扇區(qū)240中取得的數(shù)據(jù)過濾為精簡數(shù)據(jù)集。局部控制電路220可以隨后通過通信網(wǎng)絡230將精簡數(shù)據(jù)集發(fā)送到全局控制電路210。如果每個局部控制電路220通過通信網(wǎng)絡230以低于網(wǎng)絡230的最大帶寬來發(fā)送數(shù)據(jù),則全局控制電路210可以確定針對局部控制電路220的排程(schedule),以使通過網(wǎng)絡230發(fā)送的數(shù)據(jù)相交錯。備選地,全局控制電路210可以提供允許局部控制電路220通過網(wǎng)絡230以網(wǎng)絡230的完整帶寬串行地發(fā)送數(shù)據(jù)的時序排程。

全局控制電路210可以(例如,例如使用10吉比特以太網(wǎng)協(xié)議或外圍部件互連快速(pcie)協(xié)議(僅舉數(shù)例)的通過高速串行接口(hssi)收發(fā)器電路)以高數(shù)據(jù)速率與用戶界面250進行通信。全局控制電路210可以通過時分復用通信網(wǎng)絡230與局部控制電路220進行通信,例如其中局部控制電路220中的每個局部控制電路以相對較低的速率但是并行地操作。

局部控制電路220中的每個局部控制電路能夠在第一時間段期間監(jiān)測其各自的扇區(qū)240中的存儲電路的第一集合,并且在第二時間段期間監(jiān)測其各自的扇區(qū)240中的存儲電路的第二集合。局部控制電路的控制程序可以被動態(tài)地擴展以執(zhí)行該監(jiān)測功能。該監(jiān)測功能允許在某個時間點處監(jiān)測的存儲電路的集合比通過通信網(wǎng)絡230和全局控制電路210從扇區(qū)發(fā)送到用戶界面250的位的數(shù)目大得多,以用于外部監(jiān)測和解讀。另外,修理電路設計中的需要更改關(guān)于可配置集成電路的設計實施方案的程序錯誤(例如,將邏輯“與”改變?yōu)檫壿嫛盎颉?可能需要使用扇區(qū)的部分重配置能夠帶來的局部變化。

扇區(qū)240的獨立性還可以導致被完全包含在一個扇區(qū)內(nèi)的并且由各自的局部控制電路220控制的更短的掃描鏈。在某些實施例中,關(guān)于存儲電路的狀態(tài)的信息可以使用掃描鏈來取得。圖3示出了實現(xiàn)使用被布置在掃描鏈中的掃描存儲電路(例如,掃描寄存器)對用戶存儲電路(例如,用戶寄存器)的狀態(tài)捕獲和狀態(tài)恢復的說明性電路300。因為用戶存儲電路320a和320b都能夠使用掃描存儲電路在不遍歷其它存儲電路的情況下來訪問,所以用戶存儲電路320a和320b可以被稱為可觀察到的存儲電路。

如圖3所示,掃描鏈包括掃描存儲電路340和掃描存儲電路345。多路復用器330和335與掃描存儲電路340和345耦合在一起作為當信號load為‘0’時掃描鏈中的移位寄存器。包括掃描存儲電路340和345的掃描鏈是用于捕獲存儲在用戶存儲電路320a和320b中的數(shù)據(jù)并將其移出而不將附加的數(shù)據(jù)移入到用戶存儲電路320a和320b中的專用掃描鏈。因此,包括掃描存儲電路340和345的掃描鏈能夠執(zhí)行對存儲在用戶存儲電路320a和320b中的數(shù)據(jù)的非破壞性捕獲,而不干擾或擦除存儲在用戶存儲電路320a和320b中的數(shù)據(jù)。對存儲在用戶存儲電路中的數(shù)據(jù)的非破壞性捕獲還被稱為快照或被稱為狀態(tài)可視化。

時鐘分布網(wǎng)絡可以使用多路復用器355來在時鐘信號clk_0、clk_1、…clk_n之中選擇時鐘信號。邏輯與門365可以從多路復用器355中接收所選擇的時鐘信號、以及可以接收能夠啟用或禁用所選擇的時鐘信號的信號enable_scan。作為示例,邏輯與門365的輸出可以是時鐘信號c2,其可以觸發(fā)掃描存儲電路340和345。

另一時鐘分布網(wǎng)絡可以使用多路復用器350來在時鐘信號clk_0、clk_1、…clk_n之中選擇時鐘信號。邏輯與門360可以從多路復用器350中接收所選擇的時鐘信號、以及可以接收能夠啟用或禁用所選擇的時鐘信號的信號enable_user。作為示例,邏輯與門360的輸出可以是時鐘信號c1,其可以觸發(fā)掃描存儲電路320a和320b。

在有時還被稱為用戶模式的應用運行模式中(即,在操作電路設計實施方案期間),用戶存儲電路320a和320b可以分別從多路復用器310和315接收數(shù)據(jù)信號d1和d2。在該模式中,信號unload可以被解除認定,并且多路復用器310和315可以選擇信號data-in_a和data-in_b分別作為信號d1和d2。用戶存儲電路320a和320b可以存儲在時鐘信號c1的觸發(fā)事件(例如,上升沿、下降沿、高電平、低電平、或其任何組合)處的信號d1和d2,并且可以分別提供信號d1和d2的值作為信號data-out_a和data-out_b。

如果期望的話,控制電路(例如,圖2的局部控制電路220)可以執(zhí)行用戶存儲電路的讀訪問操作,以提取用戶存儲電路320a和320b的狀態(tài)。例如,存儲在用戶存儲電路320a和320b中的信號可以在數(shù)據(jù)取得模式中使用掃描鏈來取得。取得存儲在用戶存儲電路320a和320b中的信號有時還被稱為在讀回模式中的操作電路300。為此,信號enable_user和enable_scan可以被解除認定以分別停止時鐘信號c1和c2。信號load可以被設置為‘1’,使得多路復用器330和335分別選擇來自用戶存儲電路320a和320b的信號。

信號enable_scan可以被認定,以允許時鐘信號c2的一個觸發(fā)事件。時鐘信號c2的一個觸發(fā)事件會觸發(fā)掃描存儲電路340和345,以分別存儲被存儲在用戶存儲電路320a和320b中的值。隨后,信號load可以從‘1’被切換為‘0’,以使得多路復用器330和335選擇來自掃描鏈上的其它掃描存儲電路的信號。例如,多路復用器335選擇掃描存儲電路340的輸出信號s1。信號enable_scan可以隨后被認定,以開始時鐘信號c2中的振蕩。掃描存儲電路340和345隨后將由信號s1和s2指示的所存儲的數(shù)據(jù)移出在時鐘信號c2的連續(xù)觸發(fā)事件處的信號scan-out中的掃描鏈。在某些實施例中,存儲在用戶存儲電路320a和320b中的值可以在讀回模式中被取得,而不停止時鐘信號c1。例如,信號load和時鐘信號c1和c2可以被同步,使得能夠在不停止時鐘信號c1的情況下進行讀回。

如果期望的話,信號enable_user可以被認定,以開始時鐘信號c1中的振蕩。響應于時鐘信號c1中的振蕩,用戶存儲電路320a和320b可以在設計運行模式中操作,而所存儲的數(shù)據(jù)使用掃描鏈來取得。

在示例性實施例中,圖3的掃描鏈不具有到用于在集成電路中的可編程邏輯塊之間路由信號的全局路由導體的直接連接。使用圖3的專用掃描鏈來獲取存儲在用戶存儲電路320a-320b中的數(shù)據(jù)的快照可以允許去除全局凍結(jié)信號以及否則將用于對全局路由導體進行選通的凍結(jié)邏輯。

在另一實施例中,全局控制電路210或局部控制電路220可以具有能夠禁用讀回模式的安全邏輯。安全邏輯能夠使得扇區(qū)240中的一個或多個扇區(qū)進入安全模式,在安全模式中在各自的扇區(qū)240中的掃描鏈獲取存儲在用戶存儲電路中的數(shù)據(jù)的快照的能力被禁用。安全邏輯能夠被用于確保被編程為安全的用戶存儲電路的狀態(tài)不能夠在用戶模式中被訪問。安全邏輯可以例如由cram設置或保險絲來控制。

在另一情形下,控制電路(例如,圖2的局部控制電路220)可以執(zhí)行用戶存儲電路的寫訪問操作,以將用戶存儲電路320a和320b設置處于預定狀態(tài)。例如,預定數(shù)據(jù)可以在數(shù)據(jù)恢復模式中使用掃描鏈被寫入到用戶存儲電路320a和320b。將預定數(shù)據(jù)寫入到用戶存儲電路320a和320b有時還被稱為在寫回模式中的操作電路300。為此,信號load可以被設置為‘0’以使得多路復用器330和335選擇來自掃描鏈上的其它掃描存儲電路的信號。信號enable_scan可以被認定,以使得預定數(shù)據(jù)經(jīng)由信號scan-in被移入到掃描鏈中。掃描存儲電路340和345響應于時鐘信號c2的連續(xù)時鐘觸發(fā)事件而分別將在它們的輸出處的預定數(shù)據(jù)存儲為信號s1和s2。

接下來,信號enable_user和enable_scan可以被解除認定,以分別停止時鐘信號c1和c2。信號unload可以被設置為‘1’,以使得多路復用器310和315分別選擇來自掃描存儲電路340和345的信號s1和s2作為信號d1和d2。

信號enable_user可以被認定,以用于時鐘信號c1的一個觸發(fā)事件。時鐘信號c1的一個觸發(fā)事件可以觸發(fā)用戶存儲電路320a和320b以分別存儲信號d1和d2。結(jié)果,用戶存儲電路320a和320b分別存儲來自掃描存儲電路340和345的預定數(shù)據(jù)。隨后,信號unload可以被設置為‘0’以使得多路復用器310和315分別選擇信號data-in_a和data-in_b作為信號d1和d2。信號enable_user可以隨后被認定,以開始時鐘信號c1,使得用戶存儲電路320a和320b在設計運行模式中操作。

如果期望的話,局部控制電路(例如,圖2的局部控制電路220)可以控制掃描鏈。作為示例,局部控制電路可以控制信號load、unload和enable_scan。在圖4中示出了具有控制掃描鏈的局部控制電路的扇區(qū)(例如,圖2的扇區(qū)240)的說明性實施例。如圖4所示,扇區(qū)400可以包括局部控制電路410、第一類型的電路塊420(例如,圖1中的lab110、dsp120、或ram130之一)、以及與第一類型的電路塊420不同的第二類型的電路塊430(例如,圖1中的lab110、dsp120、或ram130中的不同的一個)。

局部控制電路410可以控制掃描鏈450,其可以源自于局部控制電路410中,在局部控制電路410處結(jié)束之前遍歷電路塊420a、430、…、和420b。掃描鏈450包括部分450a-450b。掃描鏈450包括掃描存儲電路,諸如掃描存儲電路340和345。在一些實施例中,掃描鏈450包括許多掃描存儲電路。如果期望的話,扇區(qū)400可以包括多于一個掃描鏈。扇區(qū)400中的每個掃描鏈可以源自于并且結(jié)束于局部控制電路410中,并且局部控制電路410可以單獨地控制扇區(qū)400中的每個掃描鏈。

如圖4所示,局部控制電路410可以使用連接460和多路復用器440來控制掃描鏈450。例如,局部控制電路410可以引導多路復用器電路440選擇來自在其第一多路復用輸入處的電路塊420a的掃描鏈部分450a上的信號,由此繞過來自在其第二多路復用輸入處的電路塊430的掃描鏈部分450b。

備選地,局部控制電路410可以使得多路復用器440選擇在來自電路塊430的掃描鏈部分450b上的信號。例如,考慮其中局部控制電路410測試扇區(qū)400中的所有存儲電路的操作能力的情形。在該情形下,局部控制電路410可以引導多路復用器440選擇來自在其第二多路復用輸入處的掃描鏈部分450b上的信號。

作為另一示例,考慮其中用戶想要使用掃描鏈450來探測存儲在電路塊420中的信號而非存儲在電路塊430中的信號的情形。在該情形下,局部控制電路410可以引導多路復用器440選擇來自在其第一多路復用輸入處的掃描鏈部分450a上的信號,繞過來自電路塊430的掃描鏈部分450b。

如果期望的話,局部控制電路410可以被耦合到全局控制電路(例如所示的,圖2的局部控制電路220通過網(wǎng)絡230被耦合到全局控制電路210)。局部控制電路410可以包括濾波能力。該濾波能力可以例如允許局部控制電路410在第一時間段期間監(jiān)測電路塊420和430中的一個或多個電路塊中的存儲電路的子集,并且在第二時間段期間監(jiān)測電路塊420和430中的一個或多個電路塊中的存儲電路的另一子集。

在其中局部控制電路410包括處理器的實施例中,局部控制電路410中的處理器可以使用軟件對所捕獲的數(shù)據(jù)執(zhí)行濾波。作為示例,局部控制電路410可以根據(jù)在處理器上運行的用戶軟件代碼來去除狀態(tài)的集合。作為另一示例,局部控制電路410可以編排來自存儲電路的數(shù)據(jù)的快照并執(zhí)行診斷測試,以確定數(shù)據(jù)的快照應當被放棄還是被保留。局部控制電路410可以例如一旦被測試的電路被確定為無錯誤,就放棄快照。

如果期望的話,局部控制電路410可以單獨地取得存儲在一個或多個存儲電路中的數(shù)據(jù)、存儲在被定位在一個或多個電路塊中的一個或多個存儲電路中的數(shù)據(jù)、或者存儲在被耦合到扇區(qū)400中的一個或多個掃描鏈的一個或多個存儲電路中的數(shù)據(jù)。局部控制電路410可以取得存儲在被定位在扇區(qū)400中的自適應邏輯模塊(alm)中的一個或多個存儲電路中的數(shù)據(jù)、存儲在被定位在扇區(qū)400中的邏輯陣列塊(lab)中的一個或多個存儲電路中的數(shù)據(jù)、存儲在被定位在扇區(qū)400中的存儲器元件中的一個或多個存儲電路中的數(shù)據(jù)、和/或存儲在被定位在扇區(qū)400中的數(shù)字信號處理器(dsp)塊中的一個或多個存儲電路中的數(shù)據(jù)。自適應邏輯模塊(alm)包括組合邏輯(諸如查找表)。局部控制電路410可以緩存和/或處理所取得的數(shù)據(jù)。局部控制電路410可以經(jīng)由網(wǎng)絡230將取得的數(shù)據(jù)提供給全局控制電路210。全局控制電路210可以在外部經(jīng)由用戶界面250來封裝所取得的數(shù)據(jù)并傳送所封裝的數(shù)據(jù)。

在某些實施例中,控制電路可以在第一模式中通過經(jīng)由配置資源(諸如地址寄存器和數(shù)據(jù)寄存器)對配置存儲器位進行編程來生成關(guān)于集成電路的電路設計實施方案,并且在第二模式中執(zhí)行經(jīng)由配置資源對存儲電路的訪問操作,其被圖示在圖5中。圖5的電路可以包括控制電路510、數(shù)據(jù)寄存器540、地址寄存器550、變速器(gearbox)530、以及存儲電路520。如所示的,存儲電路520可以被布置在行和列的陣列中,其中地址寄存器550按行連接到存儲電路520,并且數(shù)據(jù)寄存器540經(jīng)由變速器530按列連接到存儲電路520。

圖5的電路僅僅是說明性的并且不旨在限制本發(fā)明的范圍。如果期望的話,地址寄存器可以按列連接到存儲電路,并且數(shù)據(jù)寄存器按行連接到存儲電路,存儲電路520可以以不同的方式來布置,等等。例如,電路可以具有在兩行之間和/或在兩列之間的不同數(shù)量的存儲電路520,電路可以僅僅具有一行或僅僅一列,地址寄存器550可以被省略,變速器530可以被省略,等等。

如圖5所示,控制電路510可以經(jīng)由變速器530引導地址寄存器550和數(shù)據(jù)寄存器540讀取存儲電路520的狀態(tài)和/或設置存儲電路520的狀態(tài)。在另一實施例中,控制電路510可以在繞過變速器530的情況下使用配置資源(諸如地址寄存器550和數(shù)據(jù)寄存器540)以通過對配置存儲器位(未示出)進行編程來實施電路設計。

考慮其中控制電路510對配置存儲器位進行編程來實施電路設計的情形。在該情形下,控制電路510可以接收請求對配置存儲器位的幀以及配置數(shù)據(jù)和地址的寫訪問操作的數(shù)據(jù)包??刂齐娐?10可以將配置數(shù)據(jù)移入到數(shù)據(jù)寄存器540中。數(shù)據(jù)寄存器540可以(例如,通過未示出在圖5中的三狀態(tài)緩沖器)直接驅(qū)動數(shù)據(jù)線,由此繞過變速器530。

控制電路510可以將地址移入到地址寄存器550中,由此選擇要由配置數(shù)據(jù)編程的配置存儲器位。地址寄存器550可以(例如,通過啟用在數(shù)據(jù)線與存儲器單元之間的傳遞晶體管)實現(xiàn)對所選擇的配置存儲器位的寫訪問操作,由此將經(jīng)由數(shù)據(jù)線來自數(shù)據(jù)寄存器540的配置數(shù)據(jù)存儲在配置存儲器單元中。如果期望的話,控制電路510可以發(fā)送指示寫訪問操作的成功的響應數(shù)據(jù)包(例如,發(fā)送到處理器電路和/或全局控制電路,等等)。如果期望的話,控制電路510可以在響應數(shù)據(jù)包中指示其準備好接收另一數(shù)據(jù)包。

在一些實施例中,控制電路510可以接收寫訪問請求數(shù)據(jù)包,其包括針對具有為了對配置存儲器位進行編程以實施電路設計的目的而選擇的數(shù)據(jù)寄存器控制器(未示出)的地址的數(shù)據(jù)寄存器540的配置數(shù)據(jù)的幀。配置數(shù)據(jù)可以由片上網(wǎng)絡接收器寫入到數(shù)據(jù)寄存器控制器。數(shù)據(jù)寄存器控制器可以在每周期將數(shù)據(jù)包中的預定數(shù)量的位的配置數(shù)據(jù)移入到數(shù)據(jù)寄存器中。在接收到配置數(shù)據(jù)的最后的預定數(shù)量的位后,控制電路510可以基于用寫訪問請求數(shù)據(jù)包接收到的地址來引導地址寄存器550,以實現(xiàn)來自由數(shù)據(jù)寄存器540驅(qū)動的數(shù)據(jù)線的寫訪問操作。

考慮其中控制電路510經(jīng)由變速器530引導地址寄存器550和數(shù)據(jù)寄存器540執(zhí)行對存儲電路520之一的寫訪問操作的情形。例如,控制電路510可以接收請求寫訪問操作的數(shù)據(jù)包。在該示例中,控制電路510可以準備數(shù)據(jù)寄存器540和/或地址寄存器550用于寫訪問操作。例如,控制電路510可以實現(xiàn)從控制電路510到變速器530的連接。如果期望的話,控制電路510可以發(fā)送響應數(shù)據(jù)包(例如,發(fā)送到處理器電路和/或全局控制電路、等等),該響應數(shù)據(jù)包指示數(shù)據(jù)寄存器540和/或地址寄存器550被成功地準備、和/或指示數(shù)據(jù)寄存器540和/或地址寄存器550準備好接收用戶數(shù)據(jù)。

控制電路510可以接收請求對預定存儲電路520的寫訪問操作的用戶數(shù)據(jù)的數(shù)據(jù)包、以及接收指定預定存儲電路520的用戶數(shù)據(jù)和地址。作為示例,考慮其中存儲電路520被布置在如圖5所示的行和列的陣列中并且地址指示預定行和預定列的情形。在該情形下,控制電路510可以分析用戶數(shù)據(jù)的數(shù)據(jù)包,并且基于該分析來引導地址寄存器550和/或數(shù)據(jù)寄存器540。例如,地址寄存器550可以認定實現(xiàn)對預定行中的所有存儲電路520的寫訪問操作的啟用信號。

控制電路510可以將用戶數(shù)據(jù)的數(shù)據(jù)包的一部分發(fā)送到數(shù)據(jù)寄存器540,并且從那里發(fā)送到至少一個變速器530。接收用戶數(shù)據(jù)的數(shù)據(jù)包的該部分的變速器可以確定預定列是否指定連接到變速器的存儲電路的列。在預定地址指定連接到變速器的列并且由此指定變速器的情況下,所指定的變速器530可以認定合適的控制信號以實現(xiàn)對預定列中的存儲電路520的寫訪問操作。如果期望的話,所指定的變速器530可以通過數(shù)據(jù)線將要被存儲在預定存儲電路520中的數(shù)據(jù)發(fā)送到預定列中的存儲電路,使得數(shù)據(jù)被存儲在預定存儲電路520中。

作為示例,預定存儲電路520可以包括存儲位的二維陣列,并且寫訪問操作可以將數(shù)據(jù)寫入到預定存儲電路中的所有存儲位。在該示例中,所指定的變速器530可以包括指示二維陣列中的存儲位的行的地址計數(shù)器。在同步寫操作的情況下,所指定的變速器530可以在第一地址處開始,將數(shù)據(jù)寫入到與在時鐘事件處的第一地址相對應的行,并且使地址計數(shù)器增一。所指定的變速器530可以隨后針對存儲電路520中的所有其它行重復這些步驟。

考慮其中控制電路510引導配置資源執(zhí)行從存儲電路520之一的讀訪問操作的情形。例如,控制電路510可以接收請求讀訪問操作的數(shù)據(jù)包。在該示例中,控制電路510可以準備數(shù)據(jù)寄存器540和/或地址寄存器550用于讀訪問操作。例如,控制電路510可以將數(shù)據(jù)寄存器540設置成移位模式,使得從存儲電路中讀取的信號被移入到數(shù)據(jù)寄存器中。如果期望的話,控制電路510可以發(fā)送響應數(shù)據(jù)包(例如,發(fā)送到處理器電路和/或全局控制電路、等等),該響應數(shù)據(jù)包指示數(shù)據(jù)寄存器540和/或地址寄存器550被成功地準備、和/或指示數(shù)據(jù)寄存器540和/或地址寄存器550準備好執(zhí)行讀訪問操作。

控制電路510可以接收請求從預定存儲電路520的讀訪問操作的數(shù)據(jù)包、以及接收指定預定存儲電路520的地址。作為示例,考慮其中存儲電路520被布置在如圖5所示的行和列的陣列中并且地址指示預定行和預定列的情形。在該情形下,控制電路510可以分析數(shù)據(jù)包,并且基于該分析來引導地址寄存器550和/或數(shù)據(jù)寄存器540。例如,地址寄存器550可以認定實現(xiàn)對預定行中的所有存儲電路520的讀訪問操作的啟用信號。

控制電路510可以將數(shù)據(jù)包的一部分發(fā)送到數(shù)據(jù)寄存器540并且從那里發(fā)送到至少一個變速器530。接收數(shù)據(jù)包的該部分的變速器可以確定預定列是否指定連接到該變速器的存儲電路的列。在預定地址指定連接到變速器的列并且由此指定變速器的情況下,所指定的變速器530可以認定合適的控制信號以實現(xiàn)對預定列中的存儲電路520的讀訪問操作。

作為示例,預定存儲電路520可以包括存儲位的二維陣列,并且讀訪問操作可以從預定存儲電路中的所有存儲位中讀取數(shù)據(jù)。在該示例中,所指定的變速器530可以包括指示二維陣列中的存儲位的行的地址計數(shù)器。在同步讀操作的情況下,所指定的變速器530可以在第一地址處開始,從與在時鐘事件處的第一地址相對應的行中讀取數(shù)據(jù),并且使地址計數(shù)器增一。所指定的變速器530可以隨后針對存儲電路520中的所有其它行重復這些步驟。

作為示例,為了讀取與第一地址相對應的行中的一個存儲位的目的,所指定的變速器530可以將數(shù)據(jù)線預裝載到預定存儲電路520的列中的存儲位,使得感測放大器可以檢測存儲在對應的存儲位中的位值。

如果期望的話,所指定的變速器可以消除從預定存儲電路520的存儲位取得的位值。例如,考慮其中預定存儲電路的行會存儲多達40位的情形,其中八位被用于錯誤校正編碼。在該情形下,所指定的變速器可以消除八個錯誤校正編碼位并且僅僅將32個剩余的用戶位移入到數(shù)據(jù)寄存器540中。

在某些實施例中,控制電路可以經(jīng)由在運行應用期間使用的互連資源并且通過在控制電路與互連資源之間的接口來訪問存儲電路。圖6是可以包括具有緩沖器612的控制電路610的說明性集成電路的示意圖??刂齐娐?10可以與處理器電路650進行通信,并且可以經(jīng)由配置資源660和將控制電路610耦合到互連資源640的接口620執(zhí)行對集成電路中的存儲電路670的訪問操作。

如圖6所示,集成電路的一部分可以被劃分成分區(qū)630。分區(qū)630可以包括存儲電路670、運算電路680、附加的處理器電路690、等等。如果期望的話,分區(qū)630可以包括邏輯資源(諸如邏輯陣列塊),僅舉數(shù)例,其可以包括邏輯元件、可配置邏輯塊、自適應邏輯模塊。如果期望的話,控制電路610可以實施分區(qū)630中的電路設計。例如,控制電路610可以通過經(jīng)由配置資源660對配置存儲器位進行編程來生成分區(qū)630中的電路設計實施方案。

互連資源640可以耦合存儲電路670、運算電路680、附加的處理器電路690、分區(qū)630中的邏輯資源、以及接口620。如果期望的話,互連資源640可以(例如,通過對實現(xiàn)在垂直接線與水平接線之間的連接的配置存儲器位進行編程)提供可配置連接。例如,互連資源640可以由控制電路610配置為實施分區(qū)630中的電路設計。在一些實施例中,互連資源640可以提供在關(guān)于集成電路的電路設計實施方案的預定電路之間的固定連接。

在某些實施例中,接口620可以包括從控制電路610到互連資源640的橋接電路(諸如橋接622)。作為示例,橋接622可以實施存儲器映射總線體系結(jié)構(gòu),其可以允許控制電路610中的主控裝置(master)訪問由分區(qū)630中的邏輯資源實施的從動裝置(slave),由此訪問互連資源640。如果期望的話,接口620可以包括并行輸入輸出(pio)部件(諸如pio625),其可以允許控制電路610訪問分區(qū)630中的邏輯資源中的信號。主控裝置可以通過讀和寫存儲器映射寄存器來控制通過pio625的信號。pio625可以捕獲在其輸入上的數(shù)據(jù)并且將數(shù)據(jù)驅(qū)動到其輸出。如果期望的話,控制電路610可以將pio625的輸入輸出端口編程為輸入或輸出。

在一些實施例中,接口620可以包括從互連資源640到控制電路610的橋接電路(諸如橋接628)。作為示例,橋接628可以實施存儲器映射總線體系結(jié)構(gòu),其可以允許分區(qū)630中的邏輯資源為訪問控制電路610中的從動裝置的主控裝置。如果期望的話,分區(qū)630中的邏輯資源可以以與控制電路610不同的時鐘域進行操作,并且橋接628可以包括雙時鐘先進先出(fifo)核以將數(shù)據(jù)從一個時鐘域傳輸?shù)狡渌鼤r鐘域。

在一些情形下,可能期望通過接口620和互連資源640將信號從控制電路610發(fā)送到存儲電路670。作為示例,考慮其中全局信號需要被發(fā)送到存儲電路670的情形。這樣的重置信號可能需要互連資源640的許多連接在電路設計實施方案中將生成重置信號的電路耦合到存儲電路670。在一些實施例中,生成重置信號的電路可以將其發(fā)送到處理器電路650。響應于接收到重置信號,處理器電路650可以通過配置資源660將信號發(fā)送到控制電路610,并且控制電路610可以經(jīng)由接口620和互連資源640將信號發(fā)送到存儲電路670。存儲電路670可以在接收到信號時進行重置。如果期望的話,處理器電路650和/或控制電路610可以通過時鐘網(wǎng)絡來校準時鐘信號以實現(xiàn)在存儲電路670處的局部同步重置去除。

僅舉數(shù)例,其中控制電路610可以經(jīng)由接口620和互連資源640將數(shù)據(jù)寫入到存儲電路670的其它情形包括電路的實例化、電路的參數(shù)化、電路的修改。在某些實施例中,控制電路(諸如圖4的局部控制電路410)可以如圖3所描述的為了以下的目的使用掃描鏈450將數(shù)據(jù)寫入到寄存器:對電路進行實例化、對電路進行參數(shù)化、對電路進行修改、等等。

例如,運算電路680可以實施有限沖激響應(fir)濾波器,并且存儲電路670可以存儲fir濾波器的系數(shù)。在該示例中,控制電路610可以經(jīng)由接口620和互連資源640將系數(shù)寫入到存儲電路670。在fir濾波器的操作期間,運算電路680可以經(jīng)由互連資源640訪問存儲在存儲電路670中的系數(shù)。

在另一示例中,處理器電路690可以使用存儲電路670作為指令存儲器。在該示例中,控制電路610可以經(jīng)由接口620和互連資源640將指令寫入到存儲電路670,以對指令存儲器進行初始化和/或更新處理器電路690的指令存儲器。

在另一示例中,存儲在存儲電路中的數(shù)據(jù)可以在高速串行通信電路中在8位10位(8b/10b)編碼與64位66位(64b/66b)編碼之間進行選擇。圖6的控制電路610或圖4的局部控制電路410可以執(zhí)行對如圖4和圖6所描述的存儲電路的寫訪問操作,由此對高速串行通信電路進行實例化并保存配置資源。

在另一示例中,存儲電路670可以為實施只讀存儲器(rom)電路的隨機訪問存儲器(ram)電路。在該示例中,控制電路610可以經(jīng)由接口620和互連資源640將數(shù)據(jù)寫入到存儲電路670以對rom電路的內(nèi)容進行初始化。

在另一示例中,存儲電路670或寄存器320a和320b可以實施有限狀態(tài)機(fsm)的狀態(tài)。在該示例中,控制電路610可以經(jīng)由接口620和互連資源640將數(shù)據(jù)寫入到存儲電路670以將有限狀態(tài)機設置成初始狀態(tài)。

在一些情形下,可能期望通過互連資源640和接口620從存儲電路670中取得信號。作為示例,考慮其中集成電路的操作被監(jiān)測以檢測錯誤并且存儲電路(諸如圖3的寄存器320a和320b和/或圖6的存儲電路670)存儲錯誤狀況的情形。在一些應用中,可能期望取得存儲在那些存儲電路中的錯誤狀況并且基于所觀察到的錯誤狀況來探測附加的信號??刂齐娐?諸如圖4的局部控制電路410)可以經(jīng)由如圖3和圖4所描述的掃描鏈執(zhí)行對寄存器的讀訪問操作以取得出錯狀況。如果期望的話,圖6的控制電路610可以經(jīng)由接口620和互連資源640執(zhí)行讀訪問操作以從存儲電路670中取得出錯狀況。

在一些實施例中,追蹤緩沖器可以存儲從存儲電路670中的一個或多個存儲電路中取得的數(shù)據(jù)以允許在稍后時間點處的數(shù)據(jù)分析??刂齐娐?10的緩沖器612可以實施追蹤緩沖器。備選地,控制電路610可以將存儲電路670配置為追蹤緩沖器。緩沖器612和/或存儲電路670可以存儲數(shù)據(jù)直到處理器電路650請求該數(shù)據(jù)。在接收到這樣的請求時,控制電路610可以通過配置資源660將該數(shù)據(jù)發(fā)送到處理器電路650。

如果期望的話,控制電路610可以執(zhí)行在存儲電路670處的讀訪問操作,并且經(jīng)由互連資源640、接口620和配置資源660將取得的數(shù)據(jù)直接路由到處理器電路650,由此繞過緩沖器612。在某些實施例中,運算電路680可以實施計數(shù)器。計數(shù)器可以對觀察的錯誤的數(shù)目、有限狀態(tài)機(fsm)的給定狀態(tài)的發(fā)生等等進行計數(shù)??刂齐娐?10可以通過執(zhí)行對運算電路680的讀訪問操作來取得存儲在計數(shù)器中的數(shù)目。

控制電路(例如,圖2的全局控制電路210、圖4的局部控制電路410、圖5的控制電路510、或圖6的控制電路610)可以針對出錯狀況的出現(xiàn)監(jiān)測電路設計實施方案。例如,控制電路可以接收指示出錯狀況的出現(xiàn)的信號。在檢測到出錯狀況后,控制電路可以執(zhí)行若干動作。例如,控制電路可以停止時鐘信號并執(zhí)行在基本上電路設計實施方案的所有存儲電路處的讀訪問操作??刂齐娐房梢酝V箤懭氲阶粉櫨彌_器并且經(jīng)由互連(例如,圖2的通信網(wǎng)絡230、圖5的數(shù)據(jù)寄存器540、圖6的配置資源660)將存儲在追蹤緩沖器中的數(shù)據(jù)提供到例如圖2的用戶界面250或圖6的處理器電路650以用于進一步處理。如果期望的話,控制電路可以通知用戶出錯狀況的出現(xiàn)。

在一些實施例中,控制電路(例如,圖2的全局控制電路210、圖4的局部控制電路410、圖5的控制電路510、或圖6的控制電路610)可以執(zhí)行在存儲電路(例如,圖3的寄存器320a和320b、圖4的電路塊430中的存儲電路、圖5的存儲電路520、或圖6的存儲電路670)處的寫訪問操作,以用于錯誤注入(例如,以對單粒子效應(seu)的效應進行建模和分析)。例如,控制電路可以中斷電路設計實施方案的至少一部分的操作。控制電路可以執(zhí)行在存儲電路處的讀訪問操作以取得存儲在存儲電路中的位。控制電路可以使所取得的位的位值反相,執(zhí)行在存儲電路處的寫訪問操作以將經(jīng)反相的位值存儲在存儲電路中,并重啟電路設計實施方案的被中斷的部分的操作??紤]其中集成電路是圖1的可編程邏輯器件100并且電路設計實施方案是用戶的電路設計到可編程邏輯器件100上的映射的情形,其中存儲電路是電路設計實施方案中的用戶寄存器。在該情形下,控制電路可以執(zhí)行在用戶寄存器處的寫訪問操作,并且使存儲在用戶寄存器中的位的位值反相。

可以在集成電路的輸出處觀察到注入的錯誤的效果。如果期望的話,兩個相同的電路設計可以被實施在相同的集成電路中或者被實施在兩個單獨的集成電路中。兩個電路設計實施方案可以接收相同的輸入數(shù)據(jù)??刂齐娐房梢詫㈠e誤注入到兩個電路設計實施方案之一中,并且在兩個電路設計實施方案的輸出處觀察差別以監(jiān)測注入的錯誤的效果。

圖7是示出了用于經(jīng)由集成電路中的配置資源(例如,圖2的通信網(wǎng)絡230、圖5的數(shù)據(jù)寄存器540和地址寄存器550、圖6的配置資源660)來執(zhí)行對存儲電路(例如,圖2的扇區(qū)240中的存儲電路、圖5的存儲電路520、或圖6的存儲電路670)的訪問操作的說明性操作的流程圖700。在操作710期間,處于第一模式中的控制電路可以通過經(jīng)由配置資源對配置存儲器位進行編程來生成關(guān)于集成電路的包括存儲電路和訪問電路的電路設計實施方案??刂齐娐房梢栽趯ε渲么鎯ζ魑坏木幊唐陂g禁用時鐘信號。如果期望的話,控制電路可以在不禁用時鐘信號的情況下對配置存儲器位進行編程。

例如,圖2的全局控制電路210可以經(jīng)由通信網(wǎng)絡230將配置數(shù)據(jù)發(fā)送到局部控制電路220,其可以實施扇區(qū)240中的電路設計。作為另一示例,圖5的控制電路510可以經(jīng)由地址寄存器550和數(shù)據(jù)寄存器540對存儲電路520進行配置。作為另一示例,圖6的處理器電路650可以經(jīng)由配置資源660將配置數(shù)據(jù)發(fā)送到控制電路610,其可以通過對配置存儲器位進行編程來實施分區(qū)630中的電路設計。

在操作720期間,可以在用戶模式中利用電路設計實施方案來操作集成電路,并且在操作730期間,可以利用訪問電路來執(zhí)行在存儲電路處的第一訪問操作。作為示例,運算電路680可以執(zhí)行在存儲電路670處的讀訪問操作,以取得用于有限沖激響應(fir)濾波器操作的系數(shù)。在一些實施例中,訪問電路可以包括可以被配置為執(zhí)行在存儲電路處的訪問操作的功能塊(諸如圖1的pld100的邏輯陣列塊(lab)110、隨機訪問存儲器(ram)塊130、和/或數(shù)字信號處理(dsp)塊120)。

在操作740期間,處于第二模式中的控制電路可以執(zhí)行經(jīng)由配置資源在存儲電路處的第二訪問操作。例如,控制電路610可以使用配置資源660來執(zhí)行存儲電路670的讀訪問操作和/或?qū)懺L問操作。類似地,圖2的全局控制電路210可以使用通信網(wǎng)絡230來訪問扇區(qū)240中的存儲電路。此外,控制電路510可以使用數(shù)據(jù)寄存器540和地址寄存器550來訪問存儲電路520。

圖8是示出了用于執(zhí)行對集成電路中的電路設計實施方案的統(tǒng)計監(jiān)測的說明性操作的流程圖800。在操作810期間,處于第一模式中的控制電路可以對集成電路中的配置存儲器位進行編程,由此生成在集成電路中包括寄存器的電路設計實施方案。在操作820期間,電路設計實施方案可以在操作集成電路時將信號存儲在寄存器中。在操作830期間,處于第二模式中的控制電路可以探測存儲在寄存器中的信號。例如,控制電路可以在第二模式中使用如本文參考圖3和圖4公開的一個或多個掃描鏈來探測存儲在寄存器中的信號。作為具體示例,控制電路410可以使用如本文參考圖4公開的掃描鏈450來探測存儲在扇區(qū)400中的用戶寄存器中的信號。作為另一具體示例,本地控制電路220可以使用如本文參考圖3公開的包括存儲電路340和345的掃描鏈345來探測存儲在用戶寄存器320a-320b中的信號??梢栽诓僮?40期間分析所探測的信號以執(zhí)行對電路設計實施方案的統(tǒng)計監(jiān)測(例如,對微處理器中的諸如溢出的出錯狀態(tài)的數(shù)目進行計數(shù),對流量管理器電路中的損壞數(shù)據(jù)包進行計數(shù),等等)。可以在操作840中分析所探測的信號以使用例如控制電路來執(zhí)行統(tǒng)計監(jiān)測。

本文描述的方法和裝置可以被并入到任何適當?shù)碾娮釉O備或電子設備的系統(tǒng)中。例如,該方法和裝置可以被并入到許多類型的設備(諸如微處理器或其它集成電路(ic))中。僅舉數(shù)例,示例性ic包括可編程陣列邏輯(pal)、可編程邏輯陣列(pla)、現(xiàn)場可編程邏輯陣列(fpla)、電可編程邏輯器件(epld)、電可擦可編程邏輯器件(eepld)、邏輯單元陣列(lca)、現(xiàn)場可編程門陣列(fpga)、粗粒度可編程邏輯陣列(cgpld)、粗粒度可配置陣列(cgra)、專用標準產(chǎn)品(assp)、專用集成電路(asic)、數(shù)字信號處理器(dsp)、圖形處理單元(gpu)。

本文描述的集成電路可以為包括以下部件中的一個或多個部件的數(shù)據(jù)處理系統(tǒng)的一部分:處理器;存儲器;i/o電路;以及外圍設備。集成電路能夠被使用在其中期望執(zhí)行在存儲電路處的讀訪問操作和/或?qū)懺L問操作的優(yōu)點的各種各樣的應用中(諸如計算機網(wǎng)絡、數(shù)據(jù)網(wǎng)絡、儀表化、視頻處理、數(shù)字信號處理、或任何適當?shù)钠渌鼞?。

盡管方法操作以特定順序來描述,但是應當理解可以在所描述的操作之間執(zhí)行其它操作,所描述的操作可以被調(diào)整使得它們在稍微不同的時間進行,或者所描述的操作可以被分布在只要交疊的操作的處理器以期望的方式來執(zhí)行就允許以與處理相關(guān)聯(lián)的各種間隔進行處理操作的系統(tǒng)中。

上文僅僅說明本發(fā)明的原理,并且本領(lǐng)域技術(shù)人員能夠在不脫離本發(fā)明的范圍和精神的情況下進行各種修改。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1