背景:已經輸出IPcore爲RTL,現在需要將相應的IPcore集成爲系統並生成相應驅動。
目的:集成IPcore爲系統,並生成驅動。
參考相關文檔:
IPcore調用DDR https://blog.csdn.net/weixin_36474809/article/details/84942607
ARM調用DDR https://blog.csdn.net/weixin_36474809/article/details/80997945
FPGA vivado系統集成操作 https://blog.csdn.net/weixin_36474809/article/details/80690368
FPGA實踐教程(三)系統搭建與燒錄 https://blog.csdn.net/weixin_36474809/article/details/80840448
一、系統集成範例
1.1 zynqNet的系統集成
p65系統集成
zynqNet的IPcore可能爲了節省資源,並未採用Mig來控制DDR,而是通過PS與DDR相連。多生成了一個DRAM的驅動。相關方法我們編寫SDK驅動時研究,爲了節省硬件資源,我們暫時採用這種方法。
volatile data_t *XFPGA_shared_DRAM_virtual() {
printf("XFPGA Driver: SHARED_DRAM_virtual() = %X\n", (unsigned long)(SHARED_DRAM_virtual()));
return (volatile data_t*) (SHARED_DRAM_virtual());
}
volatile data_t *XFPGA_shared_DRAM_physical() {
printf("XFPGA Driver: SHARED_DRAM_physical() = %X\n", (unsigned long)(SHARED_DRAM_physical()));
return (volatile data_t*) (SHARED_DRAM_physical());
}
1.2 之前調用DDR的流程
之前的流程都運用到了MIG內存控制器。我們可能要捨棄掉MIG,減少資源的佔用。
IPcore調用DDR https://blog.csdn.net/weixin_36474809/article/details/84942607
ARM調用DDR https://blog.csdn.net/weixin_36474809/article/details/80997945
二、系統集成
流程及軟件操作需要參考下面文檔。
FPGA vivado系統集成操作 https://blog.csdn.net/weixin_36474809/article/details/80690368
FPGA實踐教程(三)系統搭建與燒錄 https://blog.csdn.net/weixin_36474809/article/details/80840448
FPGA實踐教程(五)PS用MIG調用DDR https://blog.csdn.net/weixin_36474809/article/details/80997945#%E4%B8%89%E3%80%81%E5%AE%9A%E5%88%B6processing%20system
2.1 配置PS
PS配置之後可以保存下來,以便以後反覆調用使用。加入外設DDR,FIXED_IO
勾選zedBoard,axi-master GP0,s_axi HP0
2.2 添加IP
自動連接。
validate,create HDL wrapper,generate bitstream