<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 淺談FPGA 的演進(jìn)、優(yōu)勢、設計、改進(jìn)

淺談FPGA 的演進(jìn)、優(yōu)勢、設計、改進(jìn)

作者: 時(shí)間:2012-03-13 來(lái)源:網(wǎng)絡(luò ) 收藏

- 數字經(jīng)濟時(shí)代的基石

本文引用地址:http://dyxdggzs.com/article/190658.htm

正如我在《科技以人為本 - CES結語(yǔ)》一文中講的,科技在近20年里發(fā)生了翻天覆地的變化,背后的推動(dòng)主要來(lái)自于半導體技術(shù)的飛速發(fā)展,其中最大的革命是天才的人們通過(guò)模數變換,把自然界的一切模擬量變換到數字域,在數字域里用我們5千年來(lái)練就的功力 - 數學(xué)來(lái)描述并處理模擬的世界,在數字邏輯的基礎上人們又發(fā)明了基于指令的計算、數字信號處理等技術(shù),于是有了我們今天的壓縮視頻、數字通信、無(wú)線(xiàn)網(wǎng)絡(luò )、互聯(lián)網(wǎng)等等,可以說(shuō)“數字”是當今半導體科技的主旋律,我們正處于一個(gè)“數字時(shí)代”,正如本年度的CES也把主旋律定義成了“數字經(jīng)濟”。從事電子技術(shù)的同仁們都知道,數字邏輯的基本單元就是“門(mén)”,由眾多的“門(mén)”構成各式各樣無(wú)論多么復雜的邏輯功能。 - “現場(chǎng)可編程”“門(mén)陣列”,也就成了數字領(lǐng)域的“樂(lè )高”,用它可以搭建出任意的作品。 ­

的演進(jìn) ­

讓我先來(lái)回顧一下歷史。1989年我第一次接觸到電路板的時(shí)候,上面密布著(zhù)一系列的TTL、CMOS芯片,一顆14~20只管腳的芯片中一般只有4-6個(gè)簡(jiǎn)單的“門(mén)”,十幾個(gè)芯片的大板子也就完成尋址、譯碼之類(lèi)的功能,使用起來(lái)是非常的痛苦,如果要修改邏輯,只能用手術(shù)刀切割電路板并進(jìn)行飛線(xiàn)。94年的時(shí)候我開(kāi)始使用GAL(當時(shí)是Lattice的16V8,20V8),覺(jué)得那簡(jiǎn)直是一個(gè)革命,竟然可以用軟件編程修改芯片內部的邏輯而不用切割電路板,當時(shí)GAL不方便的地方在于輸入、輸出管腳都已經(jīng)固定好,不能夠在線(xiàn)編程,每次修改邏輯都需要使用暴力把芯片從板座上拔下來(lái)放回編程器上進(jìn)行修改。不久Lattice、AMD(好像還有Philips)都推出了能夠在線(xiàn)編程的PLD(CPLD/EPLD),專(zhuān)業(yè)術(shù)語(yǔ)叫ISP(In System Programming),I/O管腳已經(jīng)可以任意定義,管腳數量也達到44個(gè)以上,非常適合中等規模的數字邏輯設計。1995年后期由于項目的需要,PLD已經(jīng)無(wú)法滿(mǎn)足我們系統的要求,因為我們需要芯片內部要有大量的寄存器做Buffer, FIFO等。于是Altera, Xilinx以及他們的代理商輪番去拜訪(fǎng)我們的實(shí)驗室,給我們推薦新的器件 - FPGA。FPGA跟PLD有很大的不同:第一,PLD是可以通過(guò)再編程修改邏輯的器件,一旦編程好了,就如同功能固定的邏輯功能塊可以做它該做的事情了,FPGA就像白癡一樣,一掉電里面的東西全不見(jiàn)了,每次板子上電的時(shí)候需要從外部PROM(比小容量的FPGA還貴,而且原廠(chǎng)提供的一般都是只能一次編程的)把邏輯加載進(jìn)來(lái)。第二,FPGA的結構跟PLD是不一樣的,PLD的優(yōu)勢在于速度,主要用途在于靈活地構建各種組合和時(shí)序邏輯,而FPGA拼的是內部的存儲器,后期的FPGA內部有大量的塊狀存儲器(可方便地配置成SRAM,雙口RAM、FIFO等)以及分立的存儲器,適用于需要大量?jì)炔看鎯ζ鞯膽?,比如數據采集,通信系統中的交織、去交織,在FPGA內部構建帶有一定容量存儲器的微處理器 - 8031、RISC等,在PLD里面你是沒(méi)有任何可能的。因為當今的大多數設計中都會(huì )用到微處理器,FPGA廠(chǎng)商爭相針對這些需求開(kāi)發(fā)了一些軟核,比如Xilinx的PicoBlaze(8位的)、MicroBlaze(32位的),后來(lái)覺(jué)得不過(guò)癮干脆把PowerPC給硬化進(jìn)去了,一顆不夠,有的芯片里面還要塞4顆。

