此文出自:FPGA初學者園地博客,本文是即將出版的大二“《電子技術(shù)基礎(chǔ)(數(shù)字部分)》同步學習”配套教材——《HDL與可編程邏輯器件》的序言。 隨著半導體和嵌入式系統(tǒng)應(yīng)用技術(shù)的高速發(fā)展,F(xiàn)PGA已經(jīng)被廣泛地應(yīng)用于各行各業(yè),無論是家用電器、智能玩具、數(shù)碼產(chǎn)品,還是通信行業(yè)、工業(yè)自動化、汽車電子、醫(yī)療器械等領(lǐng)域無處不在。從1985年第一顆FPGA誕生至今,F(xiàn)PGA已經(jīng)過去了20多個年頭,從當初集成幾百個門電路到現(xiàn)在的幾百萬門、幾千萬門……,從原來的上千元的天價到現(xiàn)在幾元的超低價,發(fā)生了翻天覆地的變化,所以當前正是學習FPGA的最好時機。無論是社會的需求也好,還是技術(shù)的成熟度也好,已經(jīng)達到了前所未有的高度,初學者可以花更少的成本,并以最快的速度掌握一種處于前沿的新技術(shù),無論是對就業(yè)還是對未來的發(fā)展具有極其重要的意義和價值。 本書從初學者的立場出發(fā),為廣大初學者提供了一個FPGS入門學習平臺,以深入淺出的方式介紹FPGA的基本原理、Verilog語言和應(yīng)用設(shè)計。但作為一個FPGA的初學者必須先了解以下幾個問題:何為FPGA?為什么要學習FPGA?如何學習FPGA? 1.何為FPGA? FPGA是Field Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。 FPGA是Ross Freema于1985年發(fā)明的,當時第一個FPGA采用2μm工藝,包含64個邏輯模塊和85000個晶體管,門數(shù)量不超過1000個,當時他所創(chuàng)造的 FPGA被認為是一項不切實際的技術(shù),他的同事Bill Carter曾說:“這種理念需要很多晶體管,但那時晶體管是非常珍貴的東西。”所以人們認為Ross的想法過于脫離現(xiàn)實。但是Ross預計:根據(jù)摩爾定律(每18個月晶體管密度翻一翻),晶體管肯定會越來越便宜,因此它必將成為未來不可或缺的技術(shù)。在短短的幾年時間內(nèi),正如Ross所預言的,出現(xiàn)了數(shù)十億美元的現(xiàn)場可編程門陣列(FPGA)市場。但可惜的是,他已經(jīng)無法享受這一派欣欣向榮的景象,Ross Freeman在1989年已經(jīng)與世長辭了,但是它的發(fā)明卻持續(xù)不斷地促進電子行業(yè)的進步與發(fā)展。 我們知道構(gòu)成數(shù)字邏輯系統(tǒng)最基本的單元是與門、或門、非門等,而門電路是由用二極管、三極管和電阻等元件構(gòu)成的,然后與門、或門、非門又構(gòu)成了各種觸發(fā)器實現(xiàn)狀態(tài)記憶。FPGA同樣也屬于數(shù)字邏輯電路的一種,也是由最基本的元件構(gòu)成的。一片F(xiàn)PGA可以在內(nèi)部集成上億個門電路,打破了以往使用數(shù)量繁多分立器件實現(xiàn)電子裝置的歷史,不僅電路面積、成本大大減小,而且可靠性得到了大幅度的提升。 一般來說,F(xiàn)PGA內(nèi)部是由最小的物理邏輯單位LE、布線網(wǎng)絡(luò)、輸入輸出模塊與片內(nèi)外設(shè)組成的,而最小物理邏輯單元是指用戶無法修改的、固定的最小單元,設(shè)計者只能將這些單元通過互聯(lián)線將其連接起來,然后實現(xiàn)特定的功能。一個LE是由觸發(fā)器、LUT與控制邏輯組成的,從而同樣可以實現(xiàn)組合邏輯和時序邏輯。 隨著FPGA集成度的不斷增加,其內(nèi)部的片內(nèi)外設(shè)也越來越多,可集成SRAM、Flash、AD、RTC等外設(shè),真正用單芯片方案完成系統(tǒng)設(shè)計,所以我們所理解的FPGA最底層是一些實實在在的門電路構(gòu)成的,然后由門電路構(gòu)成最小的物理邏輯單元,然后再通過布線層將這些最小物理邏輯單元連接成用戶需要的特定功能,我們所需要控制的僅僅是布線層之間的互連開關(guān),這也是我們編程的對象,通過這些開關(guān)來改變功能。 FGPA按工藝分主要有SRAM工藝和Flash工藝(工藝是針對它們的編程開關(guān)來說的)兩類,基于SRAM工藝的FPGA最大的缺點是掉電數(shù)據(jù)會丟失無法保存,所以由FPGA構(gòu)成的系統(tǒng),外部還需要增加一個配置芯片用于保存編程數(shù)據(jù),在系統(tǒng)每次上電時都需要從配置芯片中將配置數(shù)據(jù)流加載到FPGA 中,然后才能正常地運行,其優(yōu)點是靈活性很強。而基于Flash架構(gòu)的FPGA在掉電后不會丟失數(shù)據(jù),無需配置芯片,上電即可運行,其特點非常類似 ASIC,但卻比ASIC更加靈活可以重復編程。由此可見如果用基于Flash架構(gòu)的FPGA來取代ASIC的話,不僅風險大大降低,而且成本也會大幅度地下降。 2. 為什么要學習FPGA? FPGA從誕生以來經(jīng)歷了從配角到主角的轉(zhuǎn)變,F(xiàn)PGA主要用于取代復雜的邏輯電路,現(xiàn)在重點強調(diào)平臺概念,當集成數(shù)字信號處理器、嵌入式處理器、高速串行和其它高端技術(shù)后,從而被應(yīng)用到更多的領(lǐng)域,正因為其飛速的發(fā)展,讓更多學FPGA的人看到了希望,其廣闊的前景正是我們選擇的原因之一。 (1)廣闊的發(fā)展前景 據(jù)市場調(diào)研公司Gartner Dataquest預測,2010年FPGA和其它可編程邏輯器件(PLD)市將從2005年的32億美元增長到67億美元,未來還將有不斷增長的趨勢。 FPGA及PLD產(chǎn)業(yè)發(fā)展的最大機遇是替代ASIC和專用標準產(chǎn)品(ASSP),由ASIC和ASSP構(gòu)成的數(shù)字邏輯市場規(guī)模大約為350億美元。由于用戶可以迅速地對PLD進行編程,按照需求實現(xiàn)特殊功能,與ASIC和ASSP相比,PLD在靈活性、開發(fā)成本、產(chǎn)品快速上市方面更具優(yōu)勢,所以未來 FPGA將會是一個非常有前景的行業(yè)。 由于FPGA結(jié)構(gòu)的特殊性,可以重復編程,開發(fā)周期較短,越來越受到人們的青睞,它的特點也更接近ASIC,ASIC比FPGA最大的優(yōu)勢是低成本,但是FPGA的價格現(xiàn)在也越來越低,例如,Actel的Nano系列更是打破了FPGA的價格屏障,提供超過50種低于1美金的FPGA,在一定程度上已經(jīng)可以與ASIC相抗衡。 根據(jù)當前發(fā)展的趨勢,未來的FPGA勢必將會取代大部分ASIC的市場,雖然根據(jù)摩爾定律(Moore’s Law):每18至24個月能在相同的單位面積內(nèi)多集成一倍的晶體管數(shù)目,也就意味著每18至24個月后芯片成本將減半,但這只是指裸晶(Die)的成本,并不表示整個芯片的成本減半,這是由于晶圓制造前端的掩膜(Mask)成本、晶圓制造后端的封裝(也稱為:構(gòu)裝、包裝)成本、人力成本等都不會隨摩爾定律而變化,反而芯片的成本有上升的趨勢,所以過去許多中、小用量的芯片無法用先進的工藝來生產(chǎn),對此不是持續(xù)使用舊工藝來制造,或是必須改用FPGA芯片來生產(chǎn)…… 未來的趨勢告訴我們,F(xiàn)PGA將成為21世紀最重要的高科技產(chǎn)業(yè)之一,特別是國內(nèi)的FPGA市場,更是一個“未完全開墾的處女地”,抓住現(xiàn)在的機遇也就意味著為我們的將來提供更強大的競爭力。 (2)更多的就業(yè)機會 雖然FPGA市場的廣闊,但是FPGA的技術(shù)人員卻極度地缺乏,很多高校仍然未重視FPGA技術(shù)的教學,導致學生畢業(yè)后連什么是FPGA,什么是 Verilog都不知道,失去了很多的就業(yè)機會。廣州周立功單片機發(fā)展有限公司三年來跑遍了全國22個城市,每次宣講會場里場外都站滿了人,每個學生都渴望尋找一份好工作的心情由此可見一斑,但通過考試發(fā)現(xiàn)懂FPGA和Verilog的學生卻寥寥無幾,盡管我們每年都對招聘FPGA人才寄予了很大的希望,但每次都失望而歸,深深地體會到招聘FPGA開發(fā)工程師困難重重。 由此可見在應(yīng)屆畢業(yè)生中熟練掌握FPGA的學生已經(jīng)屬于稀缺資源了,然而企業(yè)為培養(yǎng)FPGA開發(fā)工程師無不付出沉重的代價,所以對于在校電類專業(yè)的學生來說,這是打造個人差異化競爭力的大好機會,事實上只要掌握FPGA就能夠找到一份薪水更好的工作。我們公司每次在考核員工時,往往都會特別關(guān)注這些 “特殊員工”,一般來說這些員工的薪水都會比其它崗位高500元,這就是學習FPGA的就業(yè)優(yōu)勢,但是很多人不曾完全意識到掌握FPGA技術(shù)的重要性。 當前受金融危機的影響,對學生的就業(yè)更是巨大的考驗,據(jù)教育部的統(tǒng)計,2008年全國普通高校畢業(yè)生達559萬人,比2007年增加64萬人,2009年高校畢業(yè)生規(guī)模達到611萬人,比2008年增加52萬人,如此多的大學生面臨著就業(yè)的問題,如果個人不具備一定的優(yōu)勢,必將淹沒在人海茫茫的潮流中而找不到理想的工作,而學習FPGA則可以幫助學生多一技之長,大大提高就業(yè)的機會。 (3)更大的技術(shù)發(fā)展空間 我們知道半導體一直是國內(nèi)比較薄弱的產(chǎn)業(yè),與國外相比相差甚遠,大部分IC都來自歐美地區(qū),國內(nèi)擁有自主知識產(chǎn)權(quán)的IC技術(shù)不多,多半需要引進國外先進的 IC設(shè)計技術(shù)。但是自2000年以來,中國大陸的IC設(shè)計企業(yè)如雨后春筍般迅速涌現(xiàn),企業(yè)數(shù)量5年增加了4倍多,2005年已經(jīng)達到500多家,銷售收入過億元人民幣的設(shè)計企業(yè)達到17家,其中兩家超過5億元的銷售規(guī)模。概括地講,中國的IC設(shè)計公司可以分為4類,第一類是國有IC設(shè)計公司,一般是承擔政府研發(fā)任務(wù)的研究所轉(zhuǎn)制后成立的;第二類是由系統(tǒng)廠商的設(shè)計部門獨立出來的IC設(shè)計公司;第三類是民營IC設(shè)計公司,以海歸型為主;最后一類是外資IC設(shè)計公司。 由此可見IC設(shè)計也是未來發(fā)展的一個重點方向,將會是國家大力扶持的產(chǎn)業(yè)之一,而IC的設(shè)計人員必須掌握FPGA的技術(shù),在芯片流片之前都是通過 FPGA來進行前期設(shè)計驗證的,與FPGA使用同樣的設(shè)計語言,只是在后端的設(shè)計中才用到IC設(shè)計方面的特定技術(shù),而IC設(shè)計人員必定是懂得FPGA設(shè)計的人,因此掌握FPGA技術(shù)是通往IC設(shè)計殿堂的必經(jīng)之路,學習FPGA有助于我們擴大的技術(shù)發(fā)展空間。 3.如何學習FPGA? 既然FPGA對我們?nèi)绱说刂匾敲磳τ诔鯇W者來說,到底該如何學習呢?學習一門技術(shù)最好有合適的指導老師,這樣對掌握FPGA技術(shù)更容易,可惜的是大部分的學校還未開設(shè)相關(guān)的課程,也缺少具有實踐經(jīng)驗的老師,那么如何才能找到一種捷徑幫助初學者快速學會如此具有競爭力的技術(shù)呢?我們公司從原來僅有1人,到目前為止已經(jīng)發(fā)展成為了一支擁有30多人的FPGA團隊,其中有一些成長的經(jīng)歷,在此希望能與大家一起分享。 (1)掌握FPGA的編程語言 在學習一門技術(shù)之前我們往往從它的編程語言開始,如同學習單片機一樣,我們從C語言開始入門,當掌握了C語言之后,開發(fā)單片機應(yīng)用程序也就不是什么難事了。學習FPGA也是如此,F(xiàn)PGA的編程語言有兩種:VHDL和Verilog,這兩種語言都適合用于FPGA的編程,VHDL是由美國軍方組織開發(fā)的,在1987年就成為了IEEE的標準;而Verilog則是由一家明間企業(yè)的私有財產(chǎn)轉(zhuǎn)移過來的,由于其優(yōu)越性特別突出,于是在1995年也成為了 IEEE標準。VHDL在歐洲的應(yīng)用較為廣泛,而Verilog在中國、美國、日本、臺灣等地應(yīng)用較為廣泛,作者比較推崇是Verilog,因為它非常易于學習,很類似于C語言,如果具有C語言基礎(chǔ)的人,只需要花很少的時間便能迅速掌握Verilog,而VHDL則較為抽象,學習的時間較長。 作為在校大學生,學習Verilog的最好時期是在大學二年級開設(shè)《電子技術(shù)基礎(chǔ)(數(shù)字部分)》時同步學習,不僅能夠理解數(shù)字電路實現(xiàn)的方式,更能通過FPGA將數(shù)字電路得以實現(xiàn)。作者發(fā)現(xiàn)華中科技大學康華光教授主編的《電子技術(shù)基礎(chǔ)(數(shù)字部分)》非常好,可以說是一本與時俱進的教材,在本書的第二章最后一節(jié)專門介紹了Verilog語言與FPGA,并且在每一章的最后一節(jié)都介紹了如何使用Verilog建模實現(xiàn)相關(guān)數(shù)字電路的內(nèi)容,因此本書非常適合大二學習FPGA的學生參考。本書是以《電子技術(shù)基礎(chǔ)(數(shù)字部分)》為背景,并與該書同步配套學習FPGA,并在它的基礎(chǔ)上作了改進,源于它而又高于它。 大三、大四的學生還可以進一步強化學習Verilog,建議以北京航天航空大學出版社出版的由夏宇聞教授編寫的《Verilog數(shù)字系統(tǒng)設(shè)計教程(第二版)》作為藍本,本書比較全面地、詳細地介紹了Verilog的基本語法。如果是其他初學者,可以直接借助《Verilog數(shù)字系統(tǒng)設(shè)計教程(第二版)》和本書即能全面掌握Verilog的語法,這是學習FPGA的第一步,也是必不可少的一步。 (2)一個易學易用的硬件平臺是成功的一半 除了學習編程語言以外,更重要的是實踐,將自己設(shè)計的程序能夠在真正的FPGA里運行起來,這時我們需要一個硬件平臺作為支撐,然而很多FPGA硬件平臺的價格卻讓初學者望而卻步,上千元的價格并不是一般的初學者(特別是學生)能夠承受的,關(guān)鍵是缺乏詳細的配套資料,學習起來非常吃力。針對這種狀況,廣州周立功單片機發(fā)展有限公司開發(fā)了一套不以盈利為目的、售價僅99元的FPGA開發(fā)學習板,即使是學生也完全能夠承受得起,希望幫助更多的大學生因此而提高動手實踐能力。 在過去的一年里,我們一共投入了4位開發(fā)工程師圍繞EasyFPGA030開展工作,翻譯了全部開發(fā)工具軟件使用指南和相關(guān)技術(shù)資料,先自己吃透然后再根據(jù)自己的理解、實踐和多次討論,將技術(shù)資料通俗化,并且錄制了第一個“Actel FPGA快速入門視頻教程”供初學者免費下載。為了便于初學者快速入門,當?shù)谝话孀龀鰜礓N售1000套之后,才發(fā)現(xiàn)初學者的焊接經(jīng)驗不足,于是又開始設(shè)計第二版硬件電路,這就是目前大家在網(wǎng)站上見到的一體化EasyFPGA030開發(fā)學習板。 為了能夠帶給大家最充分、最權(quán)威的知識,我們還邀請了國內(nèi)第一家大學EDA實驗室創(chuàng)始人之一的夏宇聞教授給我們進行Veirlog的培訓,之后我們制作了一系列Veirlog視頻教程和PPT供初學者學習,同樣免費提供給大家。同時,我們和夏老師一起共同合作編寫了本書,目的是希望能夠以最快的速度幫助初學者入門,另外我們還有一個30多人的團隊為用戶提供全面的FPGA技術(shù)支持和售后服務(wù),解決用戶的后顧之憂。 由此可見通過EasyFPGA030的平臺學習,不僅可以幫助用戶節(jié)約前期的學習成本,而且該套件詳細的資料使得初學者少走很多彎路,對于初學者來說,EasyFPGA030是一個不可多得的FPGA開發(fā)學習平臺。 (3)技術(shù)的鞏固和升華 對于初學者來說,當有了一定的基礎(chǔ)后,應(yīng)該將技術(shù)繼續(xù)鞏固和升華,作者認為參加競賽是學生驗證所學知識的一個最好的舞臺,不僅能夠鍛煉學生的動手能力,而且能夠發(fā)揮學生的創(chuàng)造力和想象力。 廣州周立功單片機發(fā)展有限公司已經(jīng)成功地舉辦了兩屆“Actel杯中國大學生FPGA電子設(shè)計競賽”,參加的隊伍分別是100隊和300隊,每支隊伍都將免費獲得一套價值1480元的FPGA開發(fā)套件作為競賽的平臺,競賽完后該套件無需退回,而且設(shè)置了最高5000元的獎金,這樣的舉措對公司來說投入非常巨大,也很難立即看到產(chǎn)出,但是我們還堅持去做了,主要是想給學生提供施展才華的舞臺,讓更多的人了解FPGA,對FPGA產(chǎn)生興趣。2009年我們將繼續(xù)啟動第三屆競賽,計劃將隊伍擴大到1000支,我們的目標就是要將創(chuàng)新教育實踐活動進行到底,培養(yǎng)出一批又一批適合企業(yè)發(fā)展需要的人才。 4. 結(jié)語 綜上所述,我們只有了解了什么是FPGA,為什么要學習FPGA,怎么學習FPGA后,我們才能非常有目的、有計劃地學習和掌握這門技術(shù)。本書將從軟件、硬件、Verilog語言、芯片內(nèi)核架構(gòu)、實驗例程等方面介紹FPGA初學者必須掌握的基礎(chǔ)知識,這本書凝聚了周立功Actel團隊全體人員的心血,可謂最全面、最詳細和最新介紹Actel FPGA的圖書,同時我們也非常感謝北京航空航天大學夏宇聞教授撰寫了本書Verilog部分內(nèi)容。 |
書+實驗(板子)的模式 |
good |
好的 謝謝 |
謝謝 |
1 |
2 |
3 |
4 |
5 |
6 |
f |
h1 |
最好有書的目錄和開發(fā)板的圖片 |
有書的內(nèi)容介紹和開發(fā)板的說明就更好了 |