本發(fā)明涉及緩存器,具體地涉及一種低功耗fifo存儲(chǔ)器、控制裝置及方法、芯片。
背景技術(shù):
1、隨著現(xiàn)代集成電路技術(shù)的不斷發(fā)展,集成度不斷提高,制造工藝不斷減小,芯片的靜態(tài)功耗所帶來的影響也變得更加顯著。在65nm及以下的工藝,芯片的靜態(tài)功耗將超過動(dòng)態(tài)功耗,成為限制電路功耗總體性能的決定性因素。
2、在現(xiàn)代集成電路芯片中,sram(static?random?access?memory,靜態(tài)隨機(jī)存取存儲(chǔ)器)陣列占有較大的面積,因此,sram陣列的靜態(tài)功耗成為限制電路靜態(tài)功耗的決定性因素。每次訪問時(shí),sram陣列中僅有一小部分存儲(chǔ)單元進(jìn)行讀寫操作,其他絕大部分保持靜態(tài),也就是說,sram陣列的主要功耗來源是靜態(tài)功耗。如果能將sram陣列進(jìn)行合理的結(jié)構(gòu)劃分,并將其中保持靜態(tài)、暫時(shí)無需使用的部分sram進(jìn)行有效的電源管理,將其供電電壓適當(dāng)降低或徹底關(guān)斷,則可有效降低芯片工作時(shí)sram陣列的靜態(tài)功耗。
3、目前已有對(duì)sram陣列進(jìn)行電源管理即電壓調(diào)整的技術(shù)方案來實(shí)現(xiàn)一定程度上降低sram陣列的靜態(tài)功耗,例如在xilinx公司的ultrascale+系列fpga芯片中,負(fù)責(zé)數(shù)據(jù)存儲(chǔ)的bram(block?ram)模塊,支持sleep(休眠)模式。實(shí)現(xiàn)方案為通過一個(gè)sleep輸入端口進(jìn)行控制,可同步或異步地控制bram進(jìn)入sleep模式,或從sleep模式中喚醒。在sleep模式時(shí),無法對(duì)bram進(jìn)行讀寫操作,sram陣列的電源電壓會(huì)降低20~30%,在不損壞存儲(chǔ)數(shù)據(jù)的前提下,一定程度的降低靜態(tài)功耗。
4、現(xiàn)有的適當(dāng)降低sram陣列電源電壓的技術(shù)方案,進(jìn)入sleep模式需要用戶對(duì)其進(jìn)行控制,且sram陣列電源電壓僅能適當(dāng)降低,即僅能在一定程度上降低靜態(tài)功耗。總體來說,現(xiàn)有的技術(shù)方案不夠靈活,并且靜態(tài)功耗降低效果有限。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供一種低功耗fifo存儲(chǔ)器、控制裝置及方法、芯片,可以有效降低fifo存儲(chǔ)器的靜態(tài)功耗。
2、為此,本發(fā)明實(shí)施例提供如下技術(shù)方案:
3、一方面,本發(fā)明實(shí)施例提供一種低功耗fifo存儲(chǔ)器,所述存儲(chǔ)器包括:多個(gè)容量相同的sram陣列、與各sram陣列一一對(duì)應(yīng)的電源管理模塊;
4、所述電源管理模塊,用于根據(jù)外部電源管理控制信號(hào),控制對(duì)應(yīng)的sram陣列及其地址譯碼和讀寫通路上電或斷電。
5、可選地,所述電源管理控制信號(hào)包括第一控制信號(hào)和第二控制信號(hào);
6、所述電源管理模塊,用于根據(jù)所述第一控制信號(hào)將對(duì)應(yīng)的sram陣列的電源上拉至外部電源;根據(jù)所述第二控制信號(hào)將對(duì)應(yīng)的sram陣列及其地址譯碼和讀寫通路斷電。
7、可選地,所述電源管理模塊包括:pmos管;
8、所述pmos管的源級(jí)與所述外部電源連接,所述pmos管的漏極與對(duì)應(yīng)的sram陣列的電源連接,所述pmos管的柵極用于輸入所述電源管理控制信號(hào)。
9、可選地,根據(jù)sram陣列的大小,組成所述電源管理模塊的pmos管有一個(gè)或多個(gè)。
10、可選地,所述sram陣列為4個(gè)。
11、另一方面,本發(fā)明實(shí)施例還提供一種控制裝置,用于對(duì)前面所述的低功耗fifo存儲(chǔ)器進(jìn)行控制,所述控制裝置包括:與各電源管理模塊耦接的控制模塊、以及與所述控制模塊耦接的讀計(jì)數(shù)器和寫計(jì)數(shù)器;
12、所述讀計(jì)數(shù)器,用于產(chǎn)生連續(xù)的讀指針,并作為所述fifo存儲(chǔ)器的讀地址;
13、所述寫計(jì)數(shù)器,用于產(chǎn)生連續(xù)的寫指針,并作為所述fifo存儲(chǔ)器的寫地址;
14、所述控制模塊,用于根據(jù)所述讀地址和所述寫地址確定需要使用的地址空間及需要上電的sram陣列和需要斷電的sram陣列,向需要上電的sram陣列的電源管理模塊和需要斷電的sram陣列的電源管理模塊輸出不同的電源管理控制信號(hào);還用于根據(jù)所述讀地址和所述寫地址,產(chǎn)生sram陣列的片選及讀寫控制信號(hào)。
15、可選地,所述控制模塊在對(duì)所述sram陣列的片內(nèi)第一個(gè)地址寫入前,確定所述sram陣列為需要上電的sram陣列,在所述sram陣列的片內(nèi)最后一個(gè)地址讀出后,確定所述sram陣列為需要斷電的sram陣列。
16、可選地,所述控制裝置還包括:
17、設(shè)置模塊,用于設(shè)置邏輯關(guān)系映射表,所述邏輯映射關(guān)系表示各讀地址和寫地址對(duì)應(yīng)的使用的sram陣列和未使用的sram陣列;
18、所述控制模塊根據(jù)所述讀地址和所述寫地址查找所述邏輯關(guān)系映射表,確定需要上電的sram陣列和需要斷電的sram陣列。
19、另一方面,本發(fā)明實(shí)施例還提供一種控制方法,用于對(duì)前面所述的低功耗fifo存儲(chǔ)器進(jìn)行控制,所述控制方法包括:
20、利用讀計(jì)數(shù)器產(chǎn)生連續(xù)的讀指針,并作為所述fifo存儲(chǔ)器的讀地址;
21、利用寫計(jì)數(shù)器產(chǎn)生連續(xù)的寫指針,并作為所述fifo存儲(chǔ)器的寫地址;
22、根據(jù)所述讀地址和所述寫地址確定需要使用的地址空間及需要上電的sram陣列和需要斷電的sram陣列;
23、向需要上電的sram陣列的電源管理模塊和需要斷電的sram陣列的電源管理模塊輸出不同的電源管理控制信號(hào)。
24、可選地,所述根據(jù)所述讀地址和所述寫地址確定需要使用的地址空間及需要上電的sram陣列和需要斷電的sram陣列包括:
25、如果所述寫地址為所述sram陣列的片內(nèi)第一個(gè)地址的前一個(gè)地址,則確定所述sram陣列為需要上電的sram陣列;
26、如果所述讀地址為所述sram陣列的片內(nèi)最后一個(gè)地址,則確定所述sram陣列為需要斷電的sram陣列。
27、可選地,所述向需要上電的sram陣列的電源管理模塊和需要斷電的sram陣列的電源管理模塊輸出不同的電源管理控制信號(hào)包括:
28、在對(duì)所述需要上電的sram陣列的片內(nèi)第一個(gè)地址寫入前,向所述sram陣列的電源管理模塊輸出第一控制信號(hào),使所述電源管理模塊根據(jù)所述第一控制信號(hào)控制所述sram陣列及其地址譯碼和讀寫通路上電;
29、在所述需要斷電的sram陣列的片內(nèi)最后一個(gè)地址讀出后,向所述sram陣列的電源管理模塊輸出第二控制信號(hào),使所述電源管理模塊根據(jù)所述第二控制信號(hào)控制所述sram陣列及其地址譯碼和讀寫通路斷電。
30、可選地,所述控制方法還包括:
31、建立邏輯關(guān)系映射表,所述邏輯映射關(guān)系表示各讀地址和寫地址對(duì)應(yīng)的使用的sram陣列和未使用的sram陣列;
32、所述根據(jù)所述讀地址和所述寫地址確定需要使用的地址空間及需要上電的sram陣列和需要斷電的sram陣列包括:
33、根據(jù)所述讀地址和所述寫地址查找所述邏輯關(guān)系映射關(guān)系表,確定需要使用的地址空間及需要上電的sram陣列和需要斷電的sram陣列。
34、另一方面,本發(fā)明實(shí)施例還提供一種芯片,所述芯片包括前面所述的低功耗fifo存儲(chǔ)器、和/或前面所述的控制裝置。
35、本發(fā)明實(shí)施例提供的低功耗fifo存儲(chǔ)器、控制裝置及方法、芯片,將fifo存儲(chǔ)器的sram陣列劃分為大小相同的多個(gè)sram陣列,并設(shè)置與各sram陣列一一對(duì)應(yīng)的電源管理模塊,分別對(duì)各sram陣列進(jìn)行獨(dú)立供電,在對(duì)sram陣列讀寫過程中,將暫時(shí)無需使用的sram陣列斷電,從而有效降低fifo存儲(chǔ)器的靜態(tài)功耗。
36、進(jìn)一步地,對(duì)未使用的sram陣列進(jìn)行徹底斷電,即盡可能降低sram陣列的電源電壓,從而最大程度地降低了其靜態(tài)功耗。
37、進(jìn)一步地,對(duì)sram陣列的上電及斷電,由fifo控制邏輯自動(dòng)且動(dòng)態(tài)地進(jìn)行控制,無需用戶進(jìn)行干預(yù),便于應(yīng)用。