一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA初學(xué)者的入門之道

汽車玩家 ? 來源: FPGA技術(shù)聯(lián)盟 ? 作者:默宸 ? 2020-03-15 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

很多FPGA初學(xué)者,都會懷疑學(xué)習(xí)FPGA有沒有前途,發(fā)展前景怎么樣,到底該怎樣學(xué)習(xí)FPGA???各種迷茫,導(dǎo)致無法踏踏實(shí)實(shí)、全身心投入FPGA學(xué)習(xí)與開發(fā)工作中。下面請看看一個死磕FPGA 15年的大神給大家的肺腑之言,相信看完之后的你不在徘徊、不再猶豫、能夠勇往直前。

作為一個從事了15年FPGA行業(yè)的大齡工程師。期間接也觸過一些項目管理和技術(shù)支持之類的工作,但總覺得自己更適合死磕技術(shù)。在FPGA的領(lǐng)域找到未來的指引?!?/p>

做FPGA不只是寫寫代碼

“FPGA作為數(shù)字系統(tǒng)的主角兒,經(jīng)過近20年的突飛猛進(jìn)發(fā)展,大家都明白這個領(lǐng)域的工程師對經(jīng)驗是非常看重的,屬于典型的入門簡單,若要精深就很難,做FPGA開發(fā)不只是會寫寫verilog和VHDL代碼這么簡單,而是要設(shè)計芯片,如果按照芯片的設(shè)計要求,才能提高自身的能力?!?/p>

“硬件開發(fā)語言是用來設(shè)計芯片的,而數(shù)字芯片也就是0/1的翻轉(zhuǎn),HDL能夠逐漸映射出一個個與非門、觸發(fā)器、存儲器,以及他們之間的時序關(guān)系,時時刻刻考慮怎樣設(shè)計才能保證面積小、延遲低。功能做對了還要考慮時序優(yōu)化,即使功能設(shè)計的再完美,代碼寫的再簡潔,設(shè)計的時候沒有考慮時序,一切都是花架子、空擺設(shè)?!?/p>

FPGA是數(shù)字系統(tǒng)的主角

“FPGA逐漸從粘合邏輯轉(zhuǎn)變?yōu)橄到y(tǒng)級角色。開始的時候主要用于做接口、做通信,也就是偏向硬件。如此,最基本的接口協(xié)議便很重要,不懂接口協(xié)議FPGA就是孤家寡人,沒有數(shù)據(jù)的交互,什么都干不了,故一個成熟的FPGA工程師不是熟悉FPGA就好?!?/p>

后來,F(xiàn)PGA開始逐漸用來做做算法、做控制,如果要用FPGA做算法,還需要學(xué)習(xí)更高級的語言做仿真和驗證,更重要的是要把算法映射到FPGA的硬件資源或者外設(shè),并基于速度、面積和功能做平衡,做優(yōu)化。還是挺有挑戰(zhàn)呢。

現(xiàn)在,隨著人工智能、機(jī)器視覺的崛起,F(xiàn)PGA更加偏向系統(tǒng)級設(shè)計,有了軟件算法的異構(gòu),能夠替代GPUCPU”.

所以,已經(jīng)在路上的不用回頭,也許你面前溝溝坎坎很難走,甚至有一堵墻遮光蔽日,但是,前途是絕對光明的。

01、FPGA入門之道

對于新手學(xué)習(xí)FPGA設(shè)計,要從基礎(chǔ)開始做,基礎(chǔ)牢,才有成為高手的可能。

以下幾步是初學(xué)者必須要踏實(shí)走過的:

step 1:

了解FPGA結(jié)構(gòu),F(xiàn)PGA到底是什么東西,芯片里面有什么,不要開始就拿個開發(fā)板照著別人的東西去編程。只有了解了FPGA內(nèi)部的結(jié)構(gòu)才能明白為什么寫Verilog和寫C整體思路是不一樣的。

step2:

