找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3277|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

FPGA入門需要什么知識

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:596800 發(fā)表于 2019-11-7 22:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我想入手FPGA,不知道需要什么前期知識儲備
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:235200 發(fā)表于 2019-11-9 21:50 | 只看該作者
必須熟悉各種數(shù)字邏輯,如譯碼器、觸發(fā)器、計數(shù)器、寄存器、存儲器、各種邏輯門,然后學(xué)習(xí)用程序定義輸入輸出,之間用邏輯表達(dá)式表示其邏輯關(guān)系
回復(fù)

使用道具 舉報

板凳
ID:155507 發(fā)表于 2019-11-9 22:12 | 只看該作者
數(shù)字電路基礎(chǔ)

說到底,F(xiàn)PGA就是一堆數(shù)字邏輯組合在一起實現(xiàn)特定功能而已。所以數(shù)字電路基礎(chǔ)知識是根本。如果你連觸發(fā)器,組合電路,時序電路,競爭,毛刺等等基本概念還模棱兩可不清不楚的話,那玩轉(zhuǎn)FPGA只能是癡人說夢的幻想了。

FPGA基本單元都相似,都是由真值表和D觸發(fā)器構(gòu)成。改變真值表的值就改變了邏輯功能,再通過和D觸發(fā)器組合來實現(xiàn)任何時序邏輯。所以我們對FPGA的編程,實際上就是去修改這些真值表和連接關(guān)系,使他們組成一張專門的真值表,去實現(xiàn)特定的功能。這和軟件編程一步步運(yùn)行程序有本質(zhì)的區(qū)別。

我們必須要好好的學(xué)好數(shù)字電路基礎(chǔ)這門課,基本的數(shù)字電路爛熟于心。把這些基礎(chǔ)打牢固, 再往更深的方向發(fā)展。什么時候能夠從抽象的算法中提煉算法的結(jié)構(gòu),再分解成具體的模塊并通過硬件電路實現(xiàn)出來,這時候就算從菜鳥級別步入老鳥級別了。

回復(fù)

使用道具 舉報

地板
ID:275826 發(fā)表于 2019-11-9 22:33 | 只看該作者
需要數(shù)字電子技術(shù)方面和C語言方面基礎(chǔ)
回復(fù)

使用道具 舉報

5#
ID:155507 發(fā)表于 2019-11-10 11:51
tyrl800 發(fā)表于 2019-11-9 22:33
需要數(shù)字電子技術(shù)方面和C語言方面基礎(chǔ)

FPGA 不用C語言,用HDL語言

HDL語言的英語全稱是:Hardware Description Language,注意這個單詞Description,而不是Design。老外為什么要用Description這個詞而不是Design呢?因為HDL確實不是用用來設(shè)計硬件的,而僅僅是用來描述硬件的。

描述這個詞精確地反映了HDL語言的本質(zhì),HDL語言不過是已知硬件電路的文本表現(xiàn)形式而已,只是將以后的電路用文本的形式描述出來而已。而在編寫語言之前,硬件電路應(yīng)該已經(jīng)被設(shè)計出來了。語言只不過是將這種設(shè)計轉(zhuǎn)化為文字表達(dá)形式而已。但是很多人就不理解了,既然硬件都已經(jīng)被設(shè)計出來了,直接拿去制作部就完了,為什么還要轉(zhuǎn)化為文字表達(dá)形式再通過EDA工具這些麻煩的流程呢?

其實這就是很多菜鳥沒有了解設(shè)計的抽象層次的問題,任何設(shè)計包括什么服裝、機(jī)械、廣告設(shè)計都有一個抽象層次的問題。就拿廣告設(shè)計來說吧,最初的設(shè)計也許就是一個概念,設(shè)計出這個概念也是就是一個點(diǎn)子而已,離最終拍成廣告還差得很遠(yuǎn)。

6#
ID:401564 發(fā)表于 2019-11-11 15:46 | 只看該作者
FPGA對數(shù)字電路基礎(chǔ)的要求遠(yuǎn)遠(yuǎn)高于單片機(jī)
編程的思路和單片機(jī)也是不同的,單片機(jī)是通過語言去操作硬件
FPGA則是用語言來描述這是一個什么硬件,哪個是輸入,哪個是輸出,輸入和輸出的關(guān)系是什么
單片機(jī)只要對數(shù)字電路看一個大概就可以了
但FPGA對于入門要求就比較高,基本是要精通數(shù)字電路才行
但FPGA從業(yè)者的工資也是要高出不少的
回復(fù)

使用道具 舉報

