上堂課講到了測試函數(shù)的內(nèi)容,如何測試呢?要通過寫測試文件來檢驗函數(shù)的正確與否。這樣的方法不僅在MATLAB中有效,對于c、verilog等語言都有效。
一起來學(xué)習(xí)測試程序吧。真正的干貨!本程序還附帶了字節(jié)轉(zhuǎn)換的內(nèi)容。
為什么有這段?當(dāng)年在研發(fā)衛(wèi)星地球站的時候,需要和ARM中的結(jié)果進(jìn)行比對。于是留下了這段代碼!
%*********** 函數(shù)測試程序 ************%
%%%% File: test_function_crc_itu.m %%%%
%% date: 2010-04-07 author: 算法工匠 %%
%%% 程序說明
% 測試函數(shù)function_crc_itu結(jié)果和存儲表法是否一致。
% 函數(shù)按照ITU定義的生成多項式 G(x) = x^16 + x^12 + x^5 + 1
%%********** 程序主體 **********%%
data_binary = randint(1,100);
% 矩陣運(yùn)算函數(shù)
crc_result = function_crc_itu(data_binary);
% 比特運(yùn)算函數(shù)
crc_result1 = function_crc_itu_v1(data_binary);
% 用于查表法計算的等效檢驗。
% 在計算機(jī)中使用字節(jié)的概念。
%%%%% 字節(jié)轉(zhuǎn)換
for i = 1:length(data_binary)/4
% 高位進(jìn)寄存器
data_16(i) = 2^3*data_binary((i-1)*4+1) + 2^2*data_binary((i-1)*4+2) + 2*data_binary((i-1)*4+3) + data_binary((i-1)*4+4) ;
end
for i = 1:4
% 寄存器0是高位
result_16(i) = 2^3*crc_result((i-1)*4+1) + 2^2*crc_result((i-1)*4+2) + 2*crc_result((i-1)*4+3) + crc_result((i-1)*4+4) ;
end
%%%% 文本存儲
data_hex = dec2hex(data_16);
fid = fopen('data_hex.txt', 'wt');
fprintf(fid, '%s ', data_hex);
fclose(fid);
result_hex = dec2hex(result_16);
fid = fopen('result_hex.txt', 'wt');
fprintf(fid, '%s ', result_hex);
fclose(fid);
%%% 結(jié)論
% 測試結(jié)果表明函數(shù)正確。
% function_crc_itu_v1適合在FPGA中使用。
% 2016-11-17
本程序中測試的函數(shù)不是上堂課給出的CRC生成函數(shù),需要同學(xué)們自己改動相關(guān)語句來完成上堂課所寫的函數(shù)的測試。自己動手,豐衣足食。不能老是靠老師扶著走。調(diào)完程序后還要干什么呢?寫報告。軟件測試報告或者仿真報告是必須要寫的。
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5435瀏覽量
124607 -
ITU
+關(guān)注
關(guān)注
1文章
26瀏覽量
15049 -
Verilog語言
+關(guān)注
關(guān)注
0文章
113瀏覽量
8561
原文標(biāo)題:計算機(jī)通信與網(wǎng)絡(luò)v2 實驗課程(6)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
C語言main函數(shù)的正確寫法

請問像CPU、DMA、HTU的MPU功能,有沒有什么人為加入故障的方法來測試一下MPU功能的好用與否呢?
STM32F407VET6驅(qū)動LCD1602顯示,通過usmart測試函數(shù)執(zhí)行
為什么使用printf()函數(shù)去調(diào)試STM32串口卻無法接收正確數(shù)據(jù)呢
如何對printf()函數(shù)或scanf()函數(shù)進(jìn)行重定向呢
Finsh自定義命令測試完循環(huán)執(zhí)行的函數(shù)后能夠退出回到終端界面嗎
函數(shù)信號的產(chǎn)生與測試

Linux內(nèi)核模塊間函數(shù)調(diào)用正確方法
WINCC使用系統(tǒng)函數(shù)和運(yùn)行系統(tǒng)腳本

德索fakra連接器怎么測試才能知道它穩(wěn)定與否

評論