當年我們項目中采用了Xilx的XC40xx,設計采用原理圖輸入,非常的原始但是很直觀(guān)。美中不足的地方在于Xilinx的軟件界面不太友好。2000年到美國后仍然從事硬件設計,還是使用Xilinx的FPGA,不過(guò)設計的方式先進(jìn)了很多 - 用上了Verilog,比較自豪的工程 - 完整的QAM調制器、基于USB的數字示波器、任意波形發(fā)生器以及一系列的通信系統應用模塊。­

在前后十年多的時(shí)間里,可編程邏輯器件尤其是FPGA從結構、容量、速度、編程軟件、服務(wù)模式等方面都有了巨大的變化,小到最基本的數字邏輯,大到復雜的通信網(wǎng)絡(luò )、視頻編解碼系統乃至ASIC原型設計,無(wú)處不見(jiàn)FPGA的身影。今天如果一個(gè)研發(fā)用的電路板上沒(méi)有FPGA,這個(gè)研發(fā)項目的技術(shù)含量基本不高;如果一個(gè)工程師不會(huì )使用FPGA,他根本不好意思跟別人說(shuō)自己是做硬件的;如果一個(gè)理工科院校還沒(méi)有FPGA的課程,這個(gè)學(xué)校一定十分不靠譜,需要Xilinx大學(xué)計劃的幫助。­

FPGA的優(yōu)勢:­

根據應用的不同,設計者所采用的解決方案也會(huì )不同,在大規模數字芯片中比較典型的技術(shù)主要有:微處理器、DSP、專(zhuān)用集成電路ASIC等,相對于這些技術(shù)的應用來(lái)講,FPGA有什么優(yōu)勢呢?­

1. 微處理器:今天的微處理器(包括微控制器)品種繁多,結構也各不相同,從4位、8位、16位、32位到64位,有8051,PIC,RISC、ARM、MIPS、Xtensa以及X86等,他們大多有豐富的接口同各種外設進(jìn)行連接,通過(guò)軟件執行不同的進(jìn)程,從而完成一定的任務(wù),并將控制命令或結果進(jìn)行輸出??梢哉f(shuō)通過(guò)軟件編程微處理器可以做任何事情,但是致命的缺點(diǎn)就是速度有限,在外部時(shí)鐘的節拍下順序執行一條條的指令,不能并行處理,因此微處理器廠(chǎng)商只能玩命提高芯片的速度(比如Intel的芯片時(shí)鐘在2GHz以上,ARM已經(jīng)在600MHz以上),對于更復雜的任務(wù)只能多放幾個(gè)兄弟在里面一起干活,也就是今天的多核技術(shù)。由于一般稍微復雜一些的系統都會(huì )用到微處理器用于輸入輸出、多進(jìn)程處理以及網(wǎng)絡(luò )通信等,很多滿(mǎn)足一定性能需求的通用微處理器成本較低,因此被廣泛采用?,F在微處理器領(lǐng)域最熱門(mén)的技術(shù)術(shù)語(yǔ)無(wú)疑就是 “嵌入式系統”了,但我可以負責任地講,大多數人對“嵌入式系統”的理解是片面甚至是錯誤的。有些公司為了商業(yè)利益把嵌入式系統以“皇帝的新裝”模式進(jìn)行大規模地忽悠,導致人們幾乎把“嵌入式系統”同某一種IP類(lèi)型畫(huà)上了等號,這個(gè)行業(yè)涌現出了大批的根本不懂嵌入式系統的嵌入式系統工程師。­

2. DSP: 數字信號處理,精于在數字域通過(guò)執行相應的程序進(jìn)行信號的處理,廣泛用于音、視頻,通信等領(lǐng)域。眾所周知,通用DSP的領(lǐng)導廠(chǎng)商當首推TI, 當然很多通信芯片公司、視頻芯片公司都在自己芯片內部放入了相應的DSP模塊,同微處理器一起構成完整的系統。微處理器負責控制、人機界面、網(wǎng)絡(luò )通信等,其對應的執行軟件一般稱(chēng)作Software;DSP負責算法,比如濾波、空間變換、FFT/IFFT、調制解調等,相應的執行程序被稱(chēng)作Firmware。DSP的優(yōu)點(diǎn)是靈活,由軟件控制的可編程,并支持大規模的乘除法運算,缺點(diǎn)同微處理器一樣是串行處理,無(wú)論做多少個(gè)事情要一個(gè)個(gè)排著(zhù)隊來(lái)做。­