了解了FPGA的結(jié)構(gòu)和設(shè)計流程才有可能知道怎么去優(yōu)化設(shè)計,提高速度,減少資源,不要急躁,不要再為選擇什么語言和選擇哪個公司的芯片上下功夫。語言只是一種表達(dá)的方式,重要的是你的思維模式,沒有好的指導(dǎo)思想,語言用得再好,不過是個懂語言的人。

step3:

開始學(xué)習(xí)代碼了。一定要系統(tǒng)的,由淺入深的去學(xué)習(xí)FPGA。

step4:

template很重要。能不能高效利用fpga資源,一是了解fpga結(jié)構(gòu),二是了解欲實(shí)現(xiàn)的邏輯功能和基本機(jī)構(gòu),三是使用正確的模板。FPGA內(nèi)部器件種類相對較單一,用好模板,你的邏輯才能被高效的綜合成FPGA擅長表達(dá)的結(jié)構(gòu)。

做fpga主要是要有電路的思想,作為初學(xué)者,往往對器件可能不是熟悉,但對于數(shù)字電路的知識應(yīng)該很熟悉,fpga中是由觸發(fā)器和查找表以及互聯(lián)線等基本結(jié)構(gòu)組成的,其實(shí)我們在代碼里面能夠看到的就是與非門以及觸發(fā)器,切記不要把verilog和c語言等同起來,沒有什么可比性,根本就是不同的東西,在寫一句FPGA程序的時候應(yīng)該想到出來的是一個什么樣的電路,計數(shù)器,選擇器 ,三態(tài)門等等,理解時序,邏輯是一拍一拍的東西,如果在設(shè)計初期想的不是很清楚,可以先畫畫時序圖,這樣思路會更加的清晰。

仿真很重要,不要寫完程序就去往fpga中去加載,首先要仿真,尤其是對較大型的程序,想像自己是在做asic,是沒有第二次機(jī)會的,所以一定要把仿真做好。

很多新手對于語言的學(xué)習(xí)不知道選vhdl好還是verilog好,個人偏好verilog,當(dāng)然不是說vhdl不好,反正寫出來的都是電路,那當(dāng)然就不要在語言的語法上面花太多的功夫了,verilog 言簡意賅assign always case if else 掌握這些幾乎可以寫出90%的電路了。

02、FPGA設(shè)計者需修煉的5項基本功

成為一名說得過去的FPGA設(shè)計者,需要練好5項基本功:仿真、綜合、時序分析、調(diào)試、驗證。練好這5項基本功,與用好相應(yīng)的EDA工具是同一過程,對應(yīng)關(guān)系如下:

仿真:Modelsim, Quartus II(Simulator Tool) riple,ISim

綜合:Quartus II (Compiler Tool, RTL Viewer, Technology Map Viewer, Chip Planner),ISE,Vivado

時序:Quartus II (TimeQuest Timing Analyzer, Technology Map Viewer, Chip Planner),ISE,Vivado

調(diào)試:Quartus II (SignalTap II Logic Analyzer, Virtual JTAG, Assignment Editor),Chipscope

驗證:Modelsim, Quartus II(Test Bench Template Writer)

掌握HDL語言雖然不是FPGA設(shè)計的全部,但是HDL語言對FPGA設(shè)計的影響貫穿于整個FPGA設(shè)計流程中,與FPGA設(shè)計的5項基本功是相輔相成的。對于FPGA設(shè)計者來說,用好“HDL語言的可綜合子集”可以完成FPGA設(shè)計50%的工作——設(shè)計編碼。用好“HDL語言的驗證子集”,可以完成FPGA設(shè)計另外50%的工作——調(diào)試驗證。

練好仿真、綜合、時序分析這3項基本功,對于學(xué)習(xí)“HDL語言的可綜合子集”有如下幫助:

通過仿真,可以觀察HDL語言在FPGA中的邏輯行為。

通過綜合,可以觀察HDL語言在FPGA中的物理實(shí)現(xiàn)形式。

