DDR2程序設(shè)計(jì)方案_第1頁(yè)
DDR2程序設(shè)計(jì)方案_第2頁(yè)
DDR2程序設(shè)計(jì)方案_第3頁(yè)
DDR2程序設(shè)計(jì)方案_第4頁(yè)
DDR2程序設(shè)計(jì)方案_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

DDR2程序設(shè)計(jì)目標(biāo)實(shí)現(xiàn)DDR2的讀寫功能,并且讀寫正常。程序設(shè)計(jì)思路考慮到直接寫DDR2讀寫時(shí)序有困難,所以使用DDR2IP核。IP核生成相應(yīng)的時(shí)鐘,依據(jù)模塊化思想,將讀寫操作進(jìn)展封裝成模塊,在頂層模塊為讀寫模塊供給地址與數(shù)據(jù)。程序具體設(shè)計(jì)依據(jù)以上思路需要做到以下幾點(diǎn):DDR2IP核基于DDR核的讀寫模塊頂層模塊設(shè)計(jì)PLL生成時(shí)鐘DDR2IP核的生成過(guò)程翻開(kāi)核生成器創(chuàng)立一個(gè)的工程依據(jù)工程需要指定工程路徑,并且給工程取名。點(diǎn)擊Part選擇芯片型號(hào),點(diǎn)擊Generation選擇語(yǔ)言,點(diǎn)擊ok。找到mig核,并雙擊,進(jìn)入DDR2核生成過(guò)程。DDR2IP重定義”ComponentPart”,點(diǎn)擊下一步點(diǎn)擊下一步選擇DDR2_SDRAM,點(diǎn)擊下一步設(shè)置時(shí)鐘為200M,數(shù)據(jù)位寬為16址以及BANK地址,點(diǎn)擊保存,回到之前的頁(yè)面,點(diǎn)擊下一步BurstLength4,點(diǎn)擊下一步“SystemClock”選擇”Single-Ended”,單端時(shí)鐘比較好操作,點(diǎn)擊下一步。DDR2FPGA這一步也是檢驗(yàn)DDR2引腳在FPGA上安排是否正確的方法。選擇”FixedPinOut:...”這一選項(xiàng),點(diǎn)擊下一步ucfucfReadUCF”來(lái)進(jìn)展加載,假設(shè)引腳有不正確的安排,進(jìn)展”Valide”時(shí)會(huì)提示錯(cuò)誤。假設(shè)無(wú)錯(cuò)誤,點(diǎn)擊下一步點(diǎn)擊下一步DDR2IPDDR2IPparucf有之前配置的引腳,其中一些引腳需要修改或刪除。DDR2核的讀寫模塊設(shè)計(jì)DDR2IP信號(hào)位寬定義信號(hào)位寬定義phy_init_done1此信號(hào)為DDR2初始化信號(hào),此信號(hào)為高有效rst0_tb1DDR2clk0_tb1DDR2app_wdf_afull1FIFO1app_af_afull1FIFO1rd_data_valid1rd_data_valid1讀數(shù)據(jù)時(shí),數(shù)據(jù)輸出有效標(biāo)志app_wdf_wren1寫數(shù)據(jù)使能app_af_wren1寫地址使能app_af_addr31地址線,無(wú)效的位寫1(建議)app_af_cmd3命令信號(hào),000為寫數(shù)據(jù),001為讀數(shù)據(jù)rd_data_fifo_out32數(shù)據(jù)輸出端口app_wdf_data32寫數(shù)據(jù)時(shí)的數(shù)據(jù)輸入線app_wdf_mask_data4寫入數(shù)據(jù)時(shí)的數(shù)據(jù)屏蔽信號(hào)寫時(shí)序分析此圖中的寫數(shù)據(jù)是4突發(fā)連續(xù)寫rst0_tb,1DDR2DDR2DDR2在復(fù)位無(wú)效并且phy_init_done為高的狀況下,進(jìn)展突發(fā)寫數(shù)據(jù)。以需要寫兩次數(shù)據(jù),即圖中所示的D1D0,D3D240,4,8,12...讀時(shí)序分析在不斷寫入地址的過(guò)程中,數(shù)據(jù)會(huì)在rd_data_valid拉高的時(shí)候通過(guò)rd_data_fifo_outrd_data_fifo_out4頂層模塊設(shè)計(jì)DDR2PLLDDR2為讀寫模塊供給數(shù)據(jù)與地址。DDR2sys_clk,idly_clk_200,這兩上200M,使用鎖相環(huán)生。DDR2DDR2DDR2IBUFGBUFG。程序測(cè)試及程序改進(jìn)方案最開(kāi)頭程序依據(jù)讀寫時(shí)序圖寫入四個(gè)地址,8321clk0_tbclk0_tb在低電尋常,數(shù)據(jù)穩(wěn)定下來(lái)。結(jié)果如以以下圖所示:1:在clk0_tb1,改進(jìn)程序中結(jié)果如以以下圖所示:clk0_tbdata_fifo_out_nclk0_tb獵取的數(shù)據(jù)過(guò)程中是先寫地址,數(shù)據(jù)是隨著rd_data_valid變?yōu)楦吆螅瑪?shù)據(jù)從rd_data_fifo_out中輸出,所以將讀寫模塊中讀局部只是寫入地址,讀數(shù)據(jù)在64鐘下降沿獵取rd_data_fifo_out中的值,名稱為data_fifo_out_n,其次次,data_fifo_ndata_fifo_p_ff1data_fifo_p_ff1測(cè)試過(guò)程中消滅問(wèn)題及分析問(wèn)題1:編譯失敗,鎖相環(huán)消滅問(wèn)題。IP環(huán)之間的時(shí)鐘連接有問(wèn)題。DDR2IPIBUFGBUFG.結(jié)果:可以編譯通過(guò)。問(wèn)題2:phy_init_done未變高。解決方法:查看原理圖,修改引腳安排。結(jié)果:phy_init_done拉高。心得與體會(huì)地址:1613,bank3(10(13bank(3DDR2DDR2160地址重開(kāi)頭讀。從這里可以看出,DDR216app_af_addr16pyh_init_doneapp_af_addr+bank數(shù)據(jù):DDR21632在向DDR2中寫入數(shù)據(jù)時(shí),在時(shí)鐘的上升沿與下降沿都會(huì)寫入數(shù)據(jù)。232416數(shù)據(jù)。讀數(shù)據(jù):在讀數(shù)據(jù)之前,需要寫入地址與命令。rd_data_fifo_out數(shù)據(jù)即可。讀到的數(shù)據(jù)可能不穩(wěn)定,此時(shí)需要做一些處理。DDR21chipscopechipscopechipscope的觸發(fā)器,查看確定范圍的數(shù)據(jù),結(jié)果數(shù)據(jù)正常。以上的驗(yàn)證手段不能夠完全證明數(shù)據(jù)是正常的。321616161,16結(jié)果為20232h,那么就可以證明讀回的數(shù)據(jù)是連續(xù)的。這樣的話就可以證明讀回的數(shù)據(jù)是正常的。3DDR2常。消滅問(wèn)題:使用其次種

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論