午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

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

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

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



背景技術(shù):

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

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



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

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

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

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

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

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

附圖說明

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

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

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

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

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

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

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

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

具體實(shí)施方式

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

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

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

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

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

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

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

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

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

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

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

另外,應(yīng)當(dāng)理解,實(shí)施例可以被實(shí)施在任何集成電路中。如果期望的話,這樣的集成電路的功能塊可以被布置在更多的層級(jí)或?qū)又校渲卸鄠€(gè)功能塊被互連以形成更大的塊。其它設(shè)備布置可以使用未按行和列布置的功能塊。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

盡管方法操作以特定順序來描述,但是應(yīng)當(dāng)理解可以在所描述的操作之間執(zhí)行其它操作,所描述的操作可以被調(diào)整使得它們?cè)谏晕⒉煌臅r(shí)間進(jìn)行,或者所描述的操作可以被分布在只要交疊的操作的處理器以期望的方式來執(zhí)行就允許以與處理相關(guān)聯(lián)的各種間隔進(jìn)行處理操作的系統(tǒng)中。

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

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