3. ASIC:專(zhuān)用集成電路。一般為廠(chǎng)商在確定市場(chǎng)量比較大的情況下,為了降低成本而把比較成熟的功能做在一顆芯片中,執行已經(jīng)確定的一些應用。它的優(yōu)點(diǎn)是顯然的:便宜,專(zhuān)用。缺點(diǎn)也是明顯的,發(fā)現有問(wèn)題了再改?對不起重新交錢(qián)。如果量不大,平攤下來(lái)的單片成本就會(huì )相當的高,一顆芯片的設計、流片、測試的周期沒(méi)有6個(gè)月是下不來(lái)的,時(shí)間成本是巨大的。另外客戶(hù)的需求幾乎是無(wú)限的,他們的胃口也是不斷增加的,無(wú)論你設計中考慮的多么周全,都無(wú)法滿(mǎn)足所有客戶(hù)的需要,你會(huì )發(fā)現很多外設的接口需要增加、改進(jìn),內部的功能需要調整,片上的存儲空間受到了限制等等。­

4. FPGA: 它比較明顯的缺點(diǎn)就是相對來(lái)講成本較高,主要用于研發(fā)過(guò)程中或者市場(chǎng)量不會(huì )很大,FPGA在系統的整體價(jià)格中不敏感。一顆FPGA芯片的價(jià)格從低于1美元到幾千美元不等,當然這是可以理解的,畢竟靈活性是靠高度的冗余帶來(lái)的。它的好處是其它任何一種技術(shù)無(wú)法比擬的 - 它幾乎可以做任何事情,你可以用它搭建多個(gè)微處理器,用它構建自己的乘、除法單元做出幾個(gè)DSP來(lái),而且這些處理器、DSP可以同時(shí)干活,并行工作,與此同時(shí)您還可以利用芯片內部未用的資源做很多輔助的功能,可以說(shuō)是高度的靈活。­

以一個(gè)應用為例,今天的汽車(chē)電子也是以人為本,該領(lǐng)域的一個(gè)重要的技術(shù)熱點(diǎn)就是“司機幫助(DA)”系統,它由超聲、雷達、照相機以及激光等多種不同的傳感器構成,這些不同的傳感器在不同的時(shí)刻或者同一時(shí)刻把相應的信號采集下來(lái),發(fā)往中央處理單元進(jìn)行識別、運算、做出判斷,幫助司機在倒車(chē)、高速行駛以及夜間行駛的時(shí)候能夠對周?chē)沫h(huán)境在最短的時(shí)間內做出準確的判斷并做出一系列的安全保護動(dòng)作。如果采用微處理器或DSP對多傳感器的信號進(jìn)行處理,它們無(wú)法并行執行多個(gè)任務(wù),并且同其他系統進(jìn)行互聯(lián),因此就會(huì )造成系統的處理時(shí)間延遲,可靠性差,從而導致事故無(wú)法及時(shí)避免。如果采用ASIC呢?隨著(zhù)用戶(hù)對功能要求的不斷增加,對性能要求的不斷升級,也就要求算法要不斷的改進(jìn),顯然采用ASIC無(wú)論從靈活性還是成本上都是不合算的。圖1是Xilinx專(zhuān)為汽車(chē)電子開(kāi)發(fā)提供的功能模塊,圖2為在一顆Spartan-3E FPGA中針對“司機幫助”集成了很多的功能 。­

FPGA的設計:­

FPGA的功能越是強大,對設計的要求也就越高,畢竟有那么多的管腳需要跟其它芯片連接起來(lái),有那么多的功能要一行一行地采用邏輯寫(xiě)出來(lái),遠遠不是十年前處理門(mén)級電路的時(shí)候了。雖然今天大多數用過(guò)FPGA的工程師已經(jīng)對這個(gè)痛苦的過(guò)程深有體會(huì ),我還是把他們列舉在此:­

1. 電路板設計:­

現在的電路板設計動(dòng)不動(dòng)就是4層板、6層板甚至更多層,芯片的封裝也變得稀奇古怪,什么QFN、BGA等等,如果發(fā)現了連接不對想手工修改,拿著(zhù)烙鐵都找不到往哪里燙,根本沒(méi)有露出來(lái)的管腳。尤其是FPGA芯片, 256個(gè)管腳的BGA封裝都算照顧你了,如果再增加一些功能,容量再大一些,一不留神就到1000多個(gè)管腳去了,光做原理圖中的符號就要折騰你三天,完了還要拿著(zhù)放大鏡不斷地檢查,否則做回來(lái)的電路板極有可能是廢的。這還不算,等你布局、布線(xiàn)的時(shí)候你會(huì )發(fā)現很多的線(xiàn)都是扭著(zhù)的,一是難布,二是電氣性能也不好,好在FPGA的管腳是可以重新配置的,修改一下管腳的定義就可以讓芯片之間的聯(lián)線(xiàn)能過(guò)做到最優(yōu)。­

