最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

一個(gè)FPGA小白的自述

2023-01-16 07:58 作者:明德?lián)P易老師  | 我要投稿

作者:徐維傲

?知道明德?lián)P科教是一個(gè)偶然,但后來耐心看完明德?lián)P知識大串講系列視頻卻是一個(gè)必然。因?yàn)樽龅糜眯?,所以看得放心?/p>

本人是一個(gè)純FPGA小白,就連FPGA這個(gè)名詞我都是最近才知道,所以如果你也正想入門學(xué)習(xí)FPGA的話,請耐心看下去吧,相信你看完絕對不會后悔。

因?yàn)樽罱鼌⒓恿艘粋€(gè)集成電路類的比賽,需要用FPGA進(jìn)行功能的實(shí)現(xiàn),無奈我們專業(yè)目前還沒有開設(shè)這門課,于是就只能自己開始著手自學(xué)了。經(jīng)過我們老師的推薦,我第一次了解到了明德?lián)P科教,了解到這樣一個(gè)這么純粹做技術(shù)和教育的機(jī)構(gòu),免費(fèi)看完潘老師知識大串講系列視頻后頗有感觸,下面我來向大家分享一下作為一個(gè)FPGA小白的學(xué)習(xí)經(jīng)歷吧!

首先大家可能會疑問學(xué)習(xí)FPGA需要什么基礎(chǔ)知識,實(shí)話告訴你,基本不需要。我在學(xué)習(xí)FPGA之前除我們專業(yè)開設(shè)的模擬電子技術(shù)課外,自己只是自學(xué)了一下51單片機(jī)開發(fā)和數(shù)字電子技術(shù)的一些最簡單基礎(chǔ)的東西,最后發(fā)現(xiàn)用到的就是一個(gè)二進(jìn)制和一些基本的門級電路知識,其次就是一種編程思維的培養(yǎng),但我相信作為想學(xué)FPGA的你應(yīng)該也多少具備一些這類知識吧。如果沒有的話不妨簡單看看吧。


視頻的六個(gè)部分



?知識大串講系列視頻一共由六個(gè)部分組成,分別是:學(xué)習(xí)誤區(qū)、FPGA知識大串講、組合邏輯、D觸發(fā)器、時(shí)序邏輯和FPGA時(shí)序。每個(gè)視頻針對性地講一個(gè)小點(diǎn),條理清楚,邏輯清晰,由淺入深,循序漸進(jìn),非常適合新手入門。這套視頻不像其他有些視頻一樣很冗長,讓人一看到視頻的時(shí)長就望而卻步,這套視頻最長的不過半個(gè)小時(shí),最短的也就五分半,讓人看著不會覺得很枯燥。日常刷一個(gè)小視頻的時(shí)間而已,而且還能學(xué)會很多東西,何樂而不為呢?


明德?lián)P知識大串講系列視頻的知識體系



?大家可能還會疑惑一個(gè)問題:在這么短的時(shí)間內(nèi)真的能學(xué)到知識嗎?誠然,在如此短的時(shí)間內(nèi)想要掌握一門技術(shù)有些不太實(shí)際,但我看完視頻的經(jīng)歷告訴我,這套視頻只要你認(rèn)真看,理解潘老師講的每一個(gè)細(xì)節(jié),看不明白的地方就反復(fù)看看,再結(jié)合自己的理解思考一下,有些問題你就會恍然大悟。而且視頻中有些言語非常地道幽默,所以也很讓人容易理解接受。另外潘老師每個(gè)視頻只針對一個(gè)小點(diǎn)進(jìn)行講解和分析,所以也很容易聽懂,當(dāng)然大家也不要有會聽不懂的顧慮了。當(dāng)然,對于能力比較強(qiáng)的初學(xué)者來說1.5倍速播放可能更適合你!

大家都知道,一個(gè)工程的好壞不在于代碼量的多少,不是說實(shí)現(xiàn)一個(gè)功能用的代碼越少越好。評價(jià)一個(gè)工程的好壞要看綜合出來的電路,如果一個(gè)工程所在效率滿足的前提下,所調(diào)用的資源最少、可維護(hù)性高、拓展性強(qiáng)、代碼精簡便于閱讀,那么這就是一個(gè)好的工程。關(guān)于代碼,潘老師在視頻中也詳細(xì)教了一些方法和思維,以下是我學(xué)習(xí)后的一些思考和總結(jié)。

