FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。那么這項技術的獨特的優勢在哪里?下面我們就來介紹FPGA,一起了解FPGA的優勢。
1、什么是FPGA?
在最高層面上,FPGA是可重新編程的硅芯片。使用預建的邏輯塊和可重新編程布線資源,用戶無需再使用電路試驗板或烙鐵,就能配置這些芯片來實現自定義硬件功能。用戶在軟件中開發數字計算任務,并將它們編譯成配置文件或比特流,其中包含元器件相互連接的信息。此外,FPGA可完全可重配置,當用戶在重新編譯不同的電路配置時,能夠當即呈現全新的特性。過去,只有熟知數字硬件設計的工程師懂得使用FPGA技術。然而,高層次設計工具的興起正在改變FPGA編程的方式,其中的新興技術能夠將圖形化程序框圖、甚至是C代碼轉換成數字硬件電路。
各行各業紛紛采用FPGA芯片是源于FPGA融合了ASIC和基于處理器的系統的最大優勢。FPGA能夠提供硬件定時的速度和穩定性,且無需類似自定制ASIC設計的巨額前期費用的大規模投入。可重新編程的硅芯片的靈活性與在基于處理器的系統上運行的軟件相當,但它并不受可用處理器內核數量的限制。與處理器不同的是,FPGA屬于真正的并行實行,因此不同的處理操作無需競爭相同的資源。每個獨立的處理任務都配有專用的芯片部分,能在不受其它邏輯塊的影響下自主運作。因此,添加更多處理任務時,其它應用性能也不會受到影響。
2、FPGA工作原理
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。
3、FPGA的基本特點
1)采用FPGA設計ASIC電路(特定用途集成電路),用戶不需要投片生產,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。
3)FPGA內部有豐富的觸發器和I/O引腳。
4)FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。
5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,FPGA芯片是小批量系統提高系統集成度、可靠性的最佳選擇之一。
FPGA是由存放在片內RAM中的程序來設置其工作狀態的,因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,采用不同的編程方式。
加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完成后,FPGA進入工作狀態。掉電后,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。
4、FPGA技術的五大優勢
1)性能
利用硬件并行的優勢,FPGA打破了順序執行的模式,在每個時鐘周期內完成更多的處理任務,超越了數字信號處理器(DSP)的運算能力。著名的分析與基準測試公司BDTI,發布基準表明在某些應用方面,FPGA每美元的處理能力是DSP解決方案的多倍。2在硬件層面控制輸入和輸出(I/ O)為滿足應用需求提供了更快速的響應時間和專業化的功能。
2)上市時間
盡管上市的限制條件越來越多,FPGA技術仍提供了靈活性和快速原型的能力。用戶可以測試一個想法或概念,并在硬件中完成驗證,而無需經過自定制ASIC設計漫長的制造過程。3由此用戶就可在數小時內完成逐步的修改并進行FPGA設計迭代,省去了幾周的時間。商用現成(COTS)硬件可提供連接至用戶可編程FPGA芯片的不同類型的I/O。高層次的軟件工具的日益普及降低了學習曲線與抽象層,并經常提供有用的IP核(預置功能)來實現高級控制與信號處理。
3)成本
自定制ASIC設計的非經常性工程(NRE)費用遠遠超過基于FPGA的硬件解決方案所產生的費用。ASIC設計初期的巨大投資表明了原始設備制造商每年需要運輸數千種芯片,但更多的最終用戶需要的是自定義硬件功能,從而實現數十至數百種系統的開發。可編程芯片的特性意味著用戶可以節省制造成本以及漫長的交貨組裝時間。系統的需求時時都會發生改變,但改變FPGA設計所產生的成本相對ASCI的巨額費用來說是微不足道的。
4)穩定性
軟件工具提供了編程環境,FPGA電路是真正的編程“硬”執行過程。基于處理器的系統往往包含了多個抽象層,可在多個進程之間計劃任務、共享資源。驅動層控制著硬件資源,而操作系統管理內存和處理器的帶寬。對于任何給定的處理器內核,一次只能執行一個指令,且基于處理器的系統時刻面臨著嚴格限時的任務相互取占的風險。而FPGA不使用操作系統,擁有真正的并行執行和專注于每一項任務的確定性硬件,可減少穩定性方面出現問題的可能。
5)長期維護
正如上文所提到的, FPGA芯片是現場可升級的,無需重新設計ASIC所涉及的時間與費用投入。舉例來說,數字通信協議包含了可隨時間改變的規范,而基于ASIC的接口可能會造成維護和向前兼容方面的困難。可重新配置的FPGA芯片能夠適應未來需要作出的修改。隨著產品或系統成熟起來,用戶無需花費時間重新設計硬件或修改電路板布局就能增強功能。
5、FPGA的應用
微處理器是為通用而設計的,必須按照時鐘的節拍,逐條取指、譯指、執行,大多用于低速、實時性要求不高的場合,例如石油探測;FPGA 應用場合相當多,特別是在高速的、實時性強并對時間要求相當苛刻的場合,有很強的數據處理能力,例如無線通信、雷達探測等;是FPGA的一些典型應用:
典型應用一:接口邏輯控制--提供前所未有的靈活性
1)PCI、PCI Express、PS/2、USB等接口控制器
2)SDRAM、DDR、SDRAM、QDR、SRAM、NAND flash、NOR Flash等接口控制器
3)電平轉換,LVDS、TTL、COMS、SSTL等
典型應用二:高速的數字信號處理--提供前所未有的計算能力
1)無線通信領域,如軟件無線電(SDR);
2)視頻圖像處理領域,如高清晰數字電視(HDTV);
3)軍事和航空航天領域,如雷達聲納、安全通信。
其他應用領域
1)汽車,如網關控制器、車用PC、遠程信息處理系統等;
2)消費產品,如顯示器/投影儀、數字電視和機頂盒、家庭網絡等;
3)醫療,如電療、血液分析儀、醫療檢測設備等
4)通信設備 ,如蜂窩基礎設施、寬帶無線通信、軟件無線電等
5)測試與測量,如通信測試與監測、半導體、自動測試設備、通用儀表等。
FPGA技術的采用也越來越為廣泛,不管你是一名邏輯設計師、硬件工程師或系統工程師,甚或擁有所有這些頭銜,只要你在任何一種高速和多協議的復雜系統中使用了FPGA,你就很可能需要努力解決好器件配置、電源管理、IP集成、信號完整性和其他的一些關鍵設計問題,那就要認真了解FPGA技術啦!
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605998 -
cpld
+關注
關注
32文章
1257瀏覽量
169633 -
pal
+關注
關注
1文章
43瀏覽量
27323 -
可編程門陣列
+關注
關注
0文章
18瀏覽量
7821
發布評論請先 登錄
相關推薦
評論