
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、零基礎(chǔ)學(xué)fpga (二十三) sdr sdram(架構(gòu)篇) 今日我們來(lái)講的是sdram的架構(gòu)以及設(shè)計(jì),這也是小墨第一次接觸架構(gòu),也談不上給大家講,就是把我理解的當(dāng)做一個(gè)筆記共享給大家,有什么錯(cuò)誤也請(qǐng)樂(lè)觀指正,究竟我也是沒(méi)有教師教,也是自己試探的,難免有些不合理的地方。 一、sdram 工作部分1、上電初始化我們先來(lái)看第一部分,上電初始化。上電初始化我們知道,上電之后我們需要等待200us的穩(wěn)定期,這段時(shí)光我們可以用一個(gè)定時(shí)器來(lái)計(jì)數(shù),這沒(méi)什么問(wèn)題,然后進(jìn)入的是預(yù)充電部分,這個(gè)時(shí)候,預(yù)充電的時(shí)候,sdram_cmd模塊會(huì)檢測(cè)此時(shí)的初始化狀態(tài)機(jī)的狀態(tài),若處于預(yù)充電狀態(tài),那么sdram_cmd模塊向s
2、dram發(fā)指令,詳細(xì)指令sdram的datasheet里面有,發(fā)的是一個(gè)precharge,即預(yù)充電,發(fā)完指令之后,需要等待一段時(shí)光,來(lái)確保這個(gè)指令被sdram捕捉,這等待的時(shí)光,特權(quán)教師用的方式我覺(jué)得很好用一個(gè)宏定義,當(dāng)計(jì)數(shù)器計(jì)數(shù)到相應(yīng)的時(shí)光后,預(yù)充電完成參數(shù)置位 即end_trp 置位,下面的使用也是一樣,即當(dāng)時(shí)始化狀態(tài)機(jī)進(jìn)入預(yù)充電狀態(tài)i_pre時(shí),計(jì)數(shù)器開(kāi)啟,開(kāi)頭計(jì)數(shù),計(jì)數(shù)完成,也就是預(yù)充電結(jié)束的時(shí)候,計(jì)數(shù)器復(fù)位,這個(gè)復(fù)位的控制,可以用case語(yǔ)句來(lái)檢測(cè)初始化狀態(tài)機(jī)的狀態(tài),在相應(yīng)的狀態(tài)賦予相應(yīng)的復(fù)位與置位接下來(lái)是8個(gè)自刷新,操作和預(yù)充電一樣到了模式寄存器的配置階段,我們需要選定l_ban
3、k,以及sdram工作模式的配置,當(dāng)sdram_cmd模塊檢測(cè)到初始化狀態(tài)機(jī)到達(dá)模式寄存器配置階段時(shí),我們的給sdram的sdram_bank端口賦相應(yīng)的值,并且設(shè)置地址當(dāng)時(shí)始化結(jié)束的時(shí)候,標(biāo)記位init_done置位,告知工作狀態(tài)機(jī),初始化狀態(tài)機(jī)已經(jīng)結(jié)束,進(jìn)入工作狀態(tài)。下面是我用word做的上電初始化的狀態(tài)轉(zhuǎn)移圖2、自刷新初始化結(jié)束之后,sdram為了防止數(shù)據(jù)走失,要舉行自刷新,上一篇文章已經(jīng)講過(guò)了,刷新212行需要64ms,也就是每15us刷新一行,也就是我們需要每15us發(fā)送一次自刷新哀求給sdram工作狀態(tài)機(jī),狀態(tài)機(jī)一旦檢測(cè)到自刷新哀求信號(hào),就告知sdram工作模塊,然后工作模塊就向s
4、dram發(fā)送自刷新指令,即cmd_a_pef下面是自刷新的狀態(tài)轉(zhuǎn)移圖3、讀寫狀態(tài)初始化結(jié)束以后,sdram就處于工作狀態(tài),每15us舉行一次自刷新,這個(gè)時(shí)候,假如想要讀或?qū)憯?shù)據(jù)的話,即向工作狀態(tài)機(jī)sdram_work_fsm發(fā)送讀寫哀求,假如是讀哀求,那么工作狀態(tài)機(jī)進(jìn)入行有效狀態(tài),也即激活狀態(tài)w_active,此時(shí),sdram_cmd模塊會(huì)發(fā)送行有效指令,即cmd_activea同時(shí),我們需要將我們的12位行地址送給我們的sdram地址總線sdram_addr,然后便是一個(gè)等待時(shí)光段,trcd,這個(gè)時(shí)光段里我們是不需要做什么工作的,只需等待trcd結(jié)束trcd結(jié)束的時(shí)候,工作狀態(tài)機(jī)進(jìn)入讀狀態(tài),
5、此時(shí),我們需要發(fā)送列地址選中我們的存儲(chǔ)單元,并告知sdram_cmd模塊發(fā)送讀指令,這個(gè)過(guò)程是讀指令和列地址同時(shí)發(fā)送的。我們知道,讀指令發(fā)出之后,會(huì)進(jìn)入埋伏期tcl。這個(gè)狀態(tài)我們也不需要做什么,由于我們?cè)谀J郊拇嫫髋渲秒A段已經(jīng)將各種參數(shù)配置好了,包括什么埋伏期長(zhǎng),突發(fā)讀寫長(zhǎng)度之類的,等到埋伏期結(jié)束之后,sdram會(huì)自動(dòng)舉行讀數(shù)據(jù),而且讀的數(shù)據(jù)長(zhǎng)度會(huì)跟我們之前設(shè)置的一樣長(zhǎng),這個(gè)讀數(shù)據(jù)的狀態(tài)需要時(shí)光,即我們的工作狀態(tài)機(jī)工作在w_rd狀態(tài),等待8個(gè)時(shí)鐘周期之后,全部的數(shù)據(jù)都已經(jīng)被送到數(shù)據(jù)總線。這個(gè)時(shí)候我們需要等一會(huì),由于我們?cè)诎l(fā)送讀指令的時(shí)候,a10是置1的,也就是說(shuō),每次讀寫完之后要自動(dòng)舉行預(yù)充電
6、,從而才可以打開(kāi)新的工作行,這時(shí),我們的工作狀態(tài)機(jī)即進(jìn)入了w_rwait狀態(tài),等到預(yù)充電結(jié)束,才完成一次讀操作,返回初始狀態(tài),等待下一個(gè)哀求的到來(lái)下面是讀寫狀態(tài)轉(zhuǎn)移圖,因?yàn)閷憼顟B(tài)只是沒(méi)有埋伏期,寫完之后有一個(gè)寫回延時(shí),其他地方與讀狀態(tài)相同,我就不再介紹了二、模擬信號(hào)產(chǎn)生部分我們先來(lái)想一下我們的要想測(cè)試我們的sdram控制器是否正確,都需要什么測(cè)試參數(shù)吧1、 首先我們需要發(fā)送讀寫地址對(duì)吧,但是我們需要有一個(gè)間隔,即每隔一段時(shí)光發(fā)送一次寫地址,為什么呢?由于我們之前在模式寄存器配置的時(shí)候,定義了突發(fā)讀寫的長(zhǎng)度為8,也就是我們發(fā)送一個(gè)地址,那么sdram會(huì)在延續(xù)的8個(gè)地址中延續(xù)寫8次數(shù),我們假如要再
7、發(fā)送地址,需要等到這8次地址寫完之后再發(fā)送下一個(gè)地址這個(gè)延時(shí)也許為640ns,也就是計(jì)數(shù)器為什么要計(jì)到3f的緣由,下一個(gè)地址的發(fā)送就需要比之前的地址大8了,比如第一次我發(fā)送的是0地址,那,隔一段時(shí)光之后,我就需要發(fā)送8地址了。讀地址也一樣,當(dāng)寫地址寫滿了之后,讓地址清零,從零地址讀起即可還有再說(shuō)明一下,特權(quán)教師為什么定義22位的模擬地址,22位的模擬地址包括2位的l_bank的地址,12位行地址和8位列地址。有人會(huì)問(wèn),為什么是行地址和列地址分開(kāi)呢,不是行列地址共用嗎?注重這里只是模擬地址,到時(shí)候我們給地址總線賦值的時(shí)候是分開(kāi)賦值的2、然后我們需要產(chǎn)生遞增數(shù)據(jù),每640ns產(chǎn)生8個(gè)數(shù)即可3、在發(fā)
8、送遞增數(shù)據(jù)之前,我們需要發(fā)送寫哀求信號(hào),這個(gè)寫哀求信號(hào)是要發(fā)送到我們接下來(lái)要講的fifo里面,發(fā)送寫哀求之后,數(shù)據(jù)進(jìn)入fifo,注重,這里的寫哀求是發(fā)送給fifo的,不是發(fā)送到sdram的,sdram的寫哀求是由fifo發(fā)出去的有人會(huì)問(wèn),寫哀求有了,是不是還該有讀哀求,要知道,我們的數(shù)據(jù)是先寫到fifo里面,再有sdram對(duì)fifo舉行讀操作,將寫進(jìn)fifo的數(shù)據(jù)再送到sdram,而我們從sdram中讀回的數(shù)據(jù),同樣要寫到fifo里面,然后我們?cè)購(gòu)膄ifo里面讀。是不是有人會(huì)問(wèn),這不是多此一舉嗎?其實(shí)不然,要知道我們的sdram是工作在100m的時(shí)鐘頻率下,而且是有相位偏移的,對(duì)我們來(lái)說(shuō)是一個(gè)
9、異步時(shí)鐘,假如我們不采納fifo的形式,那很簡(jiǎn)單發(fā)生亞穩(wěn)態(tài)問(wèn)題,導(dǎo)致系統(tǒng)不穩(wěn)定三、數(shù)據(jù)緩存部分1、寫fifo我來(lái)說(shuō)明一下,寫入時(shí)鐘,也就是我們fpga的時(shí)鐘,50mhz,在這個(gè)時(shí)鐘頻率下,我們需要給fifo發(fā)送寫哀求和遞增數(shù)據(jù),wrusedw反映了我寫入fifo的占用量,當(dāng)sdram工作狀態(tài)機(jī)檢測(cè)到寫哀求之后(fifo發(fā)出的寫哀求),會(huì)產(chǎn)生一個(gè)響應(yīng),告知fifo要讀數(shù)據(jù)了,這個(gè)響應(yīng)作為fifo的讀信號(hào),在100mhz的時(shí)鐘頻率下,將我們寫入的數(shù)據(jù)讀走,送到sdram數(shù)據(jù)總線上2、讀fifo讀fifo跟寫fifo相反,寫fifo時(shí)鐘為100mhz,在這個(gè)時(shí)鐘頻率下,我們將從sdram中讀回的數(shù)據(jù)寫到fifo里面,注重這里我們還用了wrusedw,來(lái)反應(yīng)寫fifo的占用量,也就是我們從sdram里讀了多少數(shù)據(jù),然后在50mhz的時(shí)鐘下,將從sdram讀回的數(shù)據(jù)采集下來(lái),送到顯示模塊來(lái)驗(yàn)證是否是遞增數(shù)據(jù),這個(gè)顯示模塊我們用數(shù)碼管來(lái)顯示,比較便利,為了觀看清晰,我們可以在數(shù)碼管顯示模塊,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- YY/T 1284-2024牙科學(xué)牙科鑷
- 銷售公司業(yè)務(wù)員勞動(dòng)合同協(xié)議
- 房屋按揭共同還款合同樣本2025
- 生態(tài)養(yǎng)殖基地租賃合同
- 特許經(jīng)營(yíng)合同示范文本
- 新能源貨車租賃合同
- 采購(gòu)合同管理:風(fēng)險(xiǎn)防范與應(yīng)對(duì)措施
- 合作建房借款合同(單位集體住房)
- 度產(chǎn)品試用合同協(xié)議
- 金屬冶煉安全管理課件
- 2025包頭青山賓館有限公司面向社會(huì)公開(kāi)招聘18人筆試參考題庫(kù)附帶答案詳解
- 課件-DeepSeek從入門到精通
- 2025至2030年中國(guó)毛絨卡通玩具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年度智能充電樁場(chǎng)地租賃合同范本3篇
- 2024年蕪湖職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 心電監(jiān)護(hù)儀的操作及注意事項(xiàng) 課件
- GB/T 718-2024鑄造用生鐵
- 細(xì)胞生物學(xué)(全套1047張課件)
- CFM56-7發(fā)動(dòng)機(jī)滑油系統(tǒng)及其常見(jiàn)故障分析(共41頁(yè))
- 《嵌入式技術(shù)》課程標(biāo)準(zhǔn)(STM32版)
- tplink-mr11u刷openwrt教程
評(píng)論
0/150
提交評(píng)論