免费观看黄a一级视频_一级毛片看看_亚洲AⅤ无码日韩AV无码网站_国产未成满18禁止_亚洲无码免费网站_午夜影院播放版_97亚洲精品国偷自产在_国产毛片一区二区三区va在线_久久www免费人成人片_成人网欧美在线视频

/ EN
13922884048

技術交流

Technology Exchange
/
/

FPGA進階篇

發(fā)布時間:2024-07-24作者來源:薩科微瀏覽:1229

本篇為之前“FPGA基礎篇”姊妹篇

1. 硬件描述語言——Verilog + VHDL

首先,要掌握數(shù)字電路原理。學習數(shù)字電路原理是邁出的[敏感詞]步。在掌握數(shù)字電路原理之前,必須先了解基礎知識。然后,你可以選擇學習Verilog或者VHDL。如果你已經(jīng)掌握了C語言基礎,建議選擇VHDL。因為Verilog與C語言相似度較高,容易混淆,最終會發(fā)現(xiàn)自己花費了很多時間去區(qū)分這兩種語言,而不是學習如何使用它們。當然,你也可以選擇Verilog,畢竟Verilog的應用比較廣泛。

接下來,找到一個示例來復制代碼。復制代碼的目的是熟悉語法規(guī)則和編譯器。然后模仿編寫,并最終在不閱讀書籍的情況下編寫代碼。編譯代碼后,打開RTL圖表,看看出了什么樣的電路。

HDL是一種硬件描述語言,突出了硬件作為特點,所以要以數(shù)字電路的思維來思考HDL,而不是使用C或其他高級語言。

圖片

2. 獨立完成小型和中型數(shù)字電路設計

現(xiàn)在,你可以設計一些數(shù)字電路,比如電子吉他、交通信號燈、DDS等。在這個階段,你要做的只是根據(jù)規(guī)范要求或時序圖,在HDL中設計電路以實現(xiàn)它。你需要一個開發(fā)板,在掌握HDL之前不需要購買開發(fā)板。你不用每次編譯通過都下載代碼,我們使用ModelSim仿真。如果仿真不能通過,那就沒有必要下載。在這里首先掌握簡單的測試臺就可以了。

3、掌握設計方法和設計原則

到這里你會發(fā)現(xiàn),你的電路雖然是正確的,但會提示很多警告。這時候,你需要學會同步設計原則,優(yōu)化電路,無論是優(yōu)先速度還是優(yōu)先面積,時鐘樹應該如何設計,如何同步兩個異頻時鐘等等。學會加快編譯、靜態(tài)時序分析、嵌入式邏輯分析器是必須的。如果有不理解的地方可以暫時跳過,因為這部分也需要足夠的練習,才能有更深的理解。

4、學會提高開發(fā)效率

因為Quartus和ISE編輯器功能較弱,影響了開發(fā)效率。因此建議使用Sublime文本編輯器中的代碼片段功能,減少重復工作。ModelSim也是一種常見的仿真工具,學習TCL/TK編寫自己的DO文件使仿真自動化。你可能會手動備份你的代碼,但專業(yè)人士使用版本控制器,所以掌握GIT以提高效率是很重要的。文件比較工具Beyond Compare也是一種比較常見的工具。此外,你還可以使用System Verilog代替測試臺,這樣會更加高效。如果你正在做IC驗證,你必須掌握System Verilog和驗證方法論(UVM)。

圖片

掌握了TCL/TK之后,你可以學習虛擬JTAG(ISE也有類似的工具),制作自己的調(diào)試工具。另外,如果有時間,[敏感詞]學習一些Python腳本,這樣可以一勞永逸。

5、加強理論基礎

此時,你已經(jīng)可以使用FPGA了,但仍有許多事情做不到(例如FIR濾波器、PID算法、OFDM等),因為理論學得不夠扎實。我們將大致分成幾個方向供你參考,然后跟隨理論課來掌握。

1、信號處理——信號與系統(tǒng)、數(shù)字信號處理、數(shù)字圖像處理、現(xiàn)代數(shù)字信號處理、盲信號處理、自適應濾波器原理、雷達信號處理。

2、接口應用——UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太網(wǎng)接口)、SATA、光纖、DisplayPort。

3、無線通信——信號與系統(tǒng)、數(shù)字信號處理、通信原理、移動通信基礎、隨機過程、信息論與編碼。

4、CPU設計——計算機組成原理、微控制器、計算機體系結構、編譯原理。

5、儀器儀表——模擬電子學、高頻電子電路、電子測量技術、智能儀器原理與應用。

