FPGA系統(tǒng)工程師需要學習的基礎知識
什么是FPGA系統(tǒng)?大家常說FPGA,那FPGA系統(tǒng)工程師需要學習哪些知識呢,這些你會嗎?
1、數(shù)字電路基礎,做FPGA一定要有數(shù)字硬件的概念。FPGA是硬件設計,而不是軟件設計,首先要有這個概念
2、硬件描述語言,Verilog或VHDL,推薦Verilog
3、主流廠家的芯片底層結構,如Logic Cell、DSP Block、時鐘、IO單元等
4、EDA工具的使用,如主流廠家的集成編譯環(huán)境(Quartus II、Vivado等)、仿真軟件(ModelSim等)的使用
5、熟悉FPGA設計流程(仿真,綜合,布局布線,時序分析)。
6、熟練掌握資源估算(特別是slice,lut,ram等資源的估算)。
7、同步設計原理。
一個合格的FPGA工程師至少在以下三個方面的一個非常熟悉:
1.嵌入式應用??2.DSP應用??3.高速收發(fā)器應用
擴展資料:
FPGA工程師的核心競爭力
1、RTL設計實現(xiàn)能力。也是算法實現(xiàn)能力,RTL實現(xiàn)是FPGA工程師或者說HDL開發(fā)人員的入門首先接觸到的東西;
2、硬件調試能力。包括問題定位分析能力和系統(tǒng)調試能力,F(xiàn)PGA工程師真正的核心競爭力,因為這不僅僅需要經驗的積累,同時還需要很好的邏輯思維和分析能力。
另外一方面是整個硬件軟件系統(tǒng)層次的調試能力,要看得懂原理圖PCB,懂硬件,了解軟件接口,現(xiàn)在FPGA越來越講究HardwareSoftwareCo-design,軟件硬件這個系統(tǒng)層次的調試能力對人的要求更加高。
3、更加高層次的能力。還是系統(tǒng)層次的東西。算法和架構,怎樣將一系列數(shù)學公式,轉換為算法,在最終形成系統(tǒng)硬件的實現(xiàn);
整個系統(tǒng)采用什么樣的架構,純FPGA,arm+FPGA,DSP+FPGA,SOC+FPGA;FPGA頂層采用什么架構,通用總線還是自定義總線,如何考慮通用性和可擴展性等等,再大至什么樣的應用適合用FPGA實現(xiàn)。
什么樣的問題適合軟件實現(xiàn),怎樣的組合能更加低成本高效率的解決問題,這一些列問題涉及的東西有很多,基本上都是以FPGA為核心做開發(fā)要面臨的問題,其實其他平臺的硬件、軟件產品都是類似,系統(tǒng)層面的問題都是復雜的問題,同時,從系統(tǒng)層面去優(yōu)化,解決問題才是最高效率的方式。以上就是FPGA系統(tǒng)工程師需要學習的基礎知識,希望能給大家?guī)椭?