利用ZYNQ驗證算法的一大優(yōu)勢在于,可以在上位機發(fā)送指令借助CPU的控制能力和C語言易開發(fā)特點,實時配置算法模塊的工作模式、參數(shù)等對來對其算法模塊性能進行全面的評估。最重要的是無需重新綜合硬件模塊。
接著上篇該系列博文,在sysGen中設(shè)計模塊功能為:根據(jù)模式選擇輸入,來完成乘2或除2兩種運算,0乘1除。
測試激勵選用From Workspace模塊,從MATLAB工作空間導入數(shù)據(jù)。利用MALTAB腳本可以非常容易地生成任意數(shù)據(jù)集,極大體現(xiàn)了sysGen開發(fā)的優(yōu)勢。
設(shè)計完成調(diào)用xilinx waveform viewer,兩種運算行為仿真波形如下:
功能驗證無誤,關(guān)鍵的一點是讓mode端口以AXI總線形式傳遞數(shù)據(jù)。
現(xiàn)在將sysGen算法子系統(tǒng)生成IP核,并導出到IP Integrator中作為CPU外設(shè)。
可以看到multi_div_constant模塊多出一個multi_div_constant_s_axi總線接口集。該接口遵循AXI-Lite總線規(guī)則,用于配置IP核內(nèi)部控制寄存器。硬件系統(tǒng)設(shè)計完畢,導出硬件啟動SDK。當新建工程后,能看到AXI總線驅(qū)動自動添加進來了。
multi_div_constant_hw.h內(nèi)部為AXI-Lite總線寄存器地址,multi_div_constant.c內(nèi)是驅(qū)動函數(shù)的具體實現(xiàn)。
C代碼對算法模塊進行板級驗證:
啟動Debug,點擊運行查看軟件運行結(jié)果和AXI-Stream總線時序波形。
SDK中串口打印結(jié)果及Memory窗口查看DDR接收緩存絕對地址。
正確啟動了兩次DMA環(huán)回傳輸,第一次算法模塊工作在乘2模式,第二次則除2.C代碼中測試返回數(shù)據(jù)與生成測試數(shù)據(jù)關(guān)系無誤,DDR絕對地址數(shù)據(jù)也別正確更新。
編輯:hfy
-
寄存器
+關(guān)注
關(guān)注
31文章
5295瀏覽量
119838 -
cpu
+關(guān)注
關(guān)注
68文章
10807瀏覽量
210855 -
Xilinx
+關(guān)注
關(guān)注
71文章
2155瀏覽量
120856 -
AXI總線
+關(guān)注
關(guān)注
0文章
66瀏覽量
14244 -
Zynq
+關(guān)注
關(guān)注
9文章
607瀏覽量
47101
發(fā)布評論請先 登錄
相關(guān)推薦
評論