當然系統的速度高了,對高速數字設計方面的知識要求就是必須的了,這里面有一個(gè)詞叫“信號完整性”,有幾位美國大牛在這方面很有研究,其中有不少他們的著(zhù)作翻譯成中文了。如果你想真的理解并能夠靈活應用,好好回爐去學(xué)扎實(shí)電磁場(chǎng)理論,不懂電磁理論,就不可能做好高速數字設計。FPGA支持各種高速串、并行總線(xiàn)并在很多系統中要和高速的數據、時(shí)鐘進(jìn)行連接,如果信號被你給搞得不完整了,整個(gè)系統性能會(huì )大大降低甚至不干活。­

一般的系統都會(huì )有一個(gè)需要大電流的Core電壓(1.2V或1.8V等,取決于工藝)和一個(gè)需要小電流的接口電壓(一般是+3.3V),并且有多組不同的地。除了這些對工程師的布線(xiàn)提出挑戰之外,還必須重視的一個(gè)部分就是鎖相環(huán)(PLL/DLL),這個(gè)部分的布線(xiàn)是相當的關(guān)鍵,一旦有問(wèn)題,整個(gè)系統的性能就會(huì )大打折扣,雖然數字的電路不是0就是1,可它就跑不快了。­

2 邏輯設計:­

最初用PLD/FPGA的時(shí)候還都是采用圖形輸入法,直觀(guān)而原始?,F在FPGA的用戶(hù)基本都在采用更高級的語(yǔ)言 - VHDL或Verilog,這種語(yǔ)言高級得如同C,用起來(lái)非常容易。但是您千萬(wàn)不能把它當C來(lái)使喚,畢竟硬件和軟件還是不同的。4年前在我做硬件工程師的時(shí)候,一個(gè)擅寫(xiě)DSP軟件的兄弟寫(xiě)了一段FPGA的代碼,他花了整整一頁(yè)的篇幅實(shí)現了一個(gè)用硬件的思路只要4句話(huà)就可以完成的功能,搞得我苦笑不得。在這里面要時(shí)刻注意的是,FPGA內部多個(gè)功能模塊都是可以并行操作的,如果用程序的思路去寫(xiě),基本上會(huì )讓他們排著(zhù)隊串著(zhù)出來(lái),當成DSP用了。­

3 充分利用現有的資源:­

無(wú)需爭議,今天你已經(jīng)不可能徒手把一個(gè)Spartan-3E中哪怕最小的系列給填滿(mǎn)了,重新寫(xiě)一個(gè)I2C接口,重新做一個(gè)以太網(wǎng)的MAC作為鍛煉還可以,在實(shí)際的項目中每個(gè)都自己去寫(xiě)是不可取的,如何利用現有的資源是非常重要的。首先在每個(gè)人的設計工作中要注意積累,把曾經(jīng)用得不錯的功能模塊認真完善后寫(xiě)好文檔以便今后自己或他人使用;再次FPGA的廠(chǎng)商都在配套的軟件中內嵌一些免費的功能模塊,根據自己的需求可以靈活地進(jìn)行配置使用。當今互聯(lián)網(wǎng)時(shí)代,信息分享成了主旋律,因此你可以方便地在一些開(kāi)源的社區中找到自己需要的東西,比如在www.openhw.org社區中你就可以找到并下載很多其他FPGA同仁們開(kāi)發(fā)并驗證過(guò)的功能模塊,如果有問(wèn)題還可以在社區內同他們進(jìn)行互動(dòng)交流,咨詢(xún)等,要把這些先進(jìn)的手段都用上。當然如果公司有財力,又需要在最短的時(shí)間內推出產(chǎn)品,您可以到FPGA廠(chǎng)商的網(wǎng)站上,那里陳列著(zhù)琳瑯滿(mǎn)目的商用IP, 這些都是FPGA廠(chǎng)商會(huì )同他們認證過(guò)的聯(lián)盟廠(chǎng)商共同推出來(lái)的,您可以放心地使用。圖3為Xilinx公司為消費電子領(lǐng)域的“數字顯示屏”提供的系列IP示例。­



關(guān)鍵詞: FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>