本原創(chuàng)文章由深圳市小眼睛科技有限公司創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處
適用于板卡型號:
紫光同創(chuàng)PGL50H開發(fā)平臺(盤古50K開發(fā)板)
一:軟硬件平臺
軟件平臺:PDS_2022.1
硬件平臺:小眼睛科技盤古50K開發(fā)板
二:IP介紹
紫光同創(chuàng)的HMIC_S IP只支持DDR3,IP頂層使用了精簡的 AXI4 總線接口,最大支持32bit的數(shù)據(jù)位寬。IP的一次讀寫操作是burst地址8,選擇32bit數(shù)據(jù)位寬下的IP數(shù)據(jù)接口位寬是32*8=256bit。
三:IP接口
如圖所示,整個IP包括Simplified AXI4 接口、Config接口,還有物理接口。物理接口是連接片外DDR3的接口;Config接口為APB配置接口,通過該接口,用戶可讀取 DDR SDRAM 的狀態(tài),實現(xiàn)低功耗和MRS的控制;Simplified AXI4 接口包括寫地址通道、讀地址通道、寫數(shù)據(jù)通道和讀數(shù)據(jù)通道四個部分。具體可參考紫光IP Compiler下的DDR使用手冊。
四:IP核參數(shù)配置
由于開發(fā)板外接了兩塊16bit數(shù)據(jù)位寬的DDR3,所以總數(shù)據(jù)位寬需要選擇32;
因開發(fā)板的DDR3型號與默認項一致,step2不需要更改配置;
由于開發(fā)板的DDR3的控制/地址信號與默認項不一致,所以需要根據(jù)實際開發(fā)板的接口來自定義相關(guān)配置,最簡單的方法復(fù)制一份有DDR3的開發(fā)板例程中fdc,勾選Enable fdc file select,導(dǎo)入fdc文件,DDR3的相關(guān)配置便會自動更改,而不需要手動一個一個更改。
五:測試讀寫邏輯
自增計數(shù)對DDR所有地址寫一遍,寫完后對所有地址讀一遍,讀出來的數(shù)據(jù)與寫進去的數(shù)據(jù)做一個比較,比較錯誤則產(chǎn)生一個錯誤標志error_flag,error_flag接到LED1。
六:測試結(jié)果
如圖所示,LED1為ddr3_init_done 的心跳燈,會以1s切換一次狀態(tài);LED2為error_flag指示燈,DDR3讀寫正確error_flag保持熄滅狀態(tài);LED3為寫完成指示燈;LED4為讀完成指示燈。
如圖所示,為寫DDR的時序圖,當(dāng)awvalid 和awready信號同時置1時,寫地址發(fā)生傳輸。當(dāng)wready信號置1時,數(shù)據(jù)發(fā)生傳輸,wusero_last信號為寫數(shù)據(jù)最后一個標志。
如圖所示,為讀DDR的時序圖,當(dāng)arvalid和arready信號置1時,讀地址發(fā)生傳輸。當(dāng)rvalid信號置1時,代表讀數(shù)據(jù)有效,rlast信號為讀數(shù)據(jù)最后一個標志。
文章來源:http://www.zghlxwxcb.cn/news/detail-741690.html
注意,IP的用戶接口交互時鐘是IP內(nèi)部產(chǎn)生的100MHz,且不能配置更改。Debugger中waveform的刻度與信號是不對齊的,且有時候不容易看出信號有效周期是多少,在調(diào)試時可以在Debugger中的設(shè)置里的waveform里選擇Pulse Width,且在Hardware Parameter里設(shè)置對應(yīng)的采樣時鐘頻率,這樣可以幫助我們更容易分析單bit信號的正確性。文章來源地址http://www.zghlxwxcb.cn/news/detail-741690.html
到了這里,關(guān)于在紫光同創(chuàng)盤古50K開發(fā)板上進行DDR讀寫測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!