基于MATLAB在FPGA 算法上浮點定點轉換的實現(xiàn)
本文引用地址:http://www.biyoush.com/article/151252.htm
一旦您解決了任何上溢出和下溢出問題,該定點模型的細化改進將更加依賴于可視化。如果另外的定點數(shù)據(jù)誤差繼續(xù)存在,那么您必須分析常量的作用。否則,您可以通過減小變量位寬來繼續(xù)細化改進硬件的過程。在兩種情況下,知道因某個特定變量的量化而引起的定點誤差,在細化改進過程中都是一個有用的幫助。
定點可視化
根據(jù)一組給定的數(shù)據(jù)集確定一個算法的合適定點響應,通常不是一種精確的科學行為。您常常不得不在數(shù)值精度方面做出一些折衷,以提高硬件效率。這一過程高度反復,且緊密耦合至繪圖中所示定點效應的可視分析。但是,在一個輸出信號上觀測到不可接受的 SNR,并不總是表示那里錯誤地指定了一個量化值。對此,必須進行進一步的分析。
為了幫助進行這一過程,AccelDSP Synthesis 綜合工具的 AccelProbe 工具以圖形方式對一個給定仿真期間的任何變量的浮點和定點值進行了比較(圖 9)。如果您使用的是 AccelProbe,您會迅速體會到特定變量的貢獻使最終結果的誤差累積的過程。您可以通過在 MATLAB 源碼中增加語句 “accel_probe(variable_name)”,來“探查”一個變量。
“定點歷史”圖可以讓您感知一個變量在仿真期間可能遇到的頻繁程度。如果一個值很少出現(xiàn),則需要用以在動態(tài)范圍內(nèi)的高端或低端存儲該值的附加硬件可能具有很小的值。
結論
當創(chuàng)建一個 DSP 算法的數(shù)學模型時,MATLAB 是天然之選,且出于硬件考慮,可以無阻礙地使用。將一個算法轉換為在 FPGA 上實現(xiàn)的定點模型是一個復雜的、可從 AccelDSP Synthesis 綜合工具提供的自動化、加速和可視化功能中大大受益的過程。
評論