不要試圖用軟件思維去編寫代碼。因?yàn)檐浖季S是在單片機(jī)編寫程序時(shí)運(yùn)用廣泛的一種思維,主要通過一些串行或并行輸出的代碼去控制單片機(jī)處理一些問題,這樣就會涉及到一些諸如延時(shí)和初始化這樣的代碼,但在FPGA中則不一樣,在FPGA中是電路的反應(yīng),只要一通電就開始執(zhí)行。在FPGA中也沒有for循環(huán)和while循環(huán)、高阻態(tài)和不定態(tài)的說法。關(guān)于時(shí)序的功能都是通過時(shí)鐘來實(shí)現(xiàn)的。FPGA是使用Verilog語言進(jìn)行編寫的,Verilog中文翻譯又叫硬件描述語言,不是一種設(shè)計(jì)語言。所以我們在做一個(gè)FPGA設(shè)計(jì)之前,其實(shí)已經(jīng)有硬件的電路結(jié)構(gòu)在頭腦里面了,我們只是用Verilog語言把它描述出來而已,絕不是用Verilog設(shè)計(jì)一門電路出來,這個(gè)思維模式是完全不一樣的。


FPGA中是電路的反應(yīng)



?軟件思維編寫的代碼可讀性較差,而且和硬件思維編寫的代碼比起來運(yùn)行的時(shí)候更耗時(shí)。以下是兩者實(shí)現(xiàn)一個(gè)攝像頭輸入模塊采集功能的代碼對比:


軟件思維編寫的代碼




明德?lián)P規(guī)范的代碼



?可以看出,兩種思維的代碼相形見絀。用軟件思維寫出的代碼不僅結(jié)構(gòu)冗長、可讀性差,而且理解起來也比較麻煩。同樣是實(shí)現(xiàn)一個(gè)攝像頭輸入模塊采集功能,攝像頭輸入過來有三個(gè)信號:時(shí)鐘、使能和數(shù)據(jù)。數(shù)據(jù)分別用兩個(gè)字節(jié)的二進(jìn)制數(shù)的值來表示一個(gè)像素點(diǎn)中RGB的值,我們主要做的就是把這兩個(gè)值通過一個(gè)16bit的總線輸入到下一個(gè)模塊。軟件思維就是定義一個(gè)變量進(jìn)行加一運(yùn)算,而明德?lián)P規(guī)范中就用一個(gè)取反就解決了。這只是一個(gè)簡單的例子,如果不夠明顯的話,接下來我們來看一個(gè)稍微復(fù)雜一點(diǎn)的例子。

現(xiàn)在我們需要實(shí)現(xiàn)一個(gè)幀頻率的計(jì)算,統(tǒng)計(jì)兩秒鐘內(nèi)輸入幀的個(gè)數(shù),然后把得到的數(shù)除以2就得到一秒鐘的幀頻率。下面我們來一起看看這個(gè)功能用兩種不同代碼實(shí)現(xiàn)的區(qū)別:


軟件思維寫出的代碼




明德?lián)P規(guī)范的代碼


大家不難看出,用軟件思維寫出的代碼不僅繁雜,理解起來也比較困難,而明德?lián)P規(guī)范的代碼則顯得更簡潔、高效,效率也是不可同日而語的。


另外我們還不難發(fā)現(xiàn)一點(diǎn),潘老師和明德?lián)P規(guī)范的代碼結(jié)構(gòu)和語法非常簡單,很多語法幾乎都只是用得到了if和else這些最簡單的語句,所以我們在學(xué)習(xí)語法上其實(shí)不用花費(fèi)太多的時(shí)間,這也為我們新手入門降低了很多難度,節(jié)省了很多寶貴的時(shí)間。


明德?lián)P規(guī)范的代碼結(jié)構(gòu)和語法



