在高速數(shù)據(jù)采集卡的設(shè)計(jì)過(guò)程中要涉及到對(duì)DDR2,、DDR3的讀寫(xiě)測(cè)試問(wèn)題,,在文即對(duì)測(cè)試過(guò)程做個(gè)小小的總線。
首先對(duì)生成的MIGDDR2的example中的源代碼進(jìn)行詳細(xì)的閱讀,,結(jié)合對(duì)sim文件中的sim.do進(jìn)行仿真,,從而能夠得到DDR2的時(shí)序控制。項(xiàng)目中的DDR2調(diào)用的是IP核,在手冊(cè)中給出了DDR2IP核的用戶的端口,。這些端口是用來(lái)進(jìn)行控制的,,從而避免了關(guān)注DDR2的內(nèi)部結(jié)構(gòu),這將大大簡(jiǎn)化對(duì)DDR2的控制難度,。
在編寫(xiě)DDR2的讀寫(xiě)測(cè)試代碼中,,遇到了一個(gè)問(wèn)題:
在仿真中發(fā)現(xiàn)app_af_addr端口給出的地址不能和寫(xiě)地址使能信號(hào)app_af_wren相匹配,在后的仿真中看到第8位傳輸?shù)刂分荒軅鬏斠话?,這就造成了讀寫(xiě)地址混亂的情況,。
起初的代碼如下:
always@(posedgeclk0)begin
if(!rst0)
begin
addr_cnt<=35'd0;
endelseif(addr_cnt==35'd7)
addr_cnt<=35'd0;
elseif(wr_addr_en)
addr_cnt<=addr_cnt+1'b1;
End
對(duì)于這個(gè)問(wèn)題考慮的角度是第8位地址數(shù)據(jù)在addr_cnt在系統(tǒng)時(shí)鐘clk0的上升沿到來(lái)之后,就會(huì)立刻將addr_cnt賦值為0,,并沒(méi)有等待wr_addr_en是否結(jié)束,。從而造成了后面地址混亂。解決的方法如下所示:
always@(posedgeclk0)begin
if(!rst0)
begin
addr_cnt<=35'd0;
endelseif(addr_cnt==35'd7&&wr_addr_en==1)
addr_cnt<=35'd0;
elseif(wr_addr_en)
addr_cnt<=addr_cnt+1'b1;
End
這樣就可以將addr_cnt和地址寫(xiě)使能wr_addr_en相匹配,,終得到正確的時(shí)序關(guān)系,。
造成這種問(wèn)題的原因:
在編程過(guò)程中對(duì)時(shí)鐘信號(hào)的整體把握有欠缺,應(yīng)該對(duì)整體的時(shí)序有清楚的把握,。
為了我們共同的目標(biāo)“做專業(yè)的高速數(shù)據(jù)采集廠商”而共同努力,!
關(guān)于坤馳科技:
坤馳科技是專注于高速數(shù)據(jù)采集與信號(hào)處理、高速數(shù)據(jù)存儲(chǔ)與記錄的高科技公司,。坤馳科技為用戶提供成熟的標(biāo)準(zhǔn)高速數(shù)據(jù)采集產(chǎn)品與技術(shù),,也可為用戶提供定制化的高速信號(hào)采集解決方案。目前坤馳科技服務(wù)過(guò)的研究所,、科研單位已達(dá)近百家,。高速數(shù)據(jù)采集產(chǎn)品線涵蓋PCIExpress、cPCI,、PXIe,、VPX、USB等總線,,包含高速AD,、DA平臺(tái)、FPGA,、DSP處理平臺(tái),,SATA/SSD、Flash存儲(chǔ)平臺(tái)等,。
全國(guó)咨詢電話:400-000-4026
公司官方網(wǎng)站:http://m.jtyykv.cn
官方微博:http://e.weibo.com/queentest
官方微信:queentest或掃描: