本發(fā)明涉及一種基于FPGA的低功耗SRAM 字線電壓實(shí)現(xiàn)電路及方法,屬于靜態(tài)隨機(jī)存儲(chǔ)器的技術(shù)領(lǐng)域。
背景技術(shù):
SRAM(Static Randon Acess Memory),即靜態(tài)隨機(jī)存取存儲(chǔ)器,是一種具有靜態(tài)存取功能的內(nèi)存,不需要刷新電路即能保存它內(nèi)部存儲(chǔ)的數(shù)據(jù)。
在FPGA存儲(chǔ)陣列中,六管結(jié)構(gòu)的SRAM最為常見,如圖1所示。SRAM的工作通常分為三部分:保持?jǐn)?shù)據(jù),讀數(shù)據(jù)和寫數(shù)據(jù)。讀數(shù)據(jù)時(shí),先把字線電壓充到高電平,使門管導(dǎo)通,然后數(shù)據(jù)結(jié)點(diǎn)向位線充/放電,靈敏放大器識(shí)別出兩根位線的電壓差將電平放大成合格的高低電平,即數(shù)據(jù)讀出。寫數(shù)據(jù)時(shí),先根據(jù)要寫的數(shù)據(jù)將某一根位線預(yù)充至高電平,另一根放電到低電平,然后字線為高,門管導(dǎo)通,位線向數(shù)據(jù)節(jié)點(diǎn)充/放電。
常見的字線電壓通常為電源電壓,而且讀/寫數(shù)據(jù)時(shí),使門管導(dǎo)通的字線電壓也相同,同為電源電壓,而位線的高電平電壓也通常為電源電壓,因此字線和位線電壓相同,在某些情況下不利于SRAM的寫操作。在讀操作時(shí),也會(huì)浪費(fèi)一定的功耗,尤其對(duì)于大規(guī)模的SRAM陣列。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)的不足,提供一種基于FPGA的低功耗SRAM 字線電壓實(shí)現(xiàn)電路及方法,解決字線和位線電壓相同,在某些情況下不利于SRAM的寫和讀操作,不能保證讀取正確性,無法降低整體芯片的功耗的問題。
本發(fā)明具體采用以下技術(shù)方案解決上述技術(shù)問題:
一種基于FPGA的低功耗SRAM 字線電壓實(shí)現(xiàn)電路,包括:
帶隙基準(zhǔn)電路,用于提供基準(zhǔn)電壓;
控制電路,用于生成控制信號(hào)及復(fù)位信號(hào);
讀/寫譯碼電路,用于根據(jù)控制電路的控制信號(hào)選擇獲得電路所處狀態(tài),所述電路所處狀態(tài)包括清零狀態(tài)、寫狀態(tài)和讀狀態(tài);并根據(jù)選擇的電路所處狀態(tài)生成分壓選擇信號(hào);
字線電壓產(chǎn)生電路,用于根據(jù)接收的分壓選擇信號(hào),將所述基準(zhǔn)電壓作為參考電壓進(jìn)行分壓,得到電路所處狀態(tài)下的字線電壓值;
地址譯碼電路,用于根據(jù)控制電路的控制信號(hào)對(duì)待配置SRAM的地址進(jìn)行譯碼,獲得譯碼輸出信號(hào);
地址輸出電路,用于接收控制電路的復(fù)位信號(hào),及在接收的地址譯碼電路的譯碼輸出信號(hào)有效時(shí),將譯碼輸出信號(hào)轉(zhuǎn)換為對(duì)應(yīng)電路所處狀態(tài)下的字線電壓值,及將該字線電壓值輸出至地址譯碼電路譯碼所對(duì)應(yīng)待配置SRAM的門管控制端。
進(jìn)一步地,作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述字線電壓產(chǎn)生電路包括:
穩(wěn)壓器,用于將基準(zhǔn)電壓作為參考電壓,獲得穩(wěn)壓后的輸出電壓;
電阻串,用于根據(jù)分壓選擇信號(hào)對(duì)穩(wěn)壓器所得穩(wěn)壓后的輸出電壓進(jìn)行分壓,獲得電壓值不同的輸出電壓;
偏置電路,用于將電阻串所獲得電壓值不同的輸出電壓分別轉(zhuǎn)換成字線電壓值輸出。
進(jìn)一步地,作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述字線電壓產(chǎn)生電路中,設(shè)定電路清零狀態(tài)的字線電壓值VG1小于電路寫狀態(tài)的字線電壓值VG2;及設(shè)定電路讀狀態(tài)的字線電壓值VG3大于門管的門限電壓值,且小于電路清零狀態(tài)的字線電壓值VG1和寫狀態(tài)的字線電壓值VG2。
進(jìn)一步地,作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述地址譯碼電路包括相互連接的或非門和反相器。
一種基于FPGA的低功耗SRAM 字線電壓實(shí)現(xiàn)方法,包括以下步驟:
生成控制信號(hào);
根據(jù)控制信號(hào)選擇獲得電路所處狀態(tài),所述電路所處狀態(tài)包括清零狀態(tài)、寫狀態(tài)和讀狀態(tài);并根據(jù)選擇的電路所處狀態(tài)生成分壓選擇信號(hào);
提供一個(gè)基準(zhǔn)電壓,及根據(jù)接收的分壓選擇信號(hào)將基準(zhǔn)電壓作為參考電壓進(jìn)行分壓,得到電路所處狀態(tài)下的字線電壓值;
根據(jù)控制信號(hào)對(duì)待配置SRAM的地址進(jìn)行譯碼,獲得譯碼輸出信號(hào);
當(dāng)接收的譯碼輸出信號(hào)有效時(shí),將譯碼輸出信號(hào)轉(zhuǎn)換為對(duì)應(yīng)電路所處狀態(tài)下的字線電壓值,及將該字線電壓值輸出至譯碼所對(duì)應(yīng)待配置SRAM的門管控制端。
進(jìn)一步地,作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述基準(zhǔn)電壓的溫度系數(shù)為零。
本發(fā)明采用上述技術(shù)方案,能產(chǎn)生如下技術(shù)效果:
本發(fā)明設(shè)計(jì)了一種基于FPGA的低功耗SRAM字線電壓實(shí)現(xiàn)電路及方法,首先提供一個(gè)零溫度系數(shù)的基準(zhǔn)電壓,作為字線電壓的參考電壓,通過控制電路對(duì)讀/寫譯碼和地址譯碼電路的控制,選取合適的字線電壓值和地址,用于SRAM的門管控制端。在FPGA不同階段涉及SRAM操作時(shí)采用不同的字線電壓,一方面在寫操作時(shí),更容易將配置信息寫入SRAM單元,另一方面在讀操作時(shí),既能保證讀取正確性,又降低整體芯片的功耗。
本發(fā)明能夠克服現(xiàn)有技術(shù)中存在的不足,有效保證讀取正確性,又降低整體芯片的功耗。
附圖說明
圖1為現(xiàn)有技術(shù)中傳統(tǒng)的六管SRAM結(jié)構(gòu)。
圖2為本發(fā)明基于FPGA的低功耗SRAM字線電壓實(shí)現(xiàn)電路的示意圖。
圖3為本發(fā)明中字線電壓產(chǎn)生電路的示意圖。
圖4為本發(fā)明中地址輸出電路的示意圖。
圖5為本發(fā)明中基于FPGA的低功耗SRAM字線電壓實(shí)現(xiàn)方法的示意圖。
其中,附圖標(biāo)記解釋:13-帶隙基準(zhǔn)電路、14-字線電壓產(chǎn)生電路、15-控制電路、16-讀/寫譯碼電路、17-地址譯碼電路、18-地址輸出電路、19-穩(wěn)壓器、20-電阻串、21-偏置電路、22-或非門、23-反相器。
具體實(shí)施方式
下面結(jié)合說明書附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行描述。
如圖2所示,本發(fā)明設(shè)計(jì)了一種基于FPGA的低功耗SRAM 字線電壓實(shí)現(xiàn)電路,包括:
帶隙基準(zhǔn)電路13,用于提供基準(zhǔn)電壓;
控制電路15,用于生成控制信號(hào)及復(fù)位信號(hào)RST;
讀/寫譯碼電路16,用于根據(jù)控制電路的控制信號(hào)選擇獲得電路所處狀態(tài),所述電路所處狀態(tài)包括清零狀態(tài)、寫狀態(tài)和讀狀態(tài);并根據(jù)選擇的電路所處狀態(tài)生成分壓選擇信號(hào);
字線電壓產(chǎn)生電路14,用于根據(jù)接收的分壓選擇信號(hào),將所述基準(zhǔn)電壓作為參考電壓進(jìn)行分壓,得到電路所處狀態(tài)下的字線電壓值信號(hào)WL_VS;
地址譯碼電路17,用于根據(jù)控制電路的控制信號(hào)對(duì)待配置SRAM的地址進(jìn)行譯碼,獲得譯碼輸出信號(hào)WL_EN;
地址輸出電路18,用于接收控制電路的復(fù)位信號(hào),及在接收的地址譯碼電路的譯碼輸出信號(hào)WL_EN有效時(shí),將譯碼輸出信號(hào)WL_EN轉(zhuǎn)換為對(duì)應(yīng)電路所處狀態(tài)下的字線電壓值,及將該字線電壓值輸出至地址譯碼電路譯碼所對(duì)應(yīng)待配置SRAM的門管控制端WL。
該系統(tǒng)由帶隙基準(zhǔn)電路13提供一個(gè)零溫度系數(shù)的基準(zhǔn)電壓,作為字線電壓的參考電壓,通過控制電路對(duì)讀/寫譯碼和地址譯碼電路的控制,選取合適的字線電壓值和地址,用于待配置SRAM的門管控制端WL。
所述讀/寫譯碼電路16,包含兩個(gè)來自于控制模塊的信號(hào)CLEAR_EN和PROGRAMME_EN。當(dāng)輸入信號(hào)CLEAR_EN和PROGRAMME_EN同時(shí)為高電平時(shí),確定電路處于清零狀態(tài)。當(dāng)輸入信號(hào)CLEAR_EN為低電平,PROGRAMME_EN為高電平時(shí),確定電路處于寫狀態(tài)。當(dāng)輸入信號(hào)CLEAR_EN為低電平,PROGRAMME_EN為低電平時(shí),確定電路處于讀狀態(tài)。并在確定選擇的電路所處狀態(tài)后,生成對(duì)應(yīng)的分壓選擇信號(hào)輸出至字線電壓產(chǎn)生電路14。
所述字線電壓產(chǎn)生電路14的一種實(shí)現(xiàn)方式圖3所示,包括低壓差線性穩(wěn)壓器19,電阻串20和偏置電路21。其中低壓差線性穩(wěn)壓器的參考電壓來自于帶隙基準(zhǔn)電路13,電阻串的分壓選擇信號(hào)來自于讀/寫譯碼電路16。穩(wěn)壓器19,用于將基準(zhǔn)電壓作為參考電壓,獲得穩(wěn)壓后的輸出電壓;電阻串20,用于根據(jù)分壓選擇信號(hào)對(duì)穩(wěn)壓器19所得穩(wěn)壓后的輸出電壓進(jìn)行分壓,獲得電壓值不同的輸出電壓;偏置電路21,用于將電阻串所獲得電壓值不同的輸出電壓分別轉(zhuǎn)換成對(duì)應(yīng)的字線電壓值WL_VS輸出。
所述電阻串20,根據(jù)讀/寫不同操作對(duì)低壓差線性穩(wěn)壓器的輸出電壓VLDO進(jìn)行分壓,得到電壓值不同的輸出電壓VBIAS。將電路進(jìn)行寫操作時(shí),分壓輸出的電壓值記為VBIAS1;將電路進(jìn)行讀操作時(shí),分壓輸出的電壓值記為VBIAS2。所述VBIAS1的電壓值大于VBIAS2的電壓值。
所述字線電壓產(chǎn)生電路14,其控制信號(hào)來源于所述讀/寫譯碼電路16,當(dāng)處于清零狀態(tài)時(shí),字線電壓WL_VS的值為第一字線電壓值VG1;當(dāng)處于寫狀態(tài),字線電壓WL_VS的值為第二字線電壓值VG2;當(dāng)處于讀狀態(tài),字線電壓WL_VS的值為第三字線電壓值VG3。
并且所述第一字線電壓值VG1,其值小于第二字線電壓值VG2。所述第三字線電壓值VG3,其值略大于門管的門限電壓值VTH,小于第一字線電壓值VG1和第二字線電壓其值VG2。
所述地址輸出電路6的一種實(shí)現(xiàn)方式圖4所示,包括一個(gè)或非門22和一個(gè)反相器23。其中或非門端口a 的輸入信號(hào)WL_EN來源于地址譯碼電路17,端口b的輸入信號(hào)RST來源于控制模塊15,為復(fù)位信號(hào)。
所述或非門22所接電壓,為數(shù)字電路電源電壓VCCINT,其為1.1v。
所述反相器23所接電壓,為字線電壓產(chǎn)生電路的輸出電壓,為WL_VS。
所述字線電壓產(chǎn)生電路的輸出電壓WL_VS,在電路處于清零狀態(tài)時(shí),WL_VS的電壓值與電源電壓VCCINT電壓值相同,為1.1V,記為VG1。當(dāng)電路處于寫狀態(tài),WL_VS電壓值約為1.18V,記為VG2。當(dāng)電路處于讀狀態(tài),WL_VS電壓值約為0.75V,記為VG3。
本系統(tǒng)對(duì)SRAM字線電壓的配置過程,如圖5所示。在FPGA芯片進(jìn)行寫操作時(shí),通常分為兩類不同的寫操作,清零和配置。所述清零階段的寫操作,就是將所有待配置SRAM都寫入0。此時(shí)所有待配置SRAM的位線均準(zhǔn)備好數(shù)據(jù)0,地址譯碼電路根據(jù)控制信號(hào)進(jìn)行逐列譯碼,逐列打開待配置SRAM。此時(shí)將第一字線電壓值VG1用在打開的待配置的字線上。
清零結(jié)束后,開始對(duì)待配置SRAM進(jìn)行配置。配置時(shí),首先判斷對(duì)待配置SRAM進(jìn)行讀操作,還是寫操作。如果是進(jìn)行寫操作,就是將所有待配置SRAM都寫入配置信息,此時(shí)根據(jù)地址譯碼電路根據(jù)控制信號(hào)進(jìn)行某列譯碼,將某列待配置SRAM打開進(jìn)行寫操作,此時(shí)將第二字線電壓值VG2用在打開的待配置SRAM字線上;如果是進(jìn)行讀操作,根據(jù)地址譯碼電路根據(jù)控制信號(hào)進(jìn)行某列譯碼,將某列待配置SRAM打開進(jìn)行讀操作,此時(shí)將第三字線電壓值VG3用在打開的待配置SRAM字線上,以完成配置過程。
所述第一字線電壓值VG1,其值與電源電壓VCCINT相同,所述第二字線電壓值VG2,其值略高于第一字線電壓值VG1,所述第三字線電壓值VG3,其值低于VG1和VG2,比門管的閾值電壓VTH略高,以保證管子的開啟。
在上述系統(tǒng)基礎(chǔ)上,本發(fā)明還提出一種基于FPGA的低功耗SRAM 字線電壓實(shí)現(xiàn)方法,該方法可用于上述系統(tǒng)中,方法具體包括以下步驟:
首先,生成控制信號(hào)。根據(jù)控制信號(hào)選擇獲得電路所處狀態(tài),所述電路所處狀態(tài)包括清零狀態(tài)、寫狀態(tài)和讀狀態(tài);并根據(jù)選擇的電路所處狀態(tài)生成分壓選擇信號(hào);
提供一個(gè)溫度系數(shù)為零的基準(zhǔn)電壓,根據(jù)接收的分壓選擇信號(hào)將基準(zhǔn)電壓作為參考電壓進(jìn)行分壓,得到電路所處狀態(tài)下的字線電壓值WL_VS;即:當(dāng)選擇獲得電路清零狀態(tài)時(shí),選擇得到對(duì)應(yīng)的字線電壓值WL_VS記為VG1; 當(dāng)選擇獲得電路寫狀態(tài)時(shí),選擇得到對(duì)應(yīng)的字線電壓值WL_VS記為VG2;當(dāng)選擇獲得電路讀狀態(tài)時(shí),選擇得到對(duì)應(yīng)的字線電壓值WL_VS記為VG3。
根據(jù)控制信號(hào)對(duì)待配置SRAM的地址進(jìn)行譯碼,獲得譯碼輸出信號(hào);
當(dāng)接收的譯碼輸出信號(hào)有效時(shí),將譯碼輸出信號(hào)轉(zhuǎn)換為對(duì)應(yīng)電路所處狀態(tài)下的字線電壓值,及將該字線電壓值輸出至譯碼所對(duì)應(yīng)待配置SRAM的門管控制端。即:根據(jù)對(duì)待配置地址譯碼后,將某列待配置SRAM打開進(jìn)行清零或配置操作。當(dāng)所選擇的字線電壓的輸出電壓WL_VS,在電路處于清零狀態(tài)時(shí),字線電壓值WL_VS與電源電壓VCCINT電壓值相同,為1.1V,記為VG1,此時(shí)將第一字線電壓值VG1用在譯碼打開的待配置SRAM字線上。當(dāng)電路處于寫狀態(tài),字線電壓值WL_VS約為1.18V,記為VG2,此時(shí)將第二字線電壓值VG2用在譯碼打開待配置SRAM的字線上。當(dāng)電路處于讀狀態(tài),字線電壓值WL_VS約為0.75V,記為VG3,此時(shí)將第三字線電壓值VG3用在譯碼打開的待配置SRAM字線上。
由此,本發(fā)明的系統(tǒng)和方法通過對(duì)讀/寫譯碼和地址譯碼電路的控制,選取合適的字線電壓值和地址,用于SRAM的門管控制端。在FPGA不同階段涉及SRAM操作時(shí)采用不同的字線電壓,一方面在寫操作時(shí),更容易將配置信息寫入SRAM單元,另一方面在讀操作時(shí),既能保證讀取正確性,又降低整體芯片的功耗。
上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式作了詳細(xì)說明,但是本發(fā)明并不限于上述實(shí)施方式,在本領(lǐng)域普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。