利用FPGA協(xié)處理器優(yōu)化汽車信息娛樂和信息通訊系統(tǒng)設計
另外,在圖像處理中應用FPGA協(xié)處理后可以由單個FPGA完成包含MPEG2、MPEG4和H.264在內的多標準視頻編解碼。事實上,這里可以使用與無線通信應用中相同的FPGA。
FPGA協(xié)處理器通過直接存儲器訪問(DMA)接口與基于處理器的系統(tǒng)整合在一起。運行于嵌入式處理器上的軟件層為每個協(xié)處理器提供一個應用接口,每個協(xié)處理器都有一個初始化例程,可以通過正確的應用協(xié)處理器加載FPGA。在應用程序初始化后,軟件就調用協(xié)處理器控制參數(shù)、時序和數(shù)據(jù)流進出協(xié)處理器。根據(jù)具體的實現(xiàn)標準不同,在FPGA協(xié)處理器和控制處理器之間可能會有高等級的交互,也可能FPGA協(xié)處理器完全獨立工作。在這種情況下,控制處理器只是簡單地加載算法,然后就處于獨立運行狀態(tài)。
加載進FPGA的每個程序映像(program image)需要整合進周邊系統(tǒng)中。FPGA的可編程功能需要一個定義完善的系統(tǒng)接口才能實現(xiàn),因為每個基于FPGA的加速器都要依賴于它才能完成通信。通常FPGA會有多個接口連接控制器、存儲器及其它外圍器件或連接器。FPGA可能同時包含多個協(xié)處理器,這些協(xié)處理器共享一個連接控制處理器的接口。每個外圍器件或協(xié)處理器可以擁有額外的總線用于高性能數(shù)據(jù)流處理。
在視頻編解碼器中,一般有一個輸入源和一個輸出目標。Delphi系統(tǒng)架構中的視頻輸入接口是Amanda ASIC的一部分,并采用ITU-R BT.656接口用于視頻流。這個接口以后可以通過ASIC進行擴展和管理,以適合不同種類的顯示屏。FPGA可能需要連接到其它2條總線,即ASIC芯片上的存儲器總線和主控制處理器的PCI/MPX總線。通過這三個連接,F(xiàn)PGA就能支持高帶寬的視頻和通信應用。
FPGA可以為特定應用處理架構提供可再編程的平臺,從而彌補主處理器的不足。然而,F(xiàn)PGA程序與標準處理器架構的程序具有本質的區(qū)別。FPGA可以提供帶可編程邏輯單元、布線資源、DSP處理模塊、存儲器和I/O的高性能硬件結構。FPGA的系統(tǒng)架構執(zhí)行方式與標準ASSP基本相同,即系統(tǒng)的一些專用功能是通過硬件和軟件開發(fā)工具設計和實現(xiàn)的。這些工具的輸出是一種二進制映像文件,這些映像文件加載到FPGA中后將能確定所有可編程邏輯單元、布線資源、DSP處理模塊等的功能。主處理器可以在系統(tǒng)運行期間將這些二進制映像文件加載進FPGA??梢詣?chuàng)建各種不同的程序映像來支持汽車信息通信系統(tǒng)中可能會用到的MPEG2、MPEG4、H.264、GSM/EDGE、WCDMA、1xEVDO、GPS、3D圖形加速器或其它算法。根據(jù)用戶在娛樂系統(tǒng)中的菜單選擇,特定應用程序可以由主處理器下載到FPGA中,然后接受主處理器的控制。
FPGA用于可編程功能要求良好定義的系統(tǒng)接口
主處理器對特定硬件加速器的控制一般是通過寄存器和存儲器接口完成,每個寄存器控制硬件加速器工作的某些方面。Delphi系統(tǒng)中默認的協(xié)同芯片就是這樣的,對于加載到FPGA的每個協(xié)處理器架構來說也將是這樣。采用FPGA,對于處理像標準化寄存器和存儲器接口以控制編程到器件中的協(xié)處理器這樣的任務來說是很容易的。這個標準接口可以定義如何向協(xié)處理器讀寫數(shù)據(jù)、如何開始和停止讀寫、如何復位,并包含一套控制特定應用操作的寄存器。所有這些寄存器都是FPGA內部線性地址映射中的一部分,因此軟件物理器件驅動器很容易訪問這些寄存器。
用于協(xié)處理器的軟件物理器件驅動器的抽象級別要比用硬件實現(xiàn)的寄存器接口高。軟件驅動器提供了從系統(tǒng)的算法參數(shù)到控制寄存器的映射,因此應用軟件非常容易編寫和維護。更高層模型器件驅動器在底層硬件實現(xiàn)變化過程中仍保持相當?shù)目梢浦残浴elphi系統(tǒng)中的軟件架構可以支持軟件或硬件協(xié)處理器來實現(xiàn)算法,它提供了幾個抽象層,這些抽象層將在軟件或硬件中的算法實現(xiàn)與物理實現(xiàn)分離開來。FPGA協(xié)處理器非常適合Delphi的軟件和硬件架構。
FPGA被設計用于基本架構與Delphi系統(tǒng)架構類似的許多系統(tǒng)中。這些系統(tǒng)內含一個以上的控制或DSP處理器,并利用FPGA來加速那些需要高性能處理的任務。實現(xiàn)FPGA協(xié)處理器的關鍵挑戰(zhàn)在于以下幾個方面:設計用于FPGA的不同的硬件加速器;硬件加速器與外部控制處理器整合;創(chuàng)建控制硬件加速器的軟件層。所有要求的硬件加速器包括用于視頻和通信應用的主流算法。這樣的應用今后會有廣闊的市場,而且這種市場發(fā)展后會培養(yǎng)更多的特殊標準知識產權(IP)硬件加速器專業(yè)設計公司,這些公司能夠提供可以直接用在先進的低成本FPGA中的現(xiàn)成算法。另外,也可以購買針對MPEG2、MPEG4、H.264、WiFi和其它視頻與通信標準設計的商用IP模塊。圖3就是Amphion公司推出的MPEG4解碼器IP模塊框圖,可用于ASIC或FPGA中。
圖3 |
下一步是將FPGA中的硬件加速器與用于控制、數(shù)據(jù)輸入和輸出的外部總線整合起來。設計工程師可以利用新型開發(fā)工具輕松地實現(xiàn)這一步。設計工程師可以使用Altera公司提供的系統(tǒng)集成工具SOPC Builder從可用的IP列表中選擇合適的IP模塊。在選擇時工具會提供一份參數(shù)化菜單,用戶可以在實現(xiàn)以前控制不同的架構選項。一旦參數(shù)設定后,模塊就會包含在工程師準備集成的其它外圍器件和處理器列表中。當每個IP模塊都選好并設定參數(shù)后,還需要將其集成進處理架構中。
SOPC Builder使設計工程師可以定義高性能的交換架構(switch architecture),并通過交換架構將各種硬件加速器和周邊器件與外部主處理器連接起來。在模塊互連的直觀矩陣圖上通過點擊鼠標就可以完成這種開關架構的定義。在定義好之后,SOPC Builder就能自動組合各個IP,然后生成硬件描述語言的描述,并自動綜合成最終的FPGA程序。在運行期間將最終程序下載到FPGA,從而實現(xiàn)特定算法的協(xié)處理器。
硬件整合完成后,需要用軟件物理器件將高層軟件控制與用于控制硬件加速器的具體寄存器和存儲器映射架構分隔開。用于控制硬件加速器的寄存器和存儲器是參數(shù)化IP模塊的標準組件。然而,多個外圍器件與加速器的整合需要一份在FPGA上實現(xiàn)所有可編程特性的寄存器和存儲器映射。SOPC Builder在將IP組裝進用戶定義的交換架構時能夠自動創(chuàng)建這樣的寄存器和存儲器映射。
每個IP模塊都包含一套預先定義好的軟件物理器件驅動器,這些驅動器主要用于外部主處理器對IP模塊的控制。SOPC Builder能夠自動組裝各個軟件物理器件驅動器,并自動將每個驅動器與被它控制的IP模塊相關的寄存器和存儲器映射關聯(lián)起來。因此SOPC Builder能夠通過這種方式自動創(chuàng)建并整合FPGA協(xié)處理器和控制處理器的硬件與軟件架構。SOPC Builder可以滿足FPGA快速發(fā)展的性能要求,并適應FPGA不斷增強在復雜系統(tǒng)實現(xiàn)中應用的能力。
推動FPGA技術快速發(fā)展的因素
可編程邏輯器件自從20年前推出以來得到了迅猛發(fā)展,已經(jīng)從低水平的膠合邏輯發(fā)展成目前具有最低成本、最高可編程處理性能的器件。驅動FPGA性能和成本的二大關鍵要素是:FPGA架構的發(fā)展以及FPGA使用半導體技術的方式。FPGA架構提供的可編程邏輯單元陣列是與可編程布線資源組合在一起的。在早期的低密度FPGA中,這種架構能完成簡單處理單元的互連。隨著FPGA密度的提高,陣列架構可以提供高度并行處理的能力。目前FPGA架構的整個處理陣列內包含有存儲器模塊、DSP模塊和可編程I/O,因此能夠輕松滿足汽車信息處理系統(tǒng)的性能要求。
FPGA發(fā)展的另外一個重要驅動源是工藝技術及其對性能和成本的影響。采用最新一代工藝技術可以提高FPGA的密度和性能,降低FPGA的成本。同時,F(xiàn)PGA的廣泛應用反過來也促進工藝技術的發(fā)展。FPGA對半導體工藝技術的發(fā)展極具價值,因為它們使用的規(guī)則結構能夠在其生命周期的早期就投入批量生產。FPGA的規(guī)則結構非常方便產品缺陷測試中統(tǒng)計數(shù)據(jù)的收集,這對精確調整工藝技術以達到更高制造良品率是非常重要的。FPGA和工藝技術之間的共生關系不斷地提高著FPGA的密度,并降低器件的成本。因此相對專用ASIC和ASSP來說,目前Altera的Cyclone系列低成本FPGA在價格方面極具競爭性。
本文小結
汽車娛樂系統(tǒng)的技術和差異化在不斷快速發(fā)展。先進的系統(tǒng)架構服務于大部分主流汽車市場,并通過附加ASSP和軟件的支持實現(xiàn)高端產品的差異化。FPGA提供了高性能和靈活的協(xié)處理平臺,并將許多ASSP的功能整合進一個可再編程平臺。FPGA協(xié)處理器非常適合Delphi架構這樣的主流汽車娛樂架構。將FPGA協(xié)處理器用作高端汽車娛樂系統(tǒng)架構的一部分后,汽車公司就可以通過軟件編程提供ASSP無法單獨提供的多種高端視頻和通信性能。靈活的高端汽車娛樂架構利用FPGA可以在汽車銷售甚至整個汽車生命期內不斷實現(xiàn)新的功能。在銷售和售后階段增強汽車娛樂系統(tǒng)功能的能力可以提升汽車售中和售后的價值,而以前被租汽車的轉售價值仍是汽車制造商贏利的主要來源。
評論