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