通過時序分析,可以分析HDL語言在FPGA中的物理實(shí)現(xiàn)特性。

搭建驗證環(huán)境,通過仿真的手段可以檢驗FPGA設(shè)計的正確性。

全面的仿真驗證可以減少FPGA硬件調(diào)試的工作量。

把硬件調(diào)試與仿真驗證方法結(jié)合起來,用調(diào)試解決仿真未驗證的問題,用仿真保證已經(jīng)解決的問題不在調(diào)試中再現(xiàn),可以建立一個回歸驗證流程,有助于FPGA設(shè)計項目的維護(hù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22034

    瀏覽量

    617990
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    射頻設(shè)計入門之S參數(shù)

    射頻設(shè)計是一個復(fù)雜而深奧的領(lǐng)域,對于初學(xué)者來說,往往不知道從哪里入手。然而,有時候,一個簡單的起點(diǎn)就能為我們打開通往知識的大門。今天,我們就來聊聊為什么射頻入門可以從S參數(shù)開始。
    的頭像 發(fā)表于 06-13 10:47 ?704次閱讀
    射頻設(shè)計<b class='flag-5'>入門</b>之S參數(shù)

    【經(jīng)驗分享】玩轉(zhuǎn)FPGA串口通信:從“幻覺調(diào)試”到代碼解析

    FPGA開發(fā),思路先行!玩FPGA板子,讀代碼是基本功!尤其對從C語言轉(zhuǎn)戰(zhàn)FPGA的“寶貝們”來說,適應(yīng)流水線(pipeline)編程可能需要點(diǎn)時間。上篇點(diǎn)燈代碼解讀了基礎(chǔ),而如果能親手寫出串口通訊代碼,恭喜你,
    的頭像 發(fā)表于 06-05 08:05 ?284次閱讀
    【經(jīng)驗分享】玩轉(zhuǎn)<b class='flag-5'>FPGA</b>串口通信:從“幻覺調(diào)試”到代碼解析

    AI端側(cè)部署案例(SC171開發(fā)套件V3)

    AI端側(cè)部署案例(SC171開發(fā)套件V3) 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 初學(xué)者入門手寫數(shù)字識別案例 20分02秒 https://t.elecfans.com
    發(fā)表于 04-16 18:33

    從單片機(jī)初學(xué)者邁向單片機(jī)工程師

    從單片機(jī)初學(xué)者邁向單片機(jī)工程師,對初學(xué)者非常適用。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評論支持一下哦~)
    發(fā)表于 04-15 14:06

    linux初學(xué)者,用這樣的開發(fā)板合適嗎?

    這款是深圳市九鼎創(chuàng)展科技有限公司的全志A40I開發(fā)板,適合linux初學(xué)者嗎? 先用開發(fā)板調(diào)試,調(diào)試成功后,就可以單獨(dú)用核心板,再配合自己做的底板就可以做產(chǎn)品了。 做核心板還是難度太大了,開發(fā)周期太長,直接用核心板。穩(wěn)定靠譜
    發(fā)表于 04-10 11:11

    12V開關(guān)電源制作_適合初學(xué)者制作的TOP22X系列開關(guān)電源

    TOP22X系列雖然出來得比較早,但外圍簡單、高效,適合初學(xué)者制作。圖下面的是量產(chǎn)的真實(shí)數(shù)據(jù)。變壓器都是PC40材質(zhì)。同樣適合100KHZ的其它芯片驅(qū)動的單端反激式開關(guān)電源 需要完整版資料可下載附件查看哦!
    發(fā)表于 04-02 14:39

    51單片機(jī)經(jīng)典入門教程(非常棒的教程)

    【前言】 適合初學(xué)者,入門級教程。 本文作者提示:本教程乃最通俗易懂之單片機(jī)教材,如果您還是看不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評論支持一下哦~)
    發(fā)表于 03-28 15:05

    單片機(jī)C語言編程寶典大全,初學(xué)必備【強(qiáng)推下載!】

    資料介紹:包含 1. 51單片機(jī)入門教程 2. 初學(xué)者適用:單片機(jī)C語言實(shí)例100例(代碼及釋義) 3. 51單片機(jī)C語言快速上手 4. 51單片機(jī)C編程(周立功) 5. 51單片機(jī)應(yīng)用從零開始
    發(fā)表于 03-14 11:03

    Redis實(shí)戰(zhàn)筆記

    《 2024最新Redis 實(shí)戰(zhàn)筆記》,這份筆記對 Redis 的相關(guān)知識做了系統(tǒng)全面的介紹,還是PDF版本,可自由復(fù)制,特別適合 Redis 初學(xué)者快速入門和提高。 ? 本筆記適合人群:前半部分適合 Redis 初學(xué)者快速
    的頭像 發(fā)表于 02-09 09:12 ?386次閱讀
    Redis實(shí)戰(zhàn)筆記

    基于FPGA的電子琴設(shè)計

    在之前也出了幾篇源碼系列,基本上都是一些小設(shè)計,源碼系列主要就會想通過實(shí)操訓(xùn)練讓各位學(xué)習(xí)者,尤其是初學(xué)者去更好的理解學(xué)習(xí)FPGA,或者給要的學(xué)生提供一些源碼,之前設(shè)計過各個芯片的配置等,之后筆者會通
    的頭像 發(fā)表于 01-20 14:07 ?831次閱讀
    基于<b class='flag-5'>FPGA</b>的電子琴設(shè)計

    EE-269:以太網(wǎng)802.3初學(xué)者指南

    電子發(fā)燒友網(wǎng)站提供《EE-269:以太網(wǎng)802.3初學(xué)者指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-05 09:48 ?1次下載
    EE-269:以太網(wǎng)802.3<b class='flag-5'>初學(xué)者</b>指南

    XD08M3232紅外感應(yīng)單片機(jī)開發(fā)板適合初學(xué)者嗎?

    XD08M3232是一款國產(chǎn)8位高性能Flash的接近感應(yīng)單片機(jī),具有較大的內(nèi)存、恒流驅(qū)動電路、內(nèi)置運(yùn)算放大器和模擬比較器等特點(diǎn)。對于初學(xué)者來說,選擇合適的開發(fā)板是非常重要的,因為它將直接影響
    發(fā)表于 12-07 14:55

    正點(diǎn)原子fpga開發(fā)板不同型號

    ZYNQ-7000系列 ZYNQ-7000系列是正點(diǎn)原子的入門FPGA開發(fā)板,適合初學(xué)者和教育用途。這些開發(fā)板搭載了Xilinx的Zynq-7000系列SoC芯片,集成了ARM Cortex-A9
    的頭像 發(fā)表于 11-13 09:30 ?3654次閱讀

    我用的是multisim14.0,因為是初學(xué)者,仿真電路的時候找不到合適的模型,應(yīng)該怎么辦?

    我用的是multisim14.0,因為是初學(xué)者,仿真電路的時候找不到合適的模型,應(yīng)該怎么辦? 比如我電路用的是AO3400的NMOS,但是在multisim14.0軟件自帶的元件庫里面沒找到類似的,開啟電壓是1.5v的nmos,請教大家,應(yīng)該怎么辦?
    發(fā)表于 08-23 10:59

    種草一塊國產(chǎn)FPGA開發(fā)板,不用燒錄器,一根TypeC線即插即用,盤古PGX-MINI 4K開發(fā)板

    分享一塊國產(chǎn)入門FPGA開發(fā)板,不用燒錄器,盤古PGX-MINI 4K開發(fā)板,一根TypeC線即插即用,一鍵式便攜操作,非常適用于初學(xué)者?。。《遗涮椎馁Y料和實(shí)驗例程很豐富,對于想嘗試國產(chǎn)F
    發(fā)表于 08-01 10:27