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