VIVADO MICROBLAZE K7 ADMA用法步驟

1、新建工程,選擇正確的芯片,新建bd工程。
2、點擊添加ip,加入microblaze模塊,點擊自動連接模塊。添加常數模塊,將復位模塊的兩個復位引腳連接。
在這裏插入圖片描述
對clk_wiz模塊進行修改,修改爲自己板卡硬件的時鐘輸入頻率。如果有外接復位引腳則引出,無則取消。
3、添加DDR3模塊,添加mig 7。雙擊進行設置,(下列圖中對設置的修改也做截圖,未截圖爲默認配置)
在這裏插入圖片描述
說明:
(1)、確定DDR接口時鐘需要根據
a、DDR所選型號,
b、外部接口時鐘,
c、VCCAUX_IO硬件實際所接電平,當接口速率不同時,電壓也不同。2.0時,約束爲HIGH,1.8V 約束爲normal。
(2)、根據實際硬件PCB中VCCAUX_IO所接電平,雖然不可更改,但是根據(1)中速率的不同,電平也不同。
(3)、選擇ddr型號。
(4)、實際中PCB的數據位寬。
4、在這裏插入圖片描述
說明:
(1)根據片外晶振,選擇時鐘頻率,這個和3中接口時鐘頻率有關。
(2)同時該模塊可以輸出5個自定義的時鐘,在這裏我未到。
5、在這裏插入圖片描述
說明:選擇use system clock。
6、在這裏插入圖片描述
說明:
(1)、根據硬件PCB使能是否級聯,因爲我用了四片DDR,64位,橫跨32 33 34 bank,所以使能級聯,當不選擇級聯時,會發生錯誤,同時,在約束文件中,加上set_property DCI_CASCADE {32 34} [get_iobanks 33]。
(2)、匹配電阻,選擇40。
7、在這裏插入圖片描述
說明:如果是自己畫的電路圖,自定義的引腳,選擇固定引腳選項,根據PCB將引腳映射完成。
8、在這裏插入圖片描述
說明:約束文件中,當實際的VCCAUX_IO爲2.0v時,VCCAUX_IO = HIGN, 當實際的VCCAUX_IO爲1.8v時,VCCAUX_IO = NORMAL ,這個如果不對應不清楚會不會發生問題,當時因爲別的問題改過這裏,後來一直按照正確的測試。
9、點擊生成。
10、點擊自動連接。
11、將差分時鐘和DDR3接口引出,加上uart模塊,uart波特率設置爲115200。下圖是,完成後的連接工程。
在這裏插入圖片描述
12、添加adma模塊。
在這裏插入圖片描述
13、添加FIFO模塊
在這裏插入圖片描述
說明:模塊中,主要使能tlast信號。
14、對模塊進行連接,下圖是連接完成後的工程。
在這裏插入圖片描述
15、由於adma模塊是有中斷信號控制的,所以要加入中斷模塊,添加axi interrupt controller 和 xlconcat模塊,連接後的工程如下圖。
在這裏插入圖片描述
16、至此,工程搭建結束。綜合,約束個別iob,生成bit文件,導入sdk hdf文件。約束文件如下圖所示。
在這裏插入圖片描述
17、增加約束文件DEBUG,把此文件作爲目標文件,即以後對約束文件所作的修改均在此文件生效。設置debug信號,抓取adma的四個數據通道,或者說抓取你感興趣的信號。
18、在SDK中新建xilinx工程,在mss中選擇adma的例程,
在這裏插入圖片描述
19、選中工程後,點擊debug。
20、點擊run,可在串口助手中打印測試成功。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章