特權(quán)同學(xué)sdram源程序分析

特權(quán)同學(xué)sdram源程序分析

ID:38524680

大?。?05.84 KB

頁數(shù):9頁

時間:2019-06-14

特權(quán)同學(xué)sdram源程序分析_第1頁
特權(quán)同學(xué)sdram源程序分析_第2頁
特權(quán)同學(xué)sdram源程序分析_第3頁
特權(quán)同學(xué)sdram源程序分析_第4頁
特權(quán)同學(xué)sdram源程序分析_第5頁
資源描述:

《特權(quán)同學(xué)sdram源程序分析》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、特權(quán)同學(xué)SDRAM-測試程序程序分析知識點:sdram控制器,時序約束,測試文件第一部分:基本模塊Sdram測試包括外部數(shù)據(jù)產(chǎn)生模塊,fifo模塊,sdram控制器,uart-RS232傳輸模塊。Sdram控制器模塊分塊三塊:控制模塊,命令模塊,數(shù)據(jù)傳輸模塊具體來說,1.為什么要用FIFO模塊呢?是因為外部數(shù)據(jù)與SDRAM控制器接收的速率不匹配,外部數(shù)據(jù)產(chǎn)生速率是FPGA系統(tǒng)時鐘(25MHz),而SDRAM是100MHz;同樣,把SDRAM中數(shù)據(jù)通過串口傳輸出到上位機(jī)時,也會有一個速率匹配問題,所以就有兩個FIFO,

2、其中一個寫FIFO,一個讀FIFO。2.Sdram控制器中控制模塊完成初始化,自刷新,讀寫控制。命令模塊有兩個狀態(tài)機(jī),一個是初始化狀態(tài),另一個是工作狀態(tài)。第二部分:各個部分詳解1.Sdram控制模塊輸入引腳有:讀、寫請求,輸出引腳有:寫應(yīng)答(表明正在寫),讀應(yīng)答,忙信號(表明正在工作),初始狀態(tài),工作狀態(tài),計數(shù)時鐘(用于定義時間段,與數(shù)據(jù)傳輸模塊緊密聯(lián)系)因為要用到好多時間參數(shù),就直接建立一個參數(shù)文件。這個參數(shù)文件不是一個模塊,所以不能用moduleendmodule來表示,里面所有參數(shù)有`define來開始,只是最

3、后命名為.v文件。要用這個文件參數(shù)必須要前面加個“`”。`defineend_trpcnt_clk_r==TRP_CLK,其中cnt_clk_r與控制模塊中cnt_clk_r一致。(這點是新學(xué)的)初始化過程分為200us等待,所有L-band預(yù)充電,8個預(yù)刷新,模式寄存器設(shè)置。//------------------------------------------------------------------------------//上電后200us計時,計時時間到,則done_200us=1//--------

4、---------------------------------------------------------------------reg[14:0]cnt_200us;always@(posedgeclkornegedgerst_n)if(!rst_n)cnt_200us<=15'd0;elseif(cnt_200us<15'd20_000)cnt_200us<=cnt_200us+1'b1;//計數(shù)assigndone_200us=(cnt_200us==15'd20_000);//條件滿足則done_20

5、0us=1,此后一直保持高電平,因為計數(shù)器保持不變,這不同于一個脈沖信號//------------------------------------------------------------------------------//SDRAM的初始化操作狀態(tài)機(jī)//------------------------------------------------------------------------------這個時間是怎么計算的?主要分析一個這個時間計算相當(dāng)于用一個計時開關(guān),這個開關(guān)就是cnt_rst_n

6、(低電平計數(shù)器復(fù)位)。在參數(shù)文件中,`defineend_trpcnt_clk_r==TRP_CLK。cnt_clk_r在啟動時就一直遞增,而達(dá)到TRP_CLK時,也就是end_trp成立,完成標(biāo)志,關(guān)閉開關(guān)cnt_rst_n.always@(posedgeclkornegedgerst_n)if(!rst_n)cnt_clk_r<=9'd0;//計數(shù)寄存器復(fù)位elseif(!cnt_rst_n)cnt_clk_r<=9'd0;//計數(shù)寄存器清零elsecnt_clk_r<=cnt_clk_r+1'b1;//啟動計數(shù)

7、延時//計數(shù)器控制邏輯always@(init_state_rorwork_state_rorcnt_clk_r)begincase(init_state_r)`I_NOP:cnt_rst_n<=1'b0;`I_PRE:cnt_rst_n<=(TRP_CLK!=0);//預(yù)充電延時計數(shù)啟動`I_TRP:cnt_rst_n<=(`end_trp)?1'b0:1'b1;//預(yù)充電計數(shù)正好是TRP_CLK,計數(shù)結(jié)束,清零計數(shù)器//-----------------------------------------------

8、-------------------------------//15us計時,產(chǎn)生自刷新請求。//每60ms全部4096行存儲區(qū)進(jìn)行一次自刷新,一行刷新時間是15us,這是一直在循環(huán)//(存儲體中電容的數(shù)據(jù)有效保存期上限是64ms)//------------------------------------------------------

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。