您現在的位置是:首頁 > 遊戲

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

由 Tronlong創龍科技 發表于 遊戲2022-09-25
簡介程式定義分子分母變數,並不斷修改分子分母大小,由CPU1核心喚醒CLA核心對分子分母共進行64次除法運算,然後透過CCS讀取程式變數值,以校驗CLA除法運算結果的正確性

匹配樣本是什麼

前 言

DSP(裸機)CLA演算法案例位於產品資料“4-軟體資料\Demo\DSP_Demo\Algorithm-demos\”路徑下。案例目錄說明如下表,其中bin目錄存放程式可執行檔案,src目錄存放案例工程原始檔。

表 1

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

本文件案例程式預設使用DSP為TMS320F28377D的核心板,透過TL-XDS200模擬器載入執行進行操作效果演示,測試板卡為TI C2000系列TMS320F2837xD雙核C28x 32位浮點DSP + 紫光同創Logos/Xilinx Spartan-6 FPGA設計的開發板。

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

cla_divide案例

案例說明

案例功能:演示CLA(Control Law Accelerators)核心的使用方法。

程式定義分子分母變數,並不斷修改分子分母大小,由CPU1核心喚醒CLA核心對分子分母共進行64次除法運算,然後透過CCS讀取程式變數值,以校驗CLA除法運算結果的正確性。

案例測試

請載入程式到CPU1核心執行。然後點選CCS的“View -> Expressions”,在彈出的Expressions視窗點選“Add new expression”依次新建g_pass、g_fail、g_div_val和g_div_expected程式變數。

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

圖 1

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

圖 2

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

圖 3

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

圖 4

表 2

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

g_div_val與g_div_expected數值一致,說明CLA除法運算結果正確。

關鍵程式碼

定義迴圈次數BUFFER_SIZE為64,且定義基於BUFFER_SIZE的除法運算正確值g_div_expected[BUFFER_SIZE]。

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

圖 5

在CLA_initCpu1Cla1函式中,註冊Task1的中斷服務函式為Cla1Task1,該函式在divide。cla檔案中已定義。當程式呼叫Cla1ForceTask1andWait函式時,將呼叫Cla1Task1進行運算。

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

圖 6

在Cla1Task1函式中讀取全域性變數Num和Den,進行除法運算,並將結果儲存至全域性變數Res中。

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

圖 7 src\divide。cla

在main函式中,分別進行裝置和CLA初始化。完成初始化後,將進行迴圈除法運算。初始化分子分母變數後,將喚醒CLA核心進行除法運算。BUFFER_SIZE = 64,則除法運算迴圈為:64/64、63/65、62/66、61/67…,分子迴圈減1,分母迴圈加1,直至迴圈結束。定義的g_div_expected數值透過預先計算得到,用於與CLA除法運算結果進行校驗。

基於TMS320F28377D開發板的DSP CLA演算法案例開發手冊

圖 8

推薦文章