|
勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載66:SRAM讀寫(xiě)測(cè)試 特權(quán)同學(xué),版權(quán)所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD
存儲(chǔ)器鋪天蓋地,并且是各個(gè)大小計(jì)算機(jī)系統(tǒng)(包括嵌入式系統(tǒng))必不可少的部分。可以毫不夸張的講,有數(shù)據(jù)傳輸處理的地方必定有存儲(chǔ)器,不管是CPU內(nèi)嵌的或外掛的,在做代碼存儲(chǔ)或程序運(yùn)行的時(shí)候也必定少不了它。而本節(jié)的實(shí)驗(yàn)對(duì)象SRAM(Static RAM)是一種異步傳輸?shù)囊资Т鎯?chǔ)器,它讀寫(xiě)傳輸較快,控制時(shí)序也不復(fù)雜,因此目前有著非常廣泛的應(yīng)用。 你找來(lái)任何一顆SRAM芯片的datasheet,會(huì)發(fā)現(xiàn)它們的時(shí)序操作大同小異,在這里總結(jié)一些它們共性的東西,也提一些用Verilog簡(jiǎn)單的快速操作SRAM的技巧。SRAM內(nèi)部的結(jié)構(gòu)如圖8.34所示,要訪問(wèn)實(shí)際的Momory區(qū)域,F(xiàn)PGA必須送地址(A0-A14)和控制信號(hào)(CE#\OE#\WE#),SRAM內(nèi)部有與此對(duì)應(yīng)的地址譯碼(decoder)和控制處理電路(control circuit)。這樣,數(shù)據(jù)總線(I/O0-I/O7)上的數(shù)據(jù)就可以相應(yīng)的讀或?qū)懥恕?/div>
圖8.34 SRAM功能框圖 這里就以本實(shí)驗(yàn)使用的IS62LV256-45U為例進(jìn)行說(shuō)明。其管腳定義如表8.3所示。 表8.3 SRAM接口定義
本設(shè)計(jì)的硬件原理圖如圖8.35所示。
圖8.35 SRAM接口 對(duì)于SRAM的讀操作時(shí)序,其波形如圖8.36所示。
圖8.36 SRAM讀時(shí)序 對(duì)于SRAM的寫(xiě)操作時(shí)序,其波形如圖8.37所示。
圖8.37 SRAM寫(xiě)時(shí)序 具體操作是這樣的,要寫(xiě)數(shù)據(jù)時(shí),(這里是相對(duì)于用FPGA操作SRAM而言的,軟件讀寫(xiě)可能有時(shí)間順序的問(wèn)題需要注意),比較高效率的操作是送數(shù)據(jù)和地址,把CE#和WE#拉低。然后延時(shí)file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif時(shí)間再把CE#和WE#拉高,這時(shí)就把數(shù)據(jù)寫(xiě)入了相應(yīng)地址了,就這么簡(jiǎn)單。讀數(shù)據(jù)就更簡(jiǎn)單了,只要把需要讀出的地址放到SRAM的地址總線上,把CE#和OE#拉低,然后延時(shí)file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif時(shí)間后就可以讀出數(shù)據(jù)了。時(shí)序圖中列出的相關(guān)時(shí)間參數(shù)如表8.4所示。 表8.4 SRAM讀寫(xiě)時(shí)序表
如圖8.38所示,本實(shí)例每秒鐘定時(shí)進(jìn)行一個(gè)SRAM地址的讀和寫(xiě)操作。讀寫(xiě)數(shù)據(jù)比對(duì)后,通過(guò)D2 LED狀態(tài)進(jìn)行指示。與此同時(shí),也可以通過(guò)SignalTap II在Quartus II中查看當(dāng)前操作的SRAM讀寫(xiě)時(shí)序。
圖8.38 SRAM實(shí)例功能框圖 該實(shí)例的工程模塊劃分層次如圖8.39所示。
圖8.39 SRAM實(shí)例模塊層次 |