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