我們常說一句話:工欲善其事,必先利其器。
作為一名FPGA工程師,我們的任務就是把某些特定的邏輯行為雕刻到FPGA芯片上,通過設計邏輯電路達到預期目的。
FPGA的兩個擅長領域:信號處理與高速接口。在產業界,企業也根據不同的應用需求,招聘從事信號處理或高速接口方向的工程師。
我們都很清楚,FPGA作為一種現場可編程芯片,高度靈活的設計實現,使得產品周期大大縮短,在產品形成批量投入市場前具有先天優勢。
在接口方面,常用的有:CPRI、PCIe、GTH、Ethernet、SATA、DDR、Aurora、JESD204、I2C、SPI、UART等,在無線通信、圖像、數據中心等領域到廣泛使用。
例如,CPRI,我們可以去下載相應的規范進行了解。
前面寫過的文章連接:《無線高速接口:什么是CPRI?》
大部分接口均由行業標準規范限定,以便于實現設備之間互聯。部分特殊接口以某些廠家特定提供,適配指定的芯片及型號。
同時,我們利用FPGA內部豐富的LUT、DSP、RAM等資源,可以實現大規模復雜的系統設計。
人盡其才,物盡其用。FPGA適合拿來做流水和并行處理,因此大部分的數字信號處理都可以通過FPGA來實現。
對于數字信號處理,大部分集中在無線通信和圖像處理領域,根據行業相關標準和工程需求,制定相應的信號處理過程和實現方案。
信號處理過程,即為算法鏈路的設計,需考慮整個系統的功能需求。算法人員根據功能需求進行算法設計,并將經仿真驗證的算法提供給邏輯實現人員進行硬件電路實現。
FPGA工程師的主要任務,就是進行相應的邏輯實現和接口開發。但同時應該看到,從職業生涯成長角度看,我們既需要熟悉常用接口的應用,掌握邏輯實現方法和技巧,而算法設計也必不可少。
前面,我們探討過提升FPGA工程師的核心競爭力,掌握基本功和設計方法學,極為重要。
對于接口和具體鏈路模塊設計,我們只有通過具體的實踐過程獲取經驗,同時了解相應的標準和規范,也大有益處。
然而,對于相關的信號處理過程,特別是涉及算法,我們怎樣去比較深入的學習和實踐呢?
我們知道MATLAB是一款工科神器,用于數據分析、無線通信、深度學習、圖像處理與計算機視覺、信號處理、量化金融與風險管理、機器人,控制系統等領域。
因此,我們可以根據這一常用的數學軟件,進行持續性學習。
MATLAB應用領域
隨著MATLAB的功能越來越強大,以至于美國為了制裁國內某些高校,禁止其使用MATLAB軟件。國內目前尚無相關產品,能夠替代MATLAB的強大能力。
不可否認的是,MATLAB確實為推動產業進步做出了巨大貢獻。
當前常用的MATLAB版本有:
最新的MATLAB版本為R2021b,是R2021a的更新版,主要在激光雷達、RF PCB、信號完整性等方面進行更新和添加。
如果我們想學習關于數學統計、深度學習、信號處理、無線通信、圖像處理、SOC開發、驗證測試、圖形仿真等方面的MATLAB實現,加深對相關技術的掌握程度,那么我們可以通過訪問下面的網站:
https://ww2.mathworks.cn/help/ (點擊閱讀原文,跳轉至該網站)
例如,我們可通過Deep Learning Toolbox,基于MATLAB軟件設計、訓練和分析深度學習網絡。
此外,作為MATLAB的重要應用,信號處理與無線通信自然也是必不可少的重要一環。
例如5G 、LTE、天線、相控陣、雷達、射頻、衛星通信、信號完整性、WLAN等業界技術熱點,具有相應的Toolbox,提供相關的設計方案和Demo,加快應用部署。
同樣地,在圖像處理和計算機視覺領域,我們可以獲取相應的Toolbox進行設計和開發。
若對FPGA、ASIC和SoC方向感興趣,我們可以通過以下的Toolbox進行濾波器設計、定點化、HDL源碼設計等,大幅度提高生產力。
其他應用在此不一一例舉,我們希望可以通過一些公開的資源和平臺,提升自己的硬實力,并獲得相應的回報。
FPGA工程師相比于IC設計工程師,可能會承擔更多的工作項,除了都非常關心具體設計實現、時序約束和資源利用等因素外,我們還需要了解系統級設計方法、架構設計、系統調試和相關的算法知識。
-
FPGA
+關注
關注
1626文章
21671瀏覽量
601902 -
現場可編程
+關注
關注
0文章
4瀏覽量
5953
原文標題:FPGA工程師如何提升自己的算法能力?
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論