另外潘老師個(gè)人講課也比較有特點(diǎn),雖然潘老師普通話不是特別標(biāo)準(zhǔn),但這并不影響我們對于知識和思維的學(xué)習(xí)。

潘老師研發(fā)經(jīng)驗(yàn)非常豐富,曾在華為這種世界500強(qiáng)的公司工作過,做過很多項(xiàng)目的開發(fā),所以實(shí)戰(zhàn)經(jīng)驗(yàn)豐富,講的很多東西實(shí)用性比較強(qiáng)。特別是對于我這種是抱著參加競賽的小白來說幫助很大。

我們都知道,想要提要時(shí)鐘頻率就要減小時(shí)鐘周期,但因?yàn)镈觸發(fā)器和線路之間傳遞的那部分延時(shí)是由物理器件決定的跟器件的工藝和材料等因素有關(guān),我們沒辦法進(jìn)行修改,我們能做的就是對組合邏輯那部分電路的延時(shí)減到最小。這條把延時(shí)減到最小的路徑也叫關(guān)鍵路徑。


關(guān)鍵路徑


老師在一開始就講過在FPGA里面的電路是一通電就可以工作,指的是對于最基本的門電路而言的。于是老師就舉了他在海思里面做項(xiàng)目的一個(gè)例子:要把一個(gè)集成電路跑到2G的頻率!可想而知這需要多么小的時(shí)鐘周期,他們的方法就是把所有能拆的組合邏輯都拆成了基本的門電路,甚至連選擇器他們也不放過,只為了一步步提高頻率。就這樣一直不停地拆,直至把任何兩個(gè)寄存器之間的延時(shí)縮小到最小最小,從而達(dá)到就可以達(dá)到提高時(shí)鐘頻率的目標(biāo),這個(gè)方法也叫流水線設(shè)計(jì)。



減小時(shí)鐘周期


潘老師講課還善于聯(lián)系現(xiàn)實(shí)生活進(jìn)行分析。在講到關(guān)于狀態(tài)機(jī)的設(shè)計(jì)時(shí),為了將狀態(tài)機(jī)設(shè)計(jì)的目和過程一目了然,于是便聯(lián)系生活講到了我們?nèi)粘I钪谐R姷淖詣邮圬洐C(jī)的設(shè)計(jì)。



自動售貨機(jī)的設(shè)計(jì)


并且還就這個(gè)例子講到了代碼設(shè)計(jì)的三段論格式,讓設(shè)計(jì)代碼顯得非常實(shí)用高效,便于分析。



自動售貨機(jī)代碼的設(shè)計(jì)


總而言之,看完整套視頻后,作為一個(gè)小白的我感覺對于FPGA有了一個(gè)大概的了解了,讓原本在門外徘徊的我慢慢地就走進(jìn)了門里。在這里常感謝明德?lián)P科教提供的這個(gè)讓我免費(fèi)學(xué)習(xí)的機(jī)會。


以上就是我看完明德?lián)P知識大串講系列視頻后的一些收獲和總結(jié),希望能給同樣熱愛學(xué)習(xí)的你帶來一些啟發(fā)!也讓我們在學(xué)習(xí)FPGA的道路上共同進(jìn)步吧!

文末給大家送福利啦!免費(fèi)贈送《FPGA知識大串講》課程供大家學(xué)習(xí)。

課程鏈接:?https://pan.baidu.com/s/1OhNfA6MQYiYpzq1TOUJKlQ

提取碼:qwl9


一個(gè)FPGA小白的自述的評論 (共 條)

分享到微博請遵守國家法律
加查县| 平邑县| 井陉县| 庄浪县| 临沂市| 正定县| 辰溪县| 永胜县| 钦州市| 西安市| 丰镇市| 伊通| 鹿泉市| 吉木乃县| 瓦房店市| 海原县| 塘沽区| 普格县| 镇安县| 图片| 公主岭市| 寻乌县| 西城区| 丽江市| 石嘴山市| 乌兰察布市| 建阳市| 西贡区| 彭水| 神木县| 江油市| 郸城县| 贵溪市| 措勤县| 防城港市| 大渡口区| 临邑县| 清水河县| 高唐县| 柘荣县| 广元市|