float資料傳輸時可能有些小誤差,屬於正常現象。
#include
#include
"platform.h"
#include
"xparameters.h"
#include
"xil_printf.h"
#include
"xil_cache.h"
#include
"xtest.h"
intmain()
printf
("initialize the device\n");
int status=
xtest_cfginitialize
(&hlsconv,exampleptr);if
(status!=xst_success)
/* int status=xtest_initialize(&hlsconv, xpar_test_0_device_id);
if(status!=xst_success)
*/xil_dcacheflushrange
((u32)a,50*
sizeof
(float))
;// cache
xil_dcacheflushrange
((u32)b,50*
sizeof
(float))
;xtest_set_a
(&hlsconv,
(u32)a)
;// 關聯
xtest_set_b
(&hlsconv,
(u32)b)
;xtest_start
(&hlsconv)
;// start
while
(xtest_isdone
(&hlsconv)==0
);// done
xil_dcacheinvalidaterange
((u32)b,50*
sizeof
(float))
;for
(int i=
0;i<
50;i++
)printf
("%f\n"
,b[i]);
print
("hello world\n\r");
cleanup_platform()
;return0;
}
執行結果:有點小bug
xtest_lookupconfig和xtest_cfginitialize,前兩個資料出錯,出錯資料一直相同,暫時懶得找原因了。
用xtest_initialize,前乙個資料出錯,出錯資料不變。
深入AXI4匯流排 五 AXI4的兄弟協議
知乎使用者ljgibbs授權 本系列我想深入探尋 axi4 匯流排。不過事情總是這樣,不能我說想深入就深入。當前我對 axi匯流排的理解尚談不上深入。但我希望通過一系列文章,讓讀者能和我一起深入探尋 axi4。宣告1 部分時序圖以及部分語句來自 arm amba 官方手冊 有的時候感覺手冊寫得太好了...
AXI4的IP的輸入配置
前面一篇驗證中驗證了axi中的data reg out是輸出快取器。這裡再引入乙個slv reg2作為slv reg1的輸入輸出配置暫存器。這裡先實現乙個簡單的功能 當slv reg2為16 hffff時,slv reg1作為輸入口,否則slv reg1作為輸出口 輸入輸出相對主機而言,方便區分 1...
AXI4設計重點002 易出錯的位址非對齊讀操作
1 axi讀操作 位址不對齊 以rdata axi mst位寬為128bit為例,如果master想讀取7dw 1dw為4byte 的資料,從位址0x4開始讀取,來自master埠的axi訊號如下所示,此時為位址非對齊的讀操作。此時master想讀取位址為0x4,0x8,0xc,0x10,0x14,...