專利名稱:用于雙端口sram應(yīng)用的可編程控制塊的制作方法
技術(shù)領(lǐng)域:
0001本發(fā)明涉及集成電路(IC),更具體地,涉及控制在嵌入到 IC中的存儲(chǔ)器中使用的信號(hào)的時(shí)序。
背景技術(shù):
0002半導(dǎo)體制造工藝的進(jìn)步已經(jīng)使得在單個(gè)半導(dǎo)體襯底上制造 的IC上形成的晶體管的數(shù)量日益增長(zhǎng),它見證了此類IC可執(zhí)行的功能 的種類和數(shù)量的同步地增長(zhǎng)。 一類IC使得其用戶可以對(duì)IC被要求執(zhí)行 的功能進(jìn)行編程。此類包括可編程IC,諸如可編程邏輯器件(PLD)、 現(xiàn)場(chǎng)可編程門陣列(FPGA)、微處理器、協(xié)處理器、微控制器、可編 程控制器或序列器(時(shí)序器)、圖形控制器、存儲(chǔ)器、DRAM (動(dòng)態(tài) 隨機(jī)存取存儲(chǔ)器)、SRAM (靜態(tài)隨機(jī)存取存儲(chǔ)器)、EPROM (電可 編程只讀存儲(chǔ)器)、串行EPROM、閃式存儲(chǔ)器和很多其它的IC。
0003當(dāng)FPGA首次由其制造商提供的時(shí)候,各種硬件塊即一般所 知的邏輯陣列塊,典型地沒有彼此相連。用戶必須首先對(duì)FPGA進(jìn)行編 程來(lái)執(zhí)行用戶規(guī)定的功能。對(duì)FPGA的編程一般在軟件的幫助下進(jìn)行, 在軟件中,首先規(guī)定各種邏輯塊之間的互聯(lián)。在被執(zhí)行之后,軟件使 得該被規(guī)定的互聯(lián)產(chǎn)生,換句話說(shuō),它對(duì)FPGA編程以生成所需的邏輯 和互聯(lián)。因此FPGA消除客戶特定的IC所需要的設(shè)計(jì)密集的和耗費(fèi)時(shí)間 的工作。
0004FPGA—般包含邏輯塊陣列,邏輯塊陣列是可編程的并且被 選擇性地連接到互聯(lián)線陣列以實(shí)現(xiàn)組合的和時(shí)序的邏輯功能。對(duì)可編 程邏輯塊的編程和它們與被選擇的線路(例如總線線路)的連接一般 地通過(guò)建立布置在FPGA中的大量可編程元件諸如配置單元或熔絲的
狀態(tài)來(lái)實(shí)現(xiàn)。
0005除了各種其它的塊,F(xiàn)PGA—般包含靜態(tài)隨機(jī)存取存儲(chǔ)器 (SRAM)單元陣列。該SRAM陣列可以含有用于讀和寫操作的單端口,
或者雙端口,其中一個(gè)端口專用于讀,而另一個(gè)端口專用于寫操作,
或者兩個(gè)端口并行實(shí)現(xiàn)讀/寫功能。圖1是與SRAM單元15相關(guān)聯(lián)的單端 口讀和寫路徑的一部分的示意圖。P溝道晶體管20、 22和24在讀和/或?qū)?br>
操作之前將真位線(bitline)和互補(bǔ)位線BL和^T預(yù)充電到電源電壓
Vcc。在讀操作期間,位線BL和百r通過(guò)晶體管32和34被耦連到感應(yīng) 放大器30并且響應(yīng)讀取列選擇信號(hào)RCS。被感應(yīng)的數(shù)據(jù)被作為信號(hào)
DOUT和55irf提供。在寫操作期間,使用信號(hào)DIN和55j提供的輸入
數(shù)據(jù)通過(guò)晶體管26和28被轉(zhuǎn)移到位線BL和^T并且響應(yīng)寫入列選擇信 號(hào)WCS。
圖2是圖1中示出的讀和寫操作中使用的信號(hào)的時(shí)序圖。作為 對(duì)讀請(qǐng)求(未示出)之后時(shí)鐘信號(hào)CLK上從低到高變換50的響應(yīng),信 號(hào)BLPC進(jìn)行從高到低變換52,信號(hào)WL進(jìn)行從低到高變換54,以及信 號(hào)RCS進(jìn)行從高到低變換56。信號(hào)BLPC的變換52終止位線預(yù)充電操 作。信號(hào)WL的變換54導(dǎo)通晶體管42和44以使SRAM單元15的反相器對(duì)
44能被耦連到位線BL和^T,從而使這些位線能夠產(chǎn)生電壓差58。在
Tl時(shí)刻,位線BL和^T上的電壓差,以及對(duì)應(yīng)的虛擬(dummy)位線 (未示出)達(dá)到一數(shù)值,該數(shù)值導(dǎo)致感應(yīng)放大器30通過(guò)信號(hào)SAE的變
換60被使能。其后,感應(yīng)在位線BL和^T上的電壓差的感應(yīng)放大器30 產(chǎn)生輸出信號(hào)DOUT。讀操作完成之后,上述的各種信號(hào)被恢復(fù)到其先 前的數(shù)值。
作為對(duì)寫入請(qǐng)求(未示出)之后時(shí)鐘信號(hào)CLK上從低到高變 換80的響應(yīng),信號(hào)BLPC進(jìn)行從高到低變換82從而終止位線預(yù)充電操
作。變換82還導(dǎo)致信號(hào)WSC進(jìn)行從低到高變換84以耦連位線BL和^T
到數(shù)據(jù)輸入線DIN和5lN,以使新數(shù)據(jù)能夠被存儲(chǔ)到單元15中。因此,
在變換84之后,位線BL和百r變換到使用變換88示出的其新的互補(bǔ)值, 反映輸入數(shù)據(jù)DIN的新的低值86。其后,信號(hào)WL進(jìn)行從低到高變換90 以使單元15的反相器對(duì)44能夠被耦連到攜帶新數(shù)據(jù)的位線,如由信號(hào) MC上的變換92所表示的,表示出存儲(chǔ)器內(nèi)容。如圖2所示,寫操作完
9
成之后,上述的各種信號(hào)被恢復(fù)到其先前的數(shù)值。
0008眾所周知,在被嵌入到FPGA中的雙端口SRAM中成功地完 成讀和寫操作要求維持在多個(gè)關(guān)鍵信號(hào)之間的準(zhǔn)確時(shí)序裕量。例如, 為執(zhí)行成功的讀操作,位線預(yù)充電信號(hào)BLPC必須在字線(wordline) 選擇信號(hào)WL被有效之前被斷開,以允許在感應(yīng)放大器被激活之前產(chǎn)生 位線電壓差。類似地,為執(zhí)行成功的寫操作,位線預(yù)充電信號(hào)BLPC必 須在寫入列選擇信號(hào)WCS被有效之前被斷開以提供新輸入數(shù)據(jù)到位 線。在各種存儲(chǔ)器操作期間的這種時(shí)序裕量必須為所有合格的工藝、 溫度和電壓變化而維持。
0009隨著FPGA制造技術(shù)縮小到深亞微米,部分地由于局部隨機(jī) 變化,用來(lái)說(shuō)明在制造工藝中的實(shí)際變化的數(shù)學(xué)模型可能變得不太精 確。結(jié)果,時(shí)序裕量和性能度量可能退化。時(shí)序裕量的退化也可導(dǎo)致 功能失效。
發(fā)明內(nèi)容
0010根據(jù)本發(fā)明的一個(gè)實(shí)施例,使用虛擬線路來(lái)產(chǎn)生用于控制嵌 入到可編程IC中的雙端口靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)的所有關(guān)鍵信 號(hào)。為實(shí)現(xiàn)這一點(diǎn),嵌入到可編程IC中的雙端口靜態(tài)隨機(jī)存取存儲(chǔ)器
(SRAM)包含沿著用來(lái)控制與讀操作、寫操作或先讀后寫操作相關(guān)聯(lián) 的時(shí)序的多個(gè)信號(hào)的路徑布置的大量可編程延遲元件。至少一個(gè)可編 程延遲元件控制觸發(fā)讀/寫使能信號(hào)的一對(duì)時(shí)鐘信號(hào)之間的時(shí)序裕量。 該讀/寫信號(hào)然后被用來(lái)觸發(fā)所有的存儲(chǔ)器存取操作。
0011
一對(duì)可編程延遲元件被用來(lái)控制與虛擬位線相關(guān)聯(lián)的信號(hào) 的時(shí)序,其中一個(gè)可編程延遲元件控制這些信號(hào)的時(shí)序的粗略調(diào)整, 另一個(gè)則控制這些信號(hào)的時(shí)序的精細(xì)調(diào)整。第四可編程延遲元件控制 用來(lái)復(fù)位該讀/寫使能信號(hào)的信號(hào)的延遲。
0012在讀操作期間,虛擬位線的電壓電平被用作激活感應(yīng)放大器 的指示器。在寫操作期間,虛擬位線的電壓電平被用作確定被尋址的 字線何時(shí)被激活以將攜帶新數(shù)據(jù)的位線連接到被尋址的存儲(chǔ)器單元的 指示器。
0013圖1是現(xiàn)有技術(shù)公知的與單端口SRAM單元相關(guān)聯(lián)的讀和寫
路徑的一部分的示意圖。
0014圖2是現(xiàn)有技術(shù)公知的在圖1的SRAM單元的讀和寫操作期間 使用的信號(hào)的時(shí)序圖。
0015圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的適于包含雙端口SRAM的
示范性的高密度可編程邏輯器件的簡(jiǎn)化的部分框圖。0016圖4是可體現(xiàn)本發(fā)明的示范性數(shù)字系統(tǒng)的框圖。0017圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的雙端口SRAM單元陣列的
多個(gè)塊的示意圖。
0018圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的與雙端口SRAM的讀操作 相關(guān)聯(lián)的各種信號(hào)的示范性時(shí)序圖。
0019圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的與雙端口SRAM的寫操作 相關(guān)聯(lián)的各種信號(hào)的示范性時(shí)序圖。
0020圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的與雙端口SRAM的先讀后 寫操作相關(guān)聯(lián)的各種信號(hào)的示范性時(shí)序圖。
0021圖9是在本發(fā)明的雙端口SRAM中使用的虛擬SRAM單元的
示意圖。
具體實(shí)施例方式
0022根據(jù)本發(fā)明的一個(gè)實(shí)施例,嵌入到可編程IC中的雙端口靜態(tài) 隨機(jī)存取存儲(chǔ)器(SRAM)包含沿著用來(lái)執(zhí)行讀操作、寫操作或先讀后 寫操作的多個(gè)信號(hào)的關(guān)鍵路徑布置的大量可編程延遲元件。本發(fā)明將 在FPGA的背景下描述,但是它可應(yīng)用到其它可編程IC。至少一個(gè)可編 程延遲元件控制觸發(fā)讀/寫使能信號(hào)的一對(duì)時(shí)鐘信號(hào)之間的時(shí)序裕量。 該讀/寫使能信號(hào)然后被用來(lái)觸發(fā)所有的存儲(chǔ)器存取操作。 一對(duì)可編程 延遲元件被用來(lái)控制與虛擬位線相關(guān)聯(lián)的信號(hào)的時(shí)序,其中一個(gè)可編 程延遲元件控制這些信號(hào)的時(shí)序的粗略調(diào)整,另一個(gè)控制這些信號(hào)的 時(shí)序的精密調(diào)整。第四可編程延遲元件控制用來(lái)復(fù)位讀/寫使能信號(hào)的 信號(hào)的延遲。在讀操作期間,虛擬位線的電壓電平被用作激活感應(yīng)放 大器的指示器。在寫操作期間,虛擬位線的電壓電平被用作確定被尋
址的字線被激活以完成寫周期的時(shí)間的指示器。
0023圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例,適于包含雙端口 SRAM的示 范性的高密度可編程邏輯器件(PLD) 300的簡(jiǎn)化的部分框圖。PLD300 包含可編程邏輯陣列塊或LAB 302的二維陣列,這些塊由長(zhǎng)度和速度變 化的行和列互聯(lián)的網(wǎng)絡(luò)所互聯(lián)。LAB 302包含多個(gè)(例如10個(gè))邏輯元 件(或者LE) , LE是提供用戶定義的邏輯功能的有效實(shí)現(xiàn)的小邏輯單 元。
0024PLD 300也包含分布式的存儲(chǔ)器構(gòu)造,其包含遍布整個(gè)陣列 提供的大小變化的RAM塊。這些RAM塊包含,例如,512比特塊304, 4千比特塊306和提供512千比特的RAM的M塊308。 一個(gè)或多于一個(gè) RAM塊可以是雙端口SRAM塊。這些存儲(chǔ)器塊也可能包含移位寄存器 和先入先出FIFO緩沖器。PLD 300進(jìn)一步包含數(shù)字信號(hào)處理(DSP)塊 310,其可實(shí)現(xiàn)例如具有加或減特性的乘法器。
0025應(yīng)理解本文描述的PLD 300僅用于示例目的,并且本發(fā)明可 以在很多不同類型的FPGA、 PLD和其它集成電路中實(shí)施。
0026雖然圖3示出類型的PLD提供實(shí)施系統(tǒng)級(jí)解決方案所需要的 很多資源,但本發(fā)明也可為PLD是若干組件之一的系統(tǒng)提供好處。圖4 示出本發(fā)明可能在其中被實(shí)施的示范性數(shù)字系統(tǒng)400的框圖。系統(tǒng)400 可以是編程的數(shù)字計(jì)算機(jī)系統(tǒng)、數(shù)字信號(hào)處理系統(tǒng)、專用數(shù)字交換網(wǎng) 絡(luò)或其它處理系統(tǒng)。此外,這種系統(tǒng)可能被設(shè)計(jì)用于各種應(yīng)用,諸如 電信系統(tǒng)、汽車系統(tǒng)、控制系統(tǒng)、消費(fèi)類電子品、個(gè)人計(jì)算機(jī)、因特 網(wǎng)通信和聯(lián)網(wǎng),以及其它。進(jìn)一步地,系統(tǒng)400可被提供在單電路板上、 多個(gè)電路板上或者在多個(gè)殼體中。
0027系統(tǒng)400包含用一條或多于一條總線互聯(lián)在一起的處理單元 402、存儲(chǔ)器單元404和輸入輸出(I/O)單元406。根據(jù)該示范性實(shí)施例, 可編程邏輯器件(PLD) 408被嵌入到處理單元402中。PLD 408可提供 圖2中的系統(tǒng)中的許多不同的功能。例如,PLD408可以是處理單元402 的邏輯構(gòu)造塊,支持其內(nèi)部的和外部的操作。PLD408被編程以實(shí)現(xiàn)在 系統(tǒng)操作中完成其特定的任務(wù)所必需的邏輯功能。PLD408可通過(guò)連接 410被耦連到存儲(chǔ)器404,以及通過(guò)連接412被耦連到輸入/輸出單元406。
0028處理單元402可將數(shù)據(jù)送到適當(dāng)?shù)南到y(tǒng)組件以便處理或存
儲(chǔ)、執(zhí)行存儲(chǔ)在存儲(chǔ)器404中的程序或者通過(guò)輸入/輸出單元406接收和 發(fā)送數(shù)據(jù),或者其它的類似功能。處理單元402可以是中央處理器
(CPU)、微處理器、浮點(diǎn)協(xié)處理器、圖形協(xié)處理器、硬件控制器、 微控制器、被編程用作控制器的可編程邏輯器件、網(wǎng)絡(luò)控制器等。此 外,在很多實(shí)施例中,常常不需要CPU。
0029例如,替代CPU, 一個(gè)或多于一個(gè)PLD 408可以控制系統(tǒng)的 邏輯操作。在實(shí)施例中,PLD408充當(dāng)可重構(gòu)的存儲(chǔ)器,其可以根據(jù)需 要被重新編程以處理特定的計(jì)算任務(wù)。替代地,可編程邏輯器件408自 身可包含嵌入式微處理器。存儲(chǔ)器單元404可以是隨機(jī)存取存儲(chǔ)器
(RAM)、只讀存儲(chǔ)器(ROM)、固定或可移動(dòng)的磁盤介質(zhì)、PC卡閃 式磁盤存儲(chǔ)器、磁帶或者任何其它的存儲(chǔ)裝置或者這些存儲(chǔ)裝置的任 何組合。
0030圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的雙端口SRAM 500的多個(gè) 塊的示意圖。如下面進(jìn)一步所述,所有的存儲(chǔ)器存取操作,即讀操作、 寫操作和先讀后寫操作,由讀/寫使能信號(hào)RAMEN觸發(fā),當(dāng)做出通過(guò) 信號(hào)RE一IN執(zhí)行讀操作、通過(guò)信號(hào)WE一IN執(zhí)行寫操作、或者既通過(guò)信 號(hào)RE—IN又通過(guò)信號(hào)WE—IN執(zhí)行先讀后寫操作的請(qǐng)求時(shí),讀/寫使能信 號(hào)RAMEN接下來(lái)被有效。對(duì)信號(hào)RAMEN的觸發(fā)使用一對(duì)時(shí)鐘信號(hào) INCLK和CORECLK執(zhí)行。在這兩個(gè)時(shí)鐘信號(hào)之間的相移對(duì)于SRAM 500的正確運(yùn)轉(zhuǎn)是關(guān)鍵的。如果在這兩個(gè)時(shí)鐘信號(hào)之間的相對(duì)相移比窗 口期(window)的上界高,SRAM 500的性能就可能被降低。另一方面, 如果在這兩個(gè)時(shí)鐘信號(hào)之間的相對(duì)相移比該窗口期的下界小,SRAM 500就可能不正常操作,并且可能發(fā)生讀/寫功能故障。根據(jù)本發(fā)明,為 保證在時(shí)鐘INCLK和時(shí)鐘CORECLK之間的相移(也被稱為時(shí)序裕量) 保持在最佳窗口期內(nèi), 一可編程延遲元件鏈520被布置在SRAM 500中。 控制信號(hào)Ctrl l被用來(lái)改變延遲量,該延遲量在該信號(hào)CORECLK一DLY 的被延遲的副本被施加到信號(hào)產(chǎn)生塊506的時(shí)鐘輸入端子之前被引入 到信號(hào)CORECLK中。
0031模仿存儲(chǔ)器陣列的實(shí)際位線的虛擬位線被用來(lái)打開感應(yīng)放 大器,這些感應(yīng)放大器感應(yīng)在真位線和互補(bǔ)位線間產(chǎn)生的電壓差。根 據(jù)本發(fā)明,可編程延遲元件的兩個(gè)鏈530和540被用來(lái)控制虛擬位線或
者和該虛擬位線關(guān)聯(lián)的信號(hào)對(duì)虛擬字線選擇信號(hào)的時(shí)序響應(yīng)。可編程
延遲鏈530被用來(lái)精細(xì)調(diào)整延遲,而可編程延遲鏈540被用來(lái)粗略調(diào)整 延遲。附加的可編程延遲元件鏈550布置在可編程延遲鏈540和信號(hào)產(chǎn) 生器506之間,控制信號(hào)RESET的時(shí)序,該RESET信號(hào)復(fù)位由信號(hào)產(chǎn)生 器506產(chǎn)生的信號(hào)。SRAM 500的各個(gè)塊的操作在下面進(jìn)一步闡述。0032寄存器502和504分別接收寫請(qǐng)求信號(hào)WE—IN和讀請(qǐng)求信號(hào) RE—IN,并且在信號(hào)INCLK的上升(或下降)沿存儲(chǔ)這些信號(hào)。寄存 器502和504的輸出信號(hào)分別被表示為WEIN和REIN。如果寄存器502和 504的輸出信號(hào)中的一個(gè)或全部處在高電平并且響應(yīng)信號(hào) CORECLK—DLY,那么信號(hào)產(chǎn)生塊506使控制信號(hào)RAMEN有效。換句 話說(shuō),如果響應(yīng)時(shí)鐘信號(hào)CORECLK而做出執(zhí)行讀操作、寫操作或先讀 后寫操作中的任何一個(gè)的請(qǐng)求,那么信號(hào)RAMEN被有效。時(shí)鐘信號(hào) CORECLK—DLY和CORECLK之間的延遲可以通過(guò)對(duì)布置在延遲鏈 520中的延遲元件的數(shù)量進(jìn)行編程來(lái)調(diào)整,以滿足信號(hào)產(chǎn)生塊506所要 求的建立時(shí)間和保持時(shí)間。
0033控制塊508接收信號(hào)RAMEN、寄存器502和504的輸出信號(hào)以 及反饋信號(hào)ENA2,并且作為響應(yīng),生成信號(hào)WLEN、 D—WLEN、 BLPC、 WCS和SAEN/RCS。信號(hào)WLEN和D—WLEN分別被用來(lái)選擇常規(guī)的存 儲(chǔ)器單元和虛擬存儲(chǔ)器單元的字線。信號(hào)BLPC在任何存儲(chǔ)器存取操作 之前預(yù)充電位線到預(yù)定的值Vcc。信號(hào)WCS被用來(lái)在寫周期期間選擇 列。信號(hào)SAEN/RCS被用來(lái)在讀周期期間選擇列并且使感應(yīng)放大器能夠 在這種周期中感應(yīng)位線。
0034信號(hào)WLEN被施加到字線解碼器510,作為響應(yīng),解碼器510 通過(guò)信號(hào)ADD為陣列580中所需的存儲(chǔ)器存取操作選擇字線中的一個(gè)。 類似地,信號(hào)D—WLEN被施加到虛擬字線解碼器512,作為響應(yīng),解碼 器512選擇模仿由字線解碼器510所選擇的字線的虛擬字線中的一個(gè)。 信號(hào)COL—ADD和WCS被施加到寫入列選擇塊WCS 555以在存儲(chǔ)器存 取操作期間選擇位線對(duì)中的一個(gè)。
0035晶體管562被用于預(yù)充電虛擬位線,而晶體管564和566被用 于預(yù)充電布置在陣列580中的SRAM單元的常規(guī)位線。在任何存儲(chǔ)器存 取操作之前,信號(hào)BLPC處在低電平以保持PMOS晶體管564和566導(dǎo)通,
從而允許位線被預(yù)充電到供電電壓Vcc。類似地,當(dāng)信號(hào)D一WLEN在低 電平時(shí),PMOS晶體管562導(dǎo)通以使虛擬位線能夠被預(yù)充電到Vcc供電電 壓。感應(yīng)放大器塊560包含感應(yīng)所選的位線電壓差以提供地址數(shù)據(jù)的多 個(gè)感應(yīng)放大器。SRAM塊500的各種操作在下面參照附圖6-8進(jìn)一步描述。
0036圖6是與SRAM 500的讀操作相關(guān)聯(lián)的各種信號(hào)的示范性時(shí) 序圖。下面同時(shí)參考圖5和圖6。作為對(duì)信號(hào)RE—IN和CORECLK的上升 沿(變換)600和602的各自的響應(yīng),發(fā)出讀請(qǐng)求命令。作為對(duì)信號(hào) CORECLK的上升沿的響應(yīng),通過(guò)進(jìn)行低到高變換604,信號(hào)RAMEN 被有效。變換604導(dǎo)致信號(hào)BPLC進(jìn)行從低到高變換606從而終止位線預(yù) 充電操作。變換604也導(dǎo)致在信號(hào)D—WLEN和WLEN上分別發(fā)生變換 608和610,以使得解碼器510和512能夠解碼地址。如同上述,信號(hào) D一WLEN的變換608也終止虛擬位線預(yù)充電操作。信號(hào)BPLC、 D一WLEN 和WLEN形成第一組與讀操作相關(guān)聯(lián)的命令信號(hào)。
0037信號(hào)BLPC的變換606導(dǎo)致信號(hào)SAEQ進(jìn)行從低到高變換614 以終止耦連到感應(yīng)放大器的感應(yīng)線(未示出)的預(yù)充電。信號(hào)D—WLEN 的變換608導(dǎo)致所選的虛擬位線響應(yīng)存儲(chǔ)在被選擇的虛擬SRAM單元中 的數(shù)值,從而導(dǎo)致信號(hào)DMY—BL (未在圖6中示出)和其被延遲的副本 DMY—BL—DLY在該示范性時(shí)序圖中進(jìn)行從低到高變換612 。信號(hào) DMY一BL—DLY的變換612觸發(fā)在信號(hào)SAE上的變換616,從而開啟感應(yīng) 放大器560以感應(yīng)在所選的SRAM的真位線和互補(bǔ)位線(未在圖6中示
出)之間產(chǎn)生的電壓差,以使讀操作能夠被執(zhí)行。作為對(duì)信號(hào) DMY一BL—DLY的變換612的響應(yīng),信號(hào)DMY一BL一DLY的被延遲且被反 向的副本信號(hào)RAMEN一DONE進(jìn)行變換618。信號(hào)SAEQ和SAE形成第
二組與讀操作相關(guān)聯(lián)的信號(hào)。
0038如上所述,根據(jù)本發(fā)明,信號(hào)RAMEN的變換604可能使用可 編程延遲鏈520在時(shí)間窗口T1內(nèi)變化。類似地,根據(jù)本發(fā)明,信號(hào) DMY—BL一DLY的變換612可能使用可編程延遲鏈530和540在時(shí)間窗口 T3內(nèi)變化,以及信號(hào)RAMEN—DONE的變換618可能使用可編程延遲鏈 550在時(shí)間窗口T5內(nèi)變化。類似地,變換634和648依照可編程延遲鏈520 禾口550中的編程的延遲分別在時(shí)間窗口T2和T6內(nèi)變化。類似地,變換642
依照可編程延遲鏈530和540中的編程的延遲在時(shí)間窗口T4內(nèi)變化。如 上所述和圖6示出的,信號(hào)RAM—EN被用來(lái)產(chǎn)生第一組與讀操作相關(guān)聯(lián) 的命令信號(hào)BOLC、 WLEN和D一WLEN,該組信號(hào)然后被用來(lái)產(chǎn)生信號(hào) DMY—BL一DLY。同樣地,信號(hào)DMY一BL一DLY被用來(lái)產(chǎn)生信號(hào)SAE, 該信號(hào)SAE是第二組與讀操作相關(guān)聯(lián)的命令信號(hào)的一部分。因此,依 照本發(fā)明,經(jīng)由可編程延遲鏈530和540,通過(guò)部分地改變與信號(hào) DMY—BL—DLY相關(guān)聯(lián)的延遲,在第一和第二組用來(lái)執(zhí)行讀操作的命令 信號(hào)之間的時(shí)序延遲被可控地調(diào)整以提高性能。0039信號(hào)RAMEN—DONE的變換618導(dǎo)致信號(hào)RAMEN進(jìn)行從低 到高變換634,從而復(fù)位信號(hào)RAMEN。信號(hào)RAMEN的復(fù)位又導(dǎo)致信號(hào) D—WLEN進(jìn)行變換638,作為對(duì)其的響應(yīng),虛擬位線DMY—BL和其被延 遲的副本DMY一BL—DLY通過(guò)晶體管162被預(yù)充電,被示為從高到低變 換642。隨著信號(hào)SAE的變換616之后的時(shí)間流逝,信號(hào)WLEN進(jìn)行從高 到低變換640以終止字線解碼,以及信號(hào)BLPC進(jìn)行從高到低變換636以 使位線能在準(zhǔn)備下一個(gè)存儲(chǔ)器存取操作時(shí)被預(yù)充電。信號(hào)BLPC的變換 636導(dǎo)致信號(hào)SAEQ進(jìn)行從高到低變換644以啟動(dòng)感應(yīng)線在為下一個(gè)存 儲(chǔ)器存取操作準(zhǔn)備時(shí)的預(yù)充電。信號(hào)RAMEN的復(fù)位也導(dǎo)致信號(hào)SAE進(jìn) 行從高到低變換646以禁止(禁能)感應(yīng)操作。作為對(duì)信號(hào) DMY一BL一DLY的從低到高變換642的響應(yīng),信號(hào)RAMEN一DONE進(jìn)行 從低到高變換648。信號(hào)RAMEN一DONE被用于將由感應(yīng)放大器讀取的 數(shù)據(jù)傳送到輸出端口。因此,在通過(guò)SAE打開感應(yīng)放大器和傳送從感 應(yīng)放大器取回的數(shù)據(jù)之間的時(shí)序是關(guān)鍵的。根據(jù)本發(fā)明,通過(guò)經(jīng)由可 編程延遲鏈550控制信號(hào)RAMEN—DONE的時(shí)序,保證了在感應(yīng)放大器
被關(guān)閉之前,從感應(yīng)放大器取回的數(shù)據(jù)被傳送出去。0040信號(hào)WEIN、 REIN和CORECLK^DLY被共同用來(lái)生成信號(hào) RAMEN。例如,假設(shè)當(dāng)即將開始讀操作或?qū)懖僮鞯臅r(shí)候,位線被充電 到整個(gè)Vcc電平的70X。在可編程延遲鏈520不存在的情況下,被請(qǐng)求 的讀操作或?qū)懖僮鲿?huì)用部分充電(70%)的位線進(jìn)行,這是不合需要 的。然而,根據(jù)本發(fā)明,通過(guò)經(jīng)由可編程延遲鏈520將信號(hào) CORECLK一DLY延遲,信號(hào)RAMEN也被延遲以使位線能夠被充電到需 要的值,該值代表例如整個(gè)Vcc電平的95X。通過(guò)經(jīng)由可編程延遲鏈520
控制信號(hào)CORECLK一DLY的延遲,還實(shí)現(xiàn)其它的優(yōu)勢(shì)。0041圖7是與SRAM 500的寫操作相關(guān)聯(lián)的各種信號(hào)的示范性的 時(shí)序圖。下面同時(shí)參考圖5和圖7。作為對(duì)信號(hào)WE—IN和CORECLK的變 換700和702的響應(yīng),寫請(qǐng)求命令被發(fā)出。作為對(duì)信號(hào)CORECLK的上升 沿的響應(yīng),信號(hào)REMEN通過(guò)進(jìn)行從低到高變換704被有效。變換704導(dǎo) 致信號(hào)BPLC進(jìn)行從高到低變換706以終止位線預(yù)充電操作。變換704也 導(dǎo)致信號(hào)D—WLEN進(jìn)行從低到高變換708以使能解碼器512的地址解碼 以及終止虛擬位線預(yù)充電操作。變換704也導(dǎo)致信號(hào)WCS進(jìn)行從低到高 變換716以連接位線到提供數(shù)據(jù)給要被完成的寫操作的輸入線(見圖 1)。信號(hào)BPLC、 D—WLEN和WCS (寫入列選擇)構(gòu)成與寫操作相關(guān) 聯(lián)的第一組命令信號(hào)。
0042作為對(duì)信號(hào)D—WLEN的從低到高變換708的響應(yīng)而被解碼的 虛擬地址導(dǎo)致信號(hào)DMY一BL—DLY進(jìn)行從低到高變換712 ,該 DMY—BL_DLY信號(hào)是信號(hào)DMY—BL的延遲的副本。信號(hào) DMY—BL—DLY的變換712觸發(fā)在信號(hào)WLEN上的從低到高變換710以 及在信號(hào)RAMEN—DONE上的從高到低變換718。換句話說(shuō),在寫周期 期間,虛擬位線觸發(fā)信號(hào)WLEN,信號(hào)WLEN然后被用于解碼正確的字 線。因此,在寫周期期間,在虛擬位線上的變換被用來(lái)控制輸入數(shù)據(jù) 的提供和被解碼的字線的使能之間的時(shí)序裕量。因?yàn)榕c信號(hào) DMY一BL—DLY相關(guān)聯(lián)的延遲是可編程的,所以相對(duì)于被解碼的字線地 址的選擇,輸入數(shù)據(jù)的建立時(shí)間和保持時(shí)間可被改變。如果可能,這 個(gè)時(shí)序裕量也可能可選地變窄以便加速寫周期以提高性能。該時(shí)序裕 量也可能可選地被加寬以改正讀/寫功能故障,或者提高產(chǎn)量。信號(hào) WLEN上的變換710之后,位于被選擇的地址的單元儲(chǔ)存被提供在輸入 數(shù)據(jù)線上的數(shù)據(jù)以完成寫周期。信號(hào)DMY—BL—DLY的從低到高變換 712導(dǎo)致信號(hào)RAMEN—DONE根據(jù)在可編程延遲鏈550中編程的延遲時(shí) 間進(jìn)行從高到底變換718,以復(fù)位信號(hào)發(fā)生器506中的信號(hào)。信號(hào)WLEN 形成與寫操作相關(guān)聯(lián)的第一組命令信號(hào)。
0043信號(hào)RAMEN—DONE的從高到低變換718導(dǎo)致信號(hào)RAMEN 被復(fù)位,如變換734中所示。變換734導(dǎo)致信號(hào)D—WLEN、 WLEN分別 通過(guò)變換738、變換740降低,以禁止常規(guī)的和虛擬的字線的解碼。變
換740又導(dǎo)致信號(hào)BPLC進(jìn)行從高到低變換736以開始位線預(yù)充電過(guò)程。 響應(yīng)變換734,信號(hào)DMY—BL^DLY進(jìn)行從高到低變換742。變換734還 導(dǎo)致信號(hào)WCS進(jìn)行從高到低變換746以終止在位線和運(yùn)送輸入數(shù)據(jù)的 信號(hào)線之間的連接。變換734還導(dǎo)致信號(hào)RAMEN一DONE進(jìn)行從低到高 變換748。
0044如上所述,根據(jù)本發(fā)明,信號(hào)RAMEN的變換704可使用可編 程延遲鏈520在時(shí)間窗口T1內(nèi)被改變。類似地,根據(jù)本發(fā)明,信號(hào) DMY一BL—DLY的變換712可使用可編程延遲鏈530和540在時(shí)間窗口T3 內(nèi)被改變,以及信號(hào)RAMEN一DONE的變換718可使用可編程延遲鏈 550在時(shí)間窗口T5內(nèi)被改變。類似地,變換734和748可根據(jù)可編程延遲 鏈520和550中被編程的延遲,各自在時(shí)間窗口T2和T6內(nèi)被改變。類似 地,變換742可根據(jù)可編程延遲鏈530和540中的被編程的延遲在時(shí)間窗 口T4內(nèi)被改變。如在上面描述和圖7中示出的,信號(hào)RAM一EN被用來(lái)生 成與寫操作相關(guān)聯(lián)的第一組命令信號(hào)BPLC、 WCS和D—WLEN,它們?nèi)?后被用來(lái)生成信號(hào)DMY—BL—DLY。同樣地,信號(hào)DMY—BL一DLY被用 來(lái)生成信號(hào)WLEN,該信號(hào)WLEN構(gòu)成與寫操作相關(guān)聯(lián)的第二組命令信 號(hào)。因此,根據(jù)本發(fā)明,經(jīng)由可編程延遲鏈530和540,通過(guò)部分地改 變與信號(hào)DMY—BL一DLY相關(guān)聯(lián)的延遲,在用于執(zhí)行寫操作的第一和第
二組命令信號(hào)之間的時(shí)序延遲被可控地調(diào)整以提高性能。0045圖8是與SRAM 500的先讀后寫操作相關(guān)聯(lián)的各種信號(hào)的示 范性的時(shí)序圖。下面同時(shí)參考圖8和圖5。響應(yīng)信號(hào)RE—IN、 WE—IN的 從低到高的變換和信號(hào)CORECLK的從低到高的變換802,先讀后寫請(qǐng) 求命令被發(fā)出,因而導(dǎo)致信號(hào)RAMEN通過(guò)進(jìn)行從低到高變換804被有 效。變換804導(dǎo)致信號(hào)BLPC進(jìn)行從低到高變換806以終止位線預(yù)充電操 作。變換804也導(dǎo)致信號(hào)D—WLEN和WLEN分別進(jìn)行從低到高變換808 和810,以使能由解碼器510和512進(jìn)行的地址解碼。信號(hào)D—WLEN的變 換808也終止虛擬位線預(yù)充電操作。
0046信號(hào)BLPC的變換806導(dǎo)致信號(hào)SAEQ進(jìn)行從低到高變換814 以終止耦連到感應(yīng)放大器的感應(yīng)線(未示出)的預(yù)充電。信號(hào)D—WLEN 的變換808導(dǎo)致被選擇的虛擬位線響應(yīng)存儲(chǔ)在被選擇的SRAM單元中的 數(shù)值從而導(dǎo)致信號(hào)DMY一BL及其被延遲的副本DMY一BL一DLY進(jìn)行從
低到高變換812。信號(hào)DMY—BL—DLY的變換812觸發(fā)信號(hào)SAE上的變換 818,從而打開感應(yīng)放大器560以感應(yīng)在SRAM單元的被選擇的真位線和 互補(bǔ)位線之間產(chǎn)生的電壓差,從而完成讀操作。響應(yīng)信號(hào) DMY一BL—DLY的變換812,信號(hào)DMY一BL一DLY的被延遲且被反向的副 本RAMEN一DONE進(jìn)行從高到低變換820。變換818導(dǎo)致信號(hào)WCS進(jìn)行 從低到高變換816以連接位線到提供用于完成寫操作的數(shù)據(jù)的輸入線 (見圖l)。
0047信號(hào)DMY—BL—DLY的從低到高變換812導(dǎo)致信號(hào)
RAMEN一DONE根據(jù)可編程延遲鏈820中的被編程的延遲時(shí)間進(jìn)行從 高到低變換820,以復(fù)位信號(hào)發(fā)生器506中的信號(hào)。信號(hào)RAMEN—DONE 從高到低的變換820導(dǎo)致信號(hào)RAMEN通過(guò)進(jìn)行由從高到低變換834被 復(fù)位。變換834導(dǎo)致信號(hào)D—WLEN和WLEN分別通過(guò)變換834和840變 低,以禁止常規(guī)的和虛擬的字線的解碼。變換840又導(dǎo)致信號(hào)BPLC進(jìn) 行從高到低變換836以開始位線預(yù)充電過(guò)程。響應(yīng)變換834,信號(hào) DMY_BL—DLY進(jìn)行從高到低變換842。變換834也導(dǎo)致信號(hào)WCS進(jìn)行從 高到低變換846以終止在位線和運(yùn)送輸入數(shù)據(jù)的信號(hào)線之間的連接。變 換834也導(dǎo)致信號(hào)RAMEN—DONE進(jìn)行從低到高變換850。信號(hào)BPLC、 D一WLEN和WLEN構(gòu)成與先讀后寫操作相關(guān)聯(lián)的第一組命令信號(hào)。信 號(hào)SAEQ和SAE構(gòu)成與先讀后寫操作相關(guān)聯(lián)的第二組命令信號(hào)。信號(hào) WCS構(gòu)成與先讀后寫操作相關(guān)聯(lián)的第三組命令信號(hào)。如上所述和圖7 所示,信號(hào)RAM—EN被用來(lái)生成與先讀后寫操作相關(guān)聯(lián)的第一組命令 信號(hào)BPLC、 WLEN和D—WLEN,它們?nèi)缓笥脕?lái)生成信號(hào)DM—BL—DLY。 同樣地,信號(hào)DM一BL—DLY被用來(lái)生成構(gòu)成與先讀后寫操作相關(guān)聯(lián)的 第二組命令信號(hào)SAEQ和SAE。信號(hào)SAE又用來(lái)構(gòu)成與先讀后寫操作相 關(guān)聯(lián)的第三組命令信號(hào)。因此,根據(jù)本發(fā)明,經(jīng)由可編程延遲鏈530和 540,通過(guò)部分地改變與信號(hào)DM—BL—DLY相關(guān)聯(lián)的延遲,在用于執(zhí)行 先讀后寫操作的第一、第二和第三組命令信號(hào)之間的時(shí)序延遲被可控 地調(diào)整以提高性能。
0048如上所述,根據(jù)本發(fā)明,信號(hào)RAMEN的變換804可使用可編 程延遲鏈520在時(shí)間窗口T1內(nèi)被改變。類似地,根據(jù)本發(fā)明,信號(hào) DMY—BL一DLY的變換812可使用可編程延遲鏈530和540在時(shí)間窗口T3
內(nèi)被改變,以及信號(hào)RAMEN一DONE的變換820可使用可編程延遲鏈 550在時(shí)間窗口T5內(nèi)被改變。類似地,變換834和850可根據(jù)在可編程延 遲鏈520和550中被編程的延遲分別在時(shí)間窗口T2和T6內(nèi)被改變。類似 地,變換842可根據(jù)可編程延遲鏈530和540中被編程的延遲在時(shí)間窗口 T4內(nèi)被改變。
0049上述的對(duì)各種信號(hào)的時(shí)序的調(diào)整既可以在FPGA制造期間使 用的掩模組被生成之前執(zhí)行,也可以在含有FPGA的晶片被制造之后執(zhí) 行。例如,假設(shè)包含從FPGA布局中提取的各種寄生電容、電阻器等計(jì)
算機(jī)模擬指示在上述信號(hào)之間的時(shí)序裕量不是最佳的。因此,因?yàn)楸?發(fā)明的FPGA包含布置在各種信號(hào)路徑之間的大量可編程延遲鏈,所以 通過(guò)對(duì)這些延遲鏈中的一個(gè)或多于一個(gè)進(jìn)行編程,時(shí)序裕量可被改變 以實(shí)現(xiàn),例如性能提升或功能改進(jìn)。可編程延遲鏈也可被用于調(diào)整含 有FPGA的硅片上的信號(hào)的時(shí)序裕量。通過(guò)改變控制信號(hào),諸如CTRL1 到CTRL4,在FPGA正在被編程來(lái)執(zhí)行所需功能時(shí),時(shí)序裕量被調(diào)整, 例如,用以最小化讀/寫功能故障,或者通過(guò)加速可編程控制路徑來(lái)提 高存儲(chǔ)器性能。
0050因此,根據(jù)本發(fā)明,產(chǎn)量可被提高并且讀/寫功能故障可被最 小化。而且,由時(shí)序裕量變化導(dǎo)致的故障可能在硅片上被修復(fù)。此外, 對(duì)存儲(chǔ)器速度的調(diào)整(降低或升高)可在硅片上進(jìn)行。因此,本發(fā)明 提高設(shè)計(jì)的可靠性和魯棒性。而且,存儲(chǔ)器可測(cè)試性的帶寬可被增加 從而使得能夠收集關(guān)于軟件錯(cuò)誤的更多信息。而且,根據(jù)本發(fā)明,通 過(guò)調(diào)整時(shí)序裕量,在能夠進(jìn)行計(jì)算機(jī)模擬的數(shù)學(xué)模型和從硅片上收集 的數(shù)據(jù)之間的相關(guān)性被提高。
0051圖9是根據(jù)本發(fā)明一個(gè)實(shí)施例的在圖5中示出的陣列580的虛 擬行510和虛擬列505中使用的虛擬SRAM單元900的示意圖。虛擬 SRAM單元被示為包含反相器902、 904和NMOS晶體管904、卯8、 910 和912。耦連到反相器904的輸入端子的節(jié)點(diǎn)N1被連接到接地電位。晶 體管906、 908和912的柵極端子也被連接到接地電位。因此,當(dāng)信號(hào) D一WLEN被提升到高電壓時(shí),虛擬位線接收出現(xiàn)在反相器910的輸出端 子的高電壓。
0052本發(fā)明的上述實(shí)施例是說(shuō)明性的而不是限制性的。例如,本
發(fā)明不受布置在每個(gè)可編程延遲鏈中的延遲元件的種類或數(shù)量的限 制。例如,在一些實(shí)施例中,不同的可編程延遲鏈可控制與每個(gè)信號(hào) 相關(guān)聯(lián)的延遲。因此,在這些實(shí)施例中,與每個(gè)信號(hào)相關(guān)聯(lián)的延遲可
被單獨(dú)地改變。本發(fā)明不受技術(shù)類型的限制、CMOS、雙極(Bipolar)、 BICMOS或其它可被用來(lái)構(gòu)成通用連接器。本發(fā)明不受通用連接器被布 置于其中的集成電路的類型的限制。例如,本發(fā)明可被部署于可編程
邏輯器件、SoC或任何其它的可能需要配置的集成電路中。本發(fā)明也不 受限于存儲(chǔ)器陣列的類型,靜態(tài)的、動(dòng)態(tài)的或者其它存儲(chǔ)器陣列均可 被用于本發(fā)明。其它的對(duì)本發(fā)明的增加、減少或修改是顯而易見的而 且應(yīng)落入附加的權(quán)利要求的范圍之內(nèi)。
權(quán)利要求
1.一種存儲(chǔ)器器件,其包括適合相對(duì)于第一時(shí)鐘信號(hào)延遲第二時(shí)鐘信號(hào)的第一多個(gè)延遲元件,所述第二時(shí)鐘信號(hào)起觸發(fā)存儲(chǔ)器存取操作的作用;適合改變延遲的第二多個(gè)延遲元件,與所述存儲(chǔ)器器件的虛擬位線相關(guān)聯(lián)的信號(hào)線根據(jù)所述延遲響應(yīng)存儲(chǔ)在相關(guān)聯(lián)的虛擬存儲(chǔ)器單元中的數(shù)據(jù);以及適合于當(dāng)所述信號(hào)線的電壓達(dá)到第一數(shù)值時(shí)被激活以執(zhí)行讀操作的感應(yīng)放大器。
2. 根據(jù)權(quán)利要求1所述的存儲(chǔ)器器件,其中所述第二多個(gè)延遲元件被用來(lái)精細(xì)調(diào)整所述延遲,所述存儲(chǔ)器器件進(jìn)一步包括適合粗略調(diào)整第二延遲的第三多個(gè)延遲元件,與所述虛擬位線相關(guān) 聯(lián)的第二信號(hào)線根據(jù)所述第二延遲響應(yīng)存儲(chǔ)在所述相關(guān)聯(lián)的虛擬存儲(chǔ)器 單元中的數(shù)據(jù)。
3. 根據(jù)權(quán)利要求2所述的存儲(chǔ)器器件,其中所述第二多個(gè)延遲元件 在所述虛擬位線被存取之前引入精細(xì)延遲。
4. 根據(jù)權(quán)利要求3所述的存儲(chǔ)器器件,其中所述第三多個(gè)延遲元件 在所述虛擬位線被存取之后引入粗略延遲。
5. 根據(jù)權(quán)利要求4所述的存儲(chǔ)器器件,其進(jìn)一步包括響應(yīng)所述第二 信號(hào)線的字線,所述字線適于當(dāng)所述字線被選擇時(shí)耦連存儲(chǔ)器單元到一 對(duì)相關(guān)聯(lián)的真位線和互補(bǔ)位線。
6. 根據(jù)權(quán)利要求5所述的存儲(chǔ)器器件,其進(jìn)一步包括第一時(shí)序邏輯塊,其適合于在其時(shí)鐘輸入端子接收所述第一時(shí)鐘信 號(hào),以及在其數(shù)據(jù)輸入端子接收讀請(qǐng)求信號(hào);以及第二時(shí)序邏輯快,其適合于在其時(shí)鐘輸入端子接收所述第一時(shí)鐘信 號(hào),以及在其數(shù)據(jù)輸入端子接收寫請(qǐng)求信號(hào)。
7. 根據(jù)權(quán)利要求6所述的存儲(chǔ)器器件,其進(jìn)一步包括適合于在其第 一和第二輸入端子接收所述第一和第二時(shí)序邏輯塊的所述輸出信號(hào)的信 號(hào)產(chǎn)生塊;所述信號(hào)產(chǎn)生塊進(jìn)一步適合于在其時(shí)鐘輸入端子接收所述第 二時(shí)鐘信號(hào)的延遲副本;所述信號(hào)產(chǎn)生塊響應(yīng)第一反饋信號(hào)而被復(fù)位, 所述信號(hào)發(fā)生塊適合于生成存儲(chǔ)器使能信號(hào),該存儲(chǔ)器使能信號(hào)起觸發(fā) 存儲(chǔ)器存取操作的作用。
8. 根據(jù)權(quán)利要求7所述的存儲(chǔ)器器件,其進(jìn)一步包括第四多個(gè)延遲 元件,其適合于延遲從所述第三多個(gè)延遲元件接收的信號(hào)以生成所述第一 反饋信號(hào)。
9. 根據(jù)權(quán)利要求8所述的存儲(chǔ)器器件,其進(jìn)一步包括控制塊,所述 控制塊適合于接收所述存儲(chǔ)器使能信號(hào)、所述第一和第二時(shí)序邏輯塊的 所述輸出信號(hào)和所述第二信號(hào)線,以及響應(yīng)而生成控制所述存儲(chǔ)器存取 操作的多個(gè)信號(hào)。
10. 根據(jù)權(quán)利要求9所述的存儲(chǔ)器器件,其中所述存儲(chǔ)器器件是靜 態(tài)隨機(jī)存取存儲(chǔ)器。
11. 根據(jù)權(quán)利要求10所述的存儲(chǔ)器器件,其中所述靜態(tài)隨機(jī)存取 存儲(chǔ)器是雙端口靜態(tài)隨機(jī)存取存儲(chǔ)器。
12. 根據(jù)權(quán)利要求11所述的存儲(chǔ)器器件,其中所述雙端口靜態(tài)隨機(jī)存取被布置在FPGA中。
13. 根據(jù)權(quán)利要求12所述的存儲(chǔ)器器件,其中所述第一、第二、 第三和第四多個(gè)延遲元件在所述FPGA被配置以執(zhí)行用戶定義的功能的 周期內(nèi)被編程。
14. 一種操作存儲(chǔ)器的方法,該方法包括相對(duì)于第一時(shí)鐘信號(hào)延遲第二時(shí)鐘信號(hào);所述第二時(shí)鐘信號(hào)起觸發(fā) 存儲(chǔ)器存取操作的作用;改變延遲,與所述存儲(chǔ)器器件的虛擬位線相關(guān)聯(lián)的信號(hào)線根據(jù)所述 延遲響應(yīng)存儲(chǔ)在相關(guān)聯(lián)的虛擬存儲(chǔ)器單元中的數(shù)據(jù);以及當(dāng)所述虛擬信號(hào)線的電壓達(dá)到第一數(shù)值時(shí),在讀周期期間激活感應(yīng) 放大器。
15. 根據(jù)權(quán)利要求14所述的方法,其中使用精細(xì)調(diào)整改變所述延 遲,所述方法進(jìn)一步包括改變第二延遲,與所述虛擬位線相關(guān)聯(lián)的第二信號(hào)線根據(jù)所述第二 延遲響應(yīng)存儲(chǔ)在所述相關(guān)聯(lián)的虛擬存儲(chǔ)器單元中的數(shù)據(jù),其中所述第二 延遲使用粗略調(diào)整被改變。
16. 根據(jù)權(quán)利要求15所述的方法,其中所述精細(xì)調(diào)整在虛擬位線 被存取之前進(jìn)行。
17. 根據(jù)權(quán)利要求16所述的方法,其中所述粗略調(diào)整在所述虛擬 位線被存取之后進(jìn)行。
18. 根據(jù)權(quán)利要求17所述的方法,其進(jìn)一步包括-響應(yīng)所述第二信號(hào)線對(duì)存儲(chǔ)在所述相關(guān)聯(lián)的虛擬存儲(chǔ)器單元中的所 述數(shù)據(jù)的響應(yīng),選擇字線;以及響應(yīng)對(duì)所述字線的選擇,耦連存儲(chǔ)器單元到一對(duì)相關(guān)聯(lián)的真位線和 互補(bǔ)位線。
19. 根據(jù)權(quán)利要求18所述的方法,其進(jìn)一步包括提供所述第一時(shí)鐘信號(hào)到第一時(shí)序邏輯塊,所述第一時(shí)序邏輯塊適 合于在其數(shù)據(jù)輸入端子接收讀請(qǐng)求信號(hào);以及提供所述第一時(shí)鐘信號(hào)到第二時(shí)序邏輯塊,所述第二時(shí)序邏輯塊適 合于在其數(shù)據(jù)輸入端子接收寫請(qǐng)求信號(hào)。
20. 根據(jù)權(quán)利要求19所述的方法,其進(jìn)一步包括 接收所述第一和第二時(shí)序邏輯塊的輸出信號(hào); 接收所述第二時(shí)鐘信號(hào)的延遲的副本; 響應(yīng)第一反饋信號(hào),執(zhí)行信號(hào)復(fù)位;以及生成存儲(chǔ)器使能信號(hào),該存儲(chǔ)器使能信號(hào)起觸發(fā)存儲(chǔ)器存取操作的 作用。
21. 根據(jù)權(quán)利要求20所述的方法,其進(jìn)一步包括 延遲所述第二信號(hào)線以生成所述第一反饋信號(hào)。
22. 根據(jù)權(quán)利要求20所述的方法,其進(jìn)一步包括 接收所述存儲(chǔ)器使能信號(hào); 接收所述第一和第二時(shí)序邏輯塊的輸出信號(hào); 接收所述第二信號(hào);以及 進(jìn)行響應(yīng)而生成控制所述存儲(chǔ)器存取操作的多個(gè)信號(hào)。
23. 根據(jù)權(quán)利要求22所述的方法,其中所述存儲(chǔ)器是靜態(tài)隨機(jī)存 取存儲(chǔ)器。
24. 根據(jù)權(quán)利要求23所述的方法,其中所述靜態(tài)隨機(jī)存取存儲(chǔ)器 是雙端口靜態(tài)隨機(jī)存取存儲(chǔ)器。
25. 根據(jù)權(quán)利要求24所述的方法,其中所述雙端口靜態(tài)隨機(jī)存取 存儲(chǔ)器被布置在FPGA內(nèi)。
26. 根據(jù)權(quán)利要求25所述的方法,其中在所述FPGA被配置以執(zhí) 行用戶定義的功能的周期期間,所述第二時(shí)鐘的延遲調(diào)整和所述第二和 第一信號(hào)線的所述粗略調(diào)整和所述精細(xì)延遲調(diào)整分別被執(zhí)行。
27. —種操作存儲(chǔ)器的方法,所述方法包括改變第一延遲,與所述存儲(chǔ)器器件的虛擬位線相關(guān)聯(lián)的信號(hào)線根據(jù) 所述第一延遲響應(yīng)存儲(chǔ)在相關(guān)聯(lián)的虛擬存儲(chǔ)器單元中的數(shù)據(jù);改變第二延遲,與所述虛擬位線相關(guān)聯(lián)的第二信號(hào)線根據(jù)所述第二 延遲響應(yīng)存儲(chǔ)在所述相關(guān)聯(lián)的虛擬存儲(chǔ)器單元中的所述數(shù)據(jù),其所述第 二延遲使用比所述第一延遲更粗略的調(diào)整被改變;響應(yīng)所述第二信號(hào)線,復(fù)位與所述存儲(chǔ)器相關(guān)聯(lián)的讀操作和寫操作。
28. 根據(jù)權(quán)利要求27所述的方法,其進(jìn)一步包括當(dāng)所述虛擬信號(hào)線的所述電壓達(dá)到第一數(shù)值時(shí),在讀周期期間激活 感應(yīng)放大器。
29.根據(jù)權(quán)利要求28所述的方法,其進(jìn)一步包括 根據(jù)控制信號(hào)延遲時(shí)鐘信號(hào);以及響應(yīng)所延遲的時(shí)鐘信號(hào),生成存儲(chǔ)器使能信號(hào),該存儲(chǔ)器使能信號(hào) 起到觸發(fā)存儲(chǔ)器存取操作的作用。
全文摘要
本發(fā)明涉及用于雙端口SRAM應(yīng)用的可編程控制塊。一種雙端口靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)包含沿著用來(lái)完成讀操作、寫操作或先讀后寫操作的多個(gè)信號(hào)的路徑布置的大量可編程延遲元件。至少一個(gè)可編程延遲元件控制在觸發(fā)讀/寫使能(啟用)信號(hào)的一對(duì)時(shí)鐘信號(hào)之間的時(shí)序裕量。第二可編程延遲元件粗略地調(diào)整與虛擬位線相關(guān)聯(lián)的第一信號(hào)的延遲。第三可編程延遲元件精細(xì)地調(diào)整與虛擬位線相關(guān)聯(lián)的第二信號(hào)的延遲。第四可編程延遲元件控制用于復(fù)位讀/寫使能信號(hào)的信號(hào)的延遲。在讀操作期間,第二信號(hào)的電壓電平被用作激活感應(yīng)放大器的指示器。在寫操作期間,第二信號(hào)的電壓電平被用來(lái)控制寫周期。
文檔編號(hào)G11C7/22GK101364432SQ20081013137
公開日2009年2月11日 申請(qǐng)日期2008年8月11日 優(yōu)先權(quán)日2007年8月9日
發(fā)明者C·C·張 申請(qǐng)人:阿爾特拉公司