1 SRAM讀寫時序解讀
儲存空間鋪天蓋地,並且是各個大小電腦系統(包括嵌入式系統)比不可少的部分。可以毫不誇張的講,有資料轉送處理的地方必定有儲存空間,不管是CPU內嵌的或外掛的,在做代碼儲存或程式啟動並執行時候也必定少不了它。而本節的實驗對象SRAM(Static RAM)是一種非同步傳輸的易失儲存空間,它讀寫傳輸較快,控制時序也不複雜,因此目前有著非常廣泛的應用。
你找來任何一顆SRAM晶片的datasheet,會發現它們的時序操作大同小異,在這裡總結一些它們共性的東西,也提一些用Verilog簡單的快速控制項目SRAM的技巧。SRAM內部的結構如圖所示,要訪問實際的Momory地區,FPGA必須送地址(A0-A14)和控制訊號(CE#\OE#\WE#),SRAM內部有與此對應的地址解碼(decoder)和控制處理電路(control circuit)。這樣,資料匯流排(I/O0-I/O7)上的資料就可以相應的讀或寫了。
這裡就以本實驗使用的IS62LV256-45U為例進行說明。其管腳定義如表所示。
序號 |
管腳 |
方向 |
描述 |
1 |
A0-A14 |
Input |
地址匯流排。 |
2 |
CEn |
Input |
晶片使能輸入,低有效。 |
3 |
OEn |
Input |
輸出使能輸入,低有效。 |
4 |
WEn |
Input |
寫使能輸入,低有效。 |
5 |
I/O0-I/O7 |
Inout |
資料輸入/輸出匯流排。 |
6 |
VCC |
Input |
電源。 |
7 |
GND |
Input |
數字地。 |
本設計的硬體原理圖如圖所示。
圖6.59 SRAM介面
對於SRAM的讀操作時序,其波形如圖所示。
對於SRAM的寫操作時序,其波形如圖所示。
具體操作是這樣的,要寫資料時,(這裡是相對於用FPGA操作SRAM而言的,軟體讀寫可能有時間順序的問題需要注意),比較高效率的操作是送資料和地址,把CE#和WE#拉低。然後延時時間再把CE#和WE#拉高,這時就把資料寫入了相應地址了,就這麼簡單。讀資料就更簡單了,只要把需要讀出的地址放到SRAM的地址匯流排上,把CE#和OE#拉低,然後延時時間後就可以讀出資料了。
http://bbs.ednchina.com/BLOG_ARTICLE_3032107.HTM