作者前言:我學(xué)習(xí)FPGA是因?yàn)?a target="_blank">公司需要,同時(shí)自己也想接觸這方面的知識(shí),在大規(guī)模、高速信號(hào)領(lǐng)域還是有一定的優(yōu)勢(shì),總而言之出于共贏的想法吧。自學(xué)的話,因?yàn)槲沂菚?huì)跟著項(xiàng)目學(xué)習(xí)的,所以就是用到哪部分再去補(bǔ)充哪部分的知識(shí)。我的思路是先把基礎(chǔ)的語(yǔ)法熟悉,數(shù)電和信號(hào)處理的知識(shí)再扎實(shí)一下,同時(shí)了解下FPGA代碼的規(guī)范寫法,至于開發(fā)工具的話就先大體了解下流程操作,應(yīng)用的時(shí)候再逐漸熟悉。然后在實(shí)踐中提高實(shí)際設(shè)計(jì)的能力。
可能有些是在校自學(xué)的,那么我覺得手頭寬裕的可以買塊開發(fā)板來練習(xí)效果會(huì)更直觀,不寬裕的話找學(xué)校從事這方面的老師去當(dāng)個(gè)助理,或者在外實(shí)習(xí),都是可行的步驟。另外就是堅(jiān)持(自古以來說的容易做的難)。
從零開始大戰(zhàn)FPGA——第一天(盲人摸象)
之前一直接觸ARM,單片機(jī)多一些,大多是裸機(jī)開發(fā),由于公司需要FPGA這塊的工作,只好硬著頭皮去學(xué)。哎,真是什么都是被逼出來的,我的興趣本來是想走偏軟一點(diǎn)的方向的,現(xiàn)在看來,又遠(yuǎn)了一步啦,只好有時(shí)間了再慢慢學(xué)習(xí)。打算把每天學(xué)習(xí)的內(nèi)容記下來,希望一方面能鞭策自己,另一方面也是將來可以回顧下當(dāng)初走的路。
由于是個(gè)人學(xué)習(xí)記錄,難免有錯(cuò)誤之處,望各位看到的親們可以指正、共勉!
FPGA第一天:
首先,知道了什么叫FPGA(不要鄙視我,雖然我本科時(shí)也有集電路和cpld這些課,但純粹是混過來的,老師名字都不知道),F(xiàn)PGA就是現(xiàn)場(chǎng)可編程門陣列,在我的理解看來就是FPGA里面有非常多的邏輯單元,幾十幾百萬門,然后以編程的手段讓這些邏輯單元組成各種各樣的電路,實(shí)現(xiàn)指定的功能。
了解了FPGA的基本概念后就開始看 Verilog了,(Verilog跟C語(yǔ)言有點(diǎn)像,看起來比較容易,在亞洲用的比較多,也比較靈活。VHDL語(yǔ)法更嚴(yán)謹(jǐn),美國(guó)軍方開發(fā)的,不好入門,但是可以自定義類型等等,不是很熟悉,在歐洲美洲用的多些?不太確定)公司是做軍品的,后期可能需要學(xué)習(xí)VHDL想想頭都大。
抱著書,看了一整天,看完了語(yǔ)法部分,了解了基本數(shù)據(jù)類型,運(yùn)算符,語(yǔ)法等等。有以下幾點(diǎn)感觸:
Verilog本質(zhì)還是硬件操作。C語(yǔ)言是順序進(jìn)行的,Verilog是并行的,這點(diǎn)很重要!
Verilog的精髓感覺是模塊化思想(廢話,其實(shí)所有語(yǔ)言都是模塊化...)
wire型變量和reg變量這兩個(gè)區(qū)分比較糾結(jié),現(xiàn)在是記住了,但是并沒有理解透(太理論了,需要在實(shí)踐中區(qū)分?。?/span>
initial,assign,always,這幾個(gè)也有點(diǎn)繞哈哈。
然后看了ISE這個(gè)軟件的使用(用的片子是Xilinx的多些),一句話,比較繁瑣,功能強(qiáng)勁。。。
說說這個(gè)軟件的流程吧,看了好久才理解的,首先設(shè)計(jì)大體框架,然后代碼編寫,然后代碼編仿真,然后仿真,仿真完以后把編好的代碼整成一張網(wǎng)表,然后用這張網(wǎng)表映射到FPGA的電路上去,然會(huì)就會(huì)神奇的由代碼變成了硬件電路(好偉大啊是吧),然后就是各種約束規(guī)則,布線布局。再然后就是再仿真,這個(gè)仿真是真實(shí)反映實(shí)際電路的,再再然后就可以把代碼下載到片子啦。
這是我自己的理解和總結(jié),人家官方給每個(gè)步驟起了個(gè)好聽的名字:什么設(shè)計(jì)文檔、仿真、綜合、實(shí)現(xiàn)、布局布線、仿真、下載,很繞口,反正了解這個(gè)軟件怎么用就行了,我這只是剛剛接觸,根本沒有仔細(xì)了解其功能,待日后發(fā)掘之!
好吧,今天的FPGA就看了這么多,效率不是很高,關(guān)鍵是手頭還有其他任務(wù),是關(guān)于IC卡的,13.56Mhz的數(shù)據(jù)收發(fā),頭疼,芯片手冊(cè)看半天也沒看懂,明天繼續(xù),歡迎大牛們提出寶貴的學(xué)習(xí)建議,歡迎小牛們指正錯(cuò)誤之處,歡迎大伙共勉!
評(píng)論
查看更多