7#
ID:640249 發(fā)表于 2019-11-12 10:41 | 只看該作者
FPGA已成為現(xiàn)今的技術(shù)熱點(diǎn)之一,無論學(xué)生還是工程師都希望跨進(jìn)FPGA的大門。網(wǎng)絡(luò)上各種開發(fā)板、培訓(xùn)班更是多如牛毛,仿佛在告訴你不懂FPGA你就OUT啦。那么我們要玩轉(zhuǎn)FPGA必須具備哪些基礎(chǔ)知識呢?下面我們慢慢道來。   。ㄒ唬 要了解什么是FPGA    既 然要玩轉(zhuǎn)FPGA,那我們首先最重要的當(dāng)然是要了解什么FPGA。FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列?吹骄幊虄蓚字碼農(nóng)就笑了,不就是編程嘛,那可是我們的強(qiáng)項。且慢,此編程非彼編程。一定要把FPGA的編程和軟件編 程區(qū)分開來。軟件的編程,處理器會 逐條的把語言翻譯成各種控制信號,去控制內(nèi)部電路完成一個個運(yùn)算或操作。那么FPGA的編程是怎么實現(xiàn)的呢?無論Altera家還是Xlinix家的 FPGA,叫法有什么差異,基本單元都相似,都是由真值表和D觸發(fā)器構(gòu)成。改變真值表的值就改變了邏輯功能,再通過和D觸發(fā)器組合來實現(xiàn)任何時序邏輯。所 以我們對FPGA的編程,實際上就是去修改這些真值表和連接關(guān)系,使他們組成一張專門的真值表,去實現(xiàn)特定的功能。這和軟件編程一步步運(yùn)行程序有本質(zhì)的區(qū) 別。要想玩轉(zhuǎn)FPGA,就必須理解FPGA內(nèi)部的工作原理,學(xué)習(xí)如何利用這些單元實現(xiàn)復(fù)雜的邏輯設(shè)計。   。ǘ 正確理解HDL語言    HDL(Hardware Description Language),硬件描述語言。通過名稱我們能看出來,HDL語言是一種“描述”語言,這一點(diǎn)和C語言是有本質(zhì)區(qū)別的。正確理解描述的含義,對學(xué)好 HDL語言很有幫助。HDL語言只是用文本的方式把硬件電路描述出來。我們在閱讀HDL程序的時候,在腦子里應(yīng)該能反映出一個完整的硬件電路結(jié)構(gòu)。從另一 方面說,我們在編寫HDL語言之前,就已經(jīng)對要實現(xiàn)的電路有清晰的概念。所以HDL語言只是一個描述我們頭腦中具體電路的工具,玩轉(zhuǎn)FPGA的根本不是語 言而是邏輯電路設(shè)計。不要再糾結(jié)于我應(yīng)該學(xué)習(xí)VHDL還是Verilog,那種語言更好學(xué)這些問題。如果把學(xué)習(xí)FPGA的重點(diǎn)放在學(xué)習(xí)語言上,死記硬背一 些語法,那自然是抓錯了重點(diǎn)。語言在日常使用中會越用越熟練,不需要花很長的專門時間去學(xué)習(xí)。當(dāng)然一本好的參考資料可以隨時方便查詢會是很有幫助的。   
回復(fù)

使用道具 舉報

8#
ID:640249 發(fā)表于 2019-11-12 11:54 來自手機(jī) | 只看該作者
FPGA相對其它技術(shù)的學(xué)習(xí)與入門來講,門檻性較高;首要一點(diǎn),在學(xué)習(xí)FPGA之前,本科期間必須學(xué)習(xí)了解數(shù)字電路基礎(chǔ)課程,模電電路基礎(chǔ)課程;在我們步入大學(xué)期間,作為理工科,我們接觸到的也是初步對可編程領(lǐng)域的接觸就是單片機(jī),在初步認(rèn)識單片機(jī),接觸單片機(jī),動手學(xué)習(xí)設(shè)計單片機(jī)的時候,我們就開始打基礎(chǔ),對語言的認(rèn)識與學(xué)習(xí),C語言,匯編語言的學(xué)習(xí);所以,如果在你學(xué)習(xí)FPGA之前,你對單片機(jī)設(shè)計過,學(xué)習(xí)過,那么FPGA這塊你學(xué)習(xí)起來也是具備一定的基礎(chǔ)性;FPGA是什么,F(xiàn)PGA就是:現(xiàn)場可編程門陣列的簡稱;FPGA就是數(shù)字電路,核心是數(shù)字在前;所以,F(xiàn)PGA的開發(fā)核心就是數(shù)字電路的學(xué)習(xí)與掌握,至于對開發(fā)工具的學(xué)習(xí),我們要明白,開發(fā)工具是幫助我們實現(xiàn):高速,穩(wěn)定,可靠,低功耗電路的一種手段。
做FPGA主要是要有電路的思想,作為初學(xué)者,往往對器件可能不是熟悉,那么應(yīng)該對于數(shù)字電路的知識很熟悉吧,F(xiàn)PGA中是由觸發(fā)器和查找表以及互聯(lián)線等基本結(jié)構(gòu)組成的,其實我們在代碼里面能夠看到的就是與非門以及觸發(fā)器,不要把verilog和c語言等同起來,根本就是不同的東西,沒有什么可比性,在寫一句程序的時候應(yīng)該想到出來的是一個什么樣的電路,計數(shù)器,選擇器,三態(tài)門等等。
那么,在理解時序,邏輯是一拍一拍的東西,在設(shè)計初期想的不是很清楚的時候可以畫畫時序圖,這樣思路會更加的清晰,還有就是仿真很重 要,不要寫完程序就去往FPGA中去加載,首先要仿真,尤其是對比較大型一點(diǎn)的程序,想像自己是在做ASIC,是沒有二次機(jī)會的,所 以一定要把仿真做好,還有很多新手對于語言的學(xué)習(xí)不知道選vhdl好還是verilog好,個人偏好verilog,當(dāng)然不是說vhdl不好,反正 寫出來的都是電路,那當(dāng)然就不要在語言的語法上面花太多的功夫了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表