最近本人一直在學(xué)習(xí)ZYNQ SOC的使用,目的是應(yīng)對科研需要,做出通用的算法驗證平臺。大概思想是:ZYNQ PS端負(fù)責(zé)與MATLAB等上位機數(shù)據(jù)分析與可視化軟件交互:既可傳輸數(shù)據(jù),也能通過上位機配置更新硬件算法模塊配置寄存器內(nèi)容,同時可計算分析PL端算法實現(xiàn)性能指標(biāo)。PL端的FPGA邏輯則負(fù)責(zé)算法的硬件實現(xiàn),以探索高效并行硬件架構(gòu)。為此本人后續(xù)會持續(xù)編寫《利用ZYNQ SOC快速打開算法驗證通路》系列專題博文,在各個階段進(jìn)行些基礎(chǔ)性總結(jié)。
MATLAB中數(shù)據(jù)為雙精度浮點型,因此打開算法驗證通路的第一步即為MATLAB中浮點數(shù)與定點二進(jìn)制補碼之間的相互轉(zhuǎn)換。在之前的博文:《FPGA與MATLAB數(shù)據(jù)交互高效率驗證算法——仿真階段》中提到過兩種數(shù)值表示方式之間的轉(zhuǎn)換,但為了便于testbench仿真,MATLAB寫和讀的文件均為txt文本文件。在算法板級驗證中,數(shù)據(jù)應(yīng)以未經(jīng)過ASCII碼編碼的二進(jìn)制數(shù)據(jù)方式被處理。這里涉及到MATLAB函數(shù)fscanf和fprintf以及函數(shù)fread和fwrite的區(qū)別,前兩個分別為讀和寫文本文件,后兩個則是讀寫二進(jìn)制文件。
以下給出浮點定點轉(zhuǎn)換以及讀寫二進(jìn)制文件代碼:

先看下寫出到文件的數(shù)據(jù)和從該該文件讀回的數(shù)據(jù)是否一致。

直接對比數(shù)據(jù)和命令檢測結(jié)果顯示兩者完全一致。再來對比下量化之前與讀回定點數(shù)經(jīng)過類型轉(zhuǎn)換后的浮點數(shù)。

MATLAB顯示兩者的差值。可見在浮點轉(zhuǎn)定點數(shù)時,會有一定的精度損失,但僅在10的負(fù)四次方數(shù)量級,在很多精度要求不高的場合下可以忽略。

現(xiàn)在利用Uedit軟件打開該文件,并以16進(jìn)制方式顯示:

我們用前兩個數(shù)據(jù)做驗證,依次是00_38和FF_2A。由于是補碼形式,故先寫成二進(jìn)制形式:0000_0000_0011_1000和1111_1111_0010_1010,再轉(zhuǎn)換為原碼:0000_0000_0011_1000和1000_0000_1101_0110,十進(jìn)制結(jié)果就是56和-240,與MATLAB中數(shù)據(jù)吻合。
非常簡單的東西困擾了我有一陣,希望對大家有幫助吧。因為算法驗證平臺僅是載體,最重要的是PL端的算法硬件實現(xiàn)部分。為了簡單快速形成算法驗證通路,采用網(wǎng)絡(luò)調(diào)試助手和W5500協(xié)議棧芯片實現(xiàn)MATLAB與ZYNQ之間的數(shù)據(jù)傳輸,從而避免寫上位機軟件和網(wǎng)絡(luò)協(xié)議先關(guān)設(shè)計配置帶來的工作量。這部分內(nèi)容在下篇博文中敘述。
編輯:hfy
-
matlab
+關(guān)注
關(guān)注
189文章
3028瀏覽量
239180 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
809瀏覽量
43184 -
浮點數(shù)
+關(guān)注
關(guān)注
0文章
62瀏覽量
16468
發(fā)布評論請先 登錄
SN系列4位二進(jìn)制全加器:快速進(jìn)位的高效之選
4位二進(jìn)制全加器:SN54/74系列的技術(shù)剖析與應(yīng)用指南
CD4089B:高性能CMOS二進(jìn)制速率乘法器的設(shè)計與應(yīng)用
74HC283 4位二進(jìn)制全加器:設(shè)計利器深度解析
CDx4HC283和CDx4HCT283:高速CMOS邏輯4位二進(jìn)制全加器的詳細(xì)解析
二進(jìn)制查找(Binary Search)介紹
固定點數(shù)運算案例的程序
使用VScode的PIO開發(fā)GD32VF103,但是串口無法打印浮點數(shù)怎么解決?
定點數(shù)表示實數(shù)的方法以及定點數(shù)在硬件上的運算驗證
浮點指令(三)
浮點數(shù)是如何實現(xiàn)開平方運算的
(九)浮點乘法指令設(shè)計
大彩講堂:VisualHMI-LUA教程-獲取設(shè)置單精度浮點數(shù)函數(shù)的應(yīng)用
二進(jìn)制數(shù)據(jù)處理方法分享
FPGA定點和浮點數(shù)學(xué)運算實例對比
MATLAB浮點數(shù)與定點二進(jìn)制補碼互轉(zhuǎn)算法驗證方案
評論