標(biāo)題: FPGA 開發(fā)專題 | 初識 FPGA 開發(fā)流程和仿真工具 [打印本頁]

作者: 電子愛好者沒錯    時間: 2023-8-22 11:31
標(biāo)題: FPGA 開發(fā)專題 | 初識 FPGA 開發(fā)流程和仿真工具
本帖最后由 電子愛好者沒錯 于 2023-8-22 20:07 編輯

FPGA 開發(fā)專題 | 初識 FPGA 開發(fā)流程和仿真工具
目錄:


圖:北京首鋼園內(nèi)的無人駕駛小巴士

全文 2031 字,閱讀大約需要 4 分鐘


第一臺真正意義上的自動駕駛汽車最早可追溯至 1980 年代,隨著近年來人工智能和新型傳感器(硬件)的快速發(fā)展,自動駕駛相關(guān)行業(yè)迅速進(jìn)入紅海。盡管相關(guān)技術(shù)已經(jīng)逐步趨于成熟,但如何更快地識別路況、提高系統(tǒng)判別實時性一直是學(xué)術(shù)界和工業(yè)界追求的目標(biāo)。

FPGA 作為一種半定制化電路,具有 ASCII 芯片所沒有的可編程的靈活性,又具有一般 CPU 所不具備的硬件層并行數(shù)據(jù)處理的優(yōu)勢,廣泛用于圖像處理、機(jī)器視覺、無人駕駛等領(lǐng)域。在某種程度上,F(xiàn)PGA 可兼顧人工智能的大量計算需求和工業(yè)應(yīng)用中低延時的要求。從前幾年神經(jīng)網(wǎng)絡(luò)軟件算法的爆火到近些年來 “用 FPGA 加速神經(jīng)網(wǎng)絡(luò) ” 逐漸火出圈,讓我們看到了技術(shù)發(fā)展自上而下的革新,從軟件到硬件,從高層抽象到底層電路,硬件的天花板作用越發(fā)彰顯。


本文首發(fā)于在下石同學(xué) 未經(jīng)授權(quán) 不得轉(zhuǎn)載

文 | 在下石同學(xué)



一、FPGA 開發(fā)流程

FPGA (Field Programmable Gate Array),即現(xiàn)場可編程邏輯陣列。


現(xiàn)場可編程邏輯門陣列Field Programmable Gate Array,縮寫為FPGA),它以PALGAL、CPLD可編程邏輯器件為技術(shù)基礎(chǔ)發(fā)展而成。作為特殊應(yīng)用集成電路中的一種半定制電路,它既彌補(bǔ)全定制電路不足,又克服原有可編程邏輯控制器邏輯門數(shù)有限的缺點。



圖:ZYNQ-7020 核心板


FPGA 作為一種半定制化電路,具有 ASCII 芯片所沒有的可編程的靈活性,又具有一般 CPU 所不具備的硬件層并行數(shù)據(jù)處理的優(yōu)勢,廣泛用于圖像處理、機(jī)器視覺、無人駕駛等領(lǐng)域。在某種程度上,F(xiàn)PGA 可兼顧人工智能的大量計算需求和工業(yè)應(yīng)用中低延時的要求。從前幾年神經(jīng)網(wǎng)絡(luò)軟件算法的爆火到近些年來 “用 FPGA 加速神經(jīng)網(wǎng)絡(luò) ” 逐漸火出圈,讓我們看到了技術(shù)發(fā)展自上而下的革新,從軟件到硬件,從高層抽象到底層電路,硬件的天花板作用越發(fā)彰顯。


相對于一般編程語言開發(fā),F(xiàn)PGA 的開發(fā)過程更為繁瑣,盡管 FPGA 也有 Verilog/VHDL 這樣的代碼語言去描述和定義邏輯功能,但 Verilog/VHDL 是硬件描述語言,跟 C/C++ 不同的是,經(jīng)過后續(xù)的綜合以后,可以直接生成對應(yīng)的電路。

FPGA 的開發(fā)流程主要包括 7 個部分,如下圖所示:


圖:FPGA 開發(fā)流程

下面簡要聊聊各個部分的作用(敲重點!)



我們可以看到,F(xiàn)PGA 的開發(fā)過程是非常折騰的,通過 RTL 級仿真、綜合后仿真、時序仿真三大仿真實現(xiàn)從邏輯到門電路時延的反饋和調(diào)整,好在大部分工作都由 EDA 軟件工具幫我們完成了,實際上,在大部分開發(fā)中,整個流程中最核心的還是前兩部分,Verilog/VHDL 代碼和RTL 級仿真。


二、FPGA 仿真工具

FPGA 的仿真工具有很多,但由于 FPGA 芯片本身專利問題及制造的差異性,基本上某一具體型號 FPGA 芯片的開發(fā)工具和該器件廠商是綁定的,不像 ARM 這種嵌入式通用處理器有更加完善和通用的開發(fā)工具鏈。當(dāng)然,對于一般 Verilog/VHDL 的 RTL 級層面仿真,不涉及具體的芯片型號,市面上的仿真工具都可以使用,常見的如大牌廠商 Altera(現(xiàn)已被 Intel 收購)家的 Quartus,Xilinx 家的 Vivado,Mentor Graphics 家的  ModelSim,Cadence 家的 NCSim,開源的 Icarus Verilog 以及一些國產(chǎn)方案等。


注:本文用到的所有軟件相關(guān)參考鏈接都會附在文末

工具
廠商
說明
Quartus
Altera

Vivado
Xilinx

ModelSim
Mentor Graphics
PE、DE、SE 三個版本,非常流行
NCSim
Cadence
Incisive 工具套件,用于 ASIC 設(shè)計
Icarus Verilog
GNU GPL
開源、輕量
TangDynasty
上海安陸科技
國產(chǎn)廠商
Pango Design Suite
紫光同創(chuàng)(深圳)
國產(chǎn)廠商
procise
復(fù)旦微(上海)
國產(chǎn)廠商


Altera 和 Xilinx 家的 FPGA 是市場占有率最高的,涵蓋了 FPGA 設(shè)計的整個流程,ModelSim 是 FPGA 仿真最受歡迎的軟件,非常流行, Icarus Verilog 支持 GPL 協(xié)議,開源免費且輕量,也是 FPGA 開發(fā)中 RTL 級仿真值得使用的軟件,搭配 GTKwave,出仿真圖非常方便,功能強(qiáng)大。


三、開設(shè) FPGA 專題咯

本文簡單介紹了 FPGA 開發(fā)的基本流程和常見的仿真工具,太長時間沒更新了所以趕緊水一篇。

開設(shè) FPGA 專題咯,就當(dāng)作 FPGA 專題的開篇吧!



文中涉及 FPGA 軟件工具參考網(wǎng)站:


除了在51黑電子論壇發(fā)帖,大家也可以關(guān)注我的微信公眾號:在下石同學(xué)


讓技術(shù)有深度,讓科普有溫度~ 旨在分享電子電路、嵌入式、編程相關(guān)的筆記和教程,包括:電子電路設(shè)計、PCB設(shè)計、通信協(xié)議、嵌入式編程等。還會不定期分享有趣好玩的開源項目 平時學(xué)習(xí)工作很忙,偶爾鴿一下~ 會堅持更新的!


微信掃碼可以關(guān)注我的公眾號(哈哈純技術(shù)分享,不存在任何打廣告行為,放心食用):








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1