6、控制系統(tǒng)——自動控制原理、現(xiàn)代控制理論、過程控制工程、模糊控制器理論與應用。

7、壓縮、編碼、加密——數(shù)論、抽象代數(shù)、現(xiàn)代編碼技術、信息論與編碼、數(shù)據(jù)壓縮簡介、應用密碼學、音頻信息處理技術、數(shù)字視頻編碼技術原理。

現(xiàn)在你會發(fā)現(xiàn),原來FPGA涉及這么多知識,你可以選擇一個感興趣的方向,但工作可能會涉及到幾個方向的知識,所以理論學得越多越好。

6、學會使用MATLAB仿真

在設計FPGA算法時,多少會用到MATLAB,也可以起到輔助FPGA視覺算法硬件化,比如CRC的系數(shù)矩陣、數(shù)字濾波器系數(shù)、各種表格和文本處理等。此外,MATLAB還可以用于調(diào)試HDL,通過將MATLAB的計算結果與HDL逐步計算進行對比,你可以知道哪里出了問題。

圖片

7、充分練習

此時你至少已經(jīng)閱讀了芯片手冊幾次(可以在官方網(wǎng)站上找到),然后可以為自己的方向做一定數(shù)量的練習(期間保持良好的代碼風格,增加組件示例語句的可讀性,繪制流程圖/時序圖,編寫文檔的習慣)。

例如:通信類可以做調(diào)制和解調(diào)算法,儀器類可以做總線分析儀等。但這些算法在書中只給出了一個公式、框圖,實際的差距很大,你甚至可能覺得書寫得很膚淺。實際上,當你達到這個階段時,你已經(jīng)達到了專業(yè)水平,自由地了解一些前沿技術,這將有助于你的職業(yè)規(guī)劃。

8、圖像處理

1、Photoshop?;ㄒ粌芍軙r間學習PS,對圖像處理有一個大致的了解,了解各種圖片格式、直方圖、色調(diào)、通道、濾鏡、拼接等基本概念,并能夠使用它。這部分是零基礎的,目的是讓你對圖像處理有一種感性的理解,而不是一堆公式推導出來的。

2、基于MATLAB或OpenCV的圖像處理。在這個階段,只要學習簡單的調(diào)用函數(shù)即可,暫時不必深究實現(xiàn)的細節(jié)。

圖片

3、圖像處理的基本理論。這部分理論需要較高的數(shù)學基礎,包括復變函數(shù)、線性代數(shù)、信號與系統(tǒng)、數(shù)字信號處理等基礎知識,如果基礎不好,建議先補足基礎再來。無法理解理論的也可以暫時放下,也許學習后自然就能有所啟發(fā)。

4、基于FPGA的圖像處理。將前面學到的理論應用到FPGA上,如果你已經(jīng)達到了第七階段的水平,你將很容易獨立完成圖像算法的設計(圖像處理離不開接口,要求在第五階段以上)。

5、深入學習數(shù)學。要想在算法上達到更高的水平,必須需要更多的數(shù)學知識,所以這里建議學習實分析、廣義分析、小波分析等。

9、電子學的終點是模擬電子

現(xiàn)在,你對FPGA內(nèi)部的東西已經(jīng)不難了,但是FPGA輸出的信號卻無法控制。這時候就必須學好模擬電子。例如:電路分析、模擬電子學、高頻電子電路、PCB設計、EMC、SI、PI等,可以設計一塊帶有兩片DDR3的FPGA開發(fā)板,即使通關。

圖片

10、學習是個堅持的過程

能達到這個水平,說明你已經(jīng)很不錯了,但是還有許多事情要學,因為FPGA經(jīng)常需要與CPU交互,也就是說,你必須與軟件工程師溝通,所以你也必須懂一些軟件知識。例如,ARM(Xilinx ZYNQ和Altera的SOC會使用ARM硬核)??傊瑢W習是個長期堅持的事情。正因為技術無止境,所以FPGA工程師幾乎沒有年齡上的職業(yè)危機。所以,加油吧!

圖片



免責聲明:本文采摘自“大印藍??萍肌惫娞?,本文僅代表作者個人觀點,不代表薩科微及行業(yè)觀點,只為轉(zhuǎn)載與分享,支持保護知識產(chǎn)權,轉(zhuǎn)載請注明原出處及作者,如有侵權請聯(lián)系我們刪除。

服務熱線

0755-83044319

霍爾元件咨詢

肖特基二極管咨詢

TVS/ESD咨詢

獲取產(chǎn)品資料

客服微信

微信服務號