利用FPGA平臺架構(gòu)提升信息娛樂系統(tǒng)設(shè)計靈活性
消費者開始希望能像在家中或使用移動設(shè)備一樣使用汽車中的多媒體信息——包括個性化他們體驗的能力。因此最近幾代汽車中的信息娛樂系統(tǒng)得到了快速發(fā)展,并以10年前無法想像的方式改變著汽車市場。
汽車制造商非常歡迎這種變化,因為它提供了產(chǎn)品差異化的途徑,但這也給他們帶來更大挑戰(zhàn):必須緊跟快速變化的消費產(chǎn)品周期。那些一級制造商正在逐漸采用靈活、可配置的FPGA器件來應(yīng)對挑戰(zhàn),滿足不同設(shè)計要求。
對于那些想要達到新的期望值的OEM來說,問題在于改變整個供應(yīng)鏈的基本行為,包括從如何建立信息娛樂系統(tǒng)架構(gòu)到為這些系統(tǒng)提供的產(chǎn)品和服務(wù)。
這種壓力又傳遞給了一級發(fā)動機控制單元(ECU)供應(yīng)商,因為他們所服務(wù)的OEM堅持要迎合來自消費市場的產(chǎn)品要求,諸如要能夠靈活地適應(yīng)市場變化、降低成本以及不斷縮短設(shè)計周期。在汽車市場中,這種變化的幅度是空前的,并且正在形成猛烈的風暴襲擊一級供應(yīng)商。一級供應(yīng)商如果想在這一領(lǐng)域取得成功,就必須適應(yīng)這種變化。
解決這個問題的一個途徑是開發(fā)一種強大的、關(guān)注靈活性、可擴展性和可適應(yīng)性的平臺方案,這說起來容易做起來難。我們需要考慮這種靈活平臺的兩個方面:其一,最終產(chǎn)品本身的靈活性,以適應(yīng)OEM用戶對現(xiàn)場可升級的要求;其二,基礎(chǔ)平臺的可適應(yīng)性,以便服務(wù)于大范圍的、需求各異的OEM客戶。
例如,OEM 1也許不關(guān)心所使用的底層硬件,只要硬件能夠滿足一系列功能要求即可;而OEM 2可能強制要求或至少強烈建議使用特定的芯片組。第2種情況是平臺方案最難對付的,因為它有可能完全否定硬件,而且一級制造商的平臺所選擇的軟件也可能不同。
問題是:我們需要全盤否定硬件平臺嗎?抑或能復(fù)用硬件平臺元件?
構(gòu)建平臺架構(gòu)
建立硬件平臺架構(gòu)一般有三個基本步驟。首先是選擇最關(guān)鍵的組件,然后是圍繞內(nèi)部核心元件搭建外部“層“。一般來說,形成最終配置是一個反復(fù)實踐的過程。
第一步是選擇核心芯片組,主要考慮因素是成本、特性和性能,雖然設(shè)計人員在這個階段也需要考慮其它重要因素,如硬件/軟件復(fù)用以及公司戰(zhàn)略或OEM要求。
在沒有建立起所有層的架構(gòu)以反映系統(tǒng)真實成本之前,通常不可能最終確定芯片組的選型。而外層所涉及的成本很多時候相當于甚至超過核心芯片組的成本。
第二步是解決所有遺漏的特性和功能。對硬件設(shè)計人員來說,一個理想的情況是,有現(xiàn)成的系統(tǒng)級芯片或芯片組包含了需要的所有特性和功能,并且價格合理,能夠滿足不同客戶的需求。
不過,即使上述情形是可能的,但公司將如何實現(xiàn)有別于其它一級電子產(chǎn)品制造商的功能呢?也許更重要的是,公司將如何規(guī)劃未知/潛在的特性?
這就引發(fā)了一個看似矛盾的問題——外圍電路是可以提供產(chǎn)品差異化的最好機會,并能滿足可擴展性和可復(fù)用性;但人們又在盡量避免它,因為外圍電路的設(shè)計和選擇是一個反復(fù)的過程,類似于一個非常復(fù)雜的拼圖過程。
圍繞核心芯片組的外圍器件所執(zhí)行的功能非常廣泛,包括連接性(補充主芯片組遺漏的接口)、協(xié)處理/加速(從主芯片組卸載處理任務(wù))和接口轉(zhuǎn)換(彌補主芯片組上不合適的接口)。
設(shè)計人員試圖尋找能夠滿足特定功能并且價格可接受的合適器件,但他們經(jīng)常到處碰壁,因為解決架構(gòu)中某個部分的問題會導(dǎo)致另一個部分出現(xiàn)問題。即使確定了可接受的器件,也還會遇到汽車認證或長期可用性方面的問題。
尤其是對于信息娛樂系統(tǒng)架構(gòu),設(shè)計人員必須綜合考慮到很多方面,比如音視頻的源端和接收端、有線和無線、顯示器、消費者端口連接和存儲,以及后端汽車網(wǎng)絡(luò)等。
上述內(nèi)容涉及到汽車頭部單元中的各種子系統(tǒng),而這些頭部單元正是信息娛樂系統(tǒng)的中心硬件組件。
今天,實現(xiàn)系統(tǒng)設(shè)計所要求的全部接口數(shù)量——尚不包括服務(wù)于每個接口所需的性能——正在呈爆炸式增長,因此對核心芯片組的特性和性能也提出更高要求。
FPGA解決方案
目前已經(jīng)有數(shù)代信息娛樂系統(tǒng)架構(gòu)平臺使用了FPGA器件,這些FPGA擔負著主處理器或芯片組的支撐(或補充)作用。在這種角色中,F(xiàn)PGA一般被稱為配套芯片。有經(jīng)驗的用戶已經(jīng)認識到,F(xiàn)PGA不僅可以用來彌補架構(gòu)中的漏洞,而且還能更多地被用作核心元件,為基礎(chǔ)架構(gòu)增加更多的靈活性和可擴展性。
這樣做通常要求在架構(gòu)定義的早期階段就要引入FPGA,并將FPGA歸類為核心芯片組中的一個元件。這樣,設(shè)計人員就能在內(nèi)存子系統(tǒng)、系統(tǒng)啟動時序、通用系統(tǒng)性能和平臺總體成本等方面獲得各種系統(tǒng)級的益處。
一些芯片組具有內(nèi)置擴展能力,例如帶有PCIe或其它專用串行/并行接口的芯片組。有些芯片組沒有專門的內(nèi)置擴展功能,設(shè)計人員不得不使用替代性接口,如USB或SD端口。這意味著FPGA必須能夠通過其中一種解決方案支持一種接口,但代價是創(chuàng)建接口需要一定的時間和知識儲備。
賽靈思聯(lián)盟合作伙伴Xylon公司已經(jīng)開發(fā)出一種知識產(chǎn)權(quán)(IP)基礎(chǔ)包,可以實現(xiàn)連接不同接口所要求的“管道”,從而有效解決數(shù)據(jù)出入主系統(tǒng)的問題。由于無需了解一個特定主機接口的規(guī)范,因而設(shè)計人員可以從容地專注于設(shè)計的應(yīng)用方面。
既然快速改變主機接口是可能的,那什么時候適合做出改變呢?在許多情形下,調(diào)整平臺是有用的方法。將基礎(chǔ)平臺從低端產(chǎn)品調(diào)整到高端產(chǎn)品也許就是一個很好的例子。后者可能有要求高帶寬的應(yīng)用接口——例如視頻輸入——因此PCIe是必要的。
在同一系列的低端產(chǎn)品中,也許不要求視頻輸入,此時帶寬需求將顯著下降。這時最具成本效益的架構(gòu)是使用對主機接口要求較低的應(yīng)用接口,例如USB或SD。
FPGA的靈活性和可擴展性是與生俱來的。在本例中,F(xiàn)PGA本身可以調(diào)整到采用相同封裝或不同封裝的更小器件。
由Xylon公司開發(fā)的配套芯片接口庫(CCI)提供了非??焖俚拇罱ā罢鎸崱苯涌诘姆椒?,避免了對性能指標的猜測,而在實際系統(tǒng)中性能指標是高度可變的。該公司的信息娛樂配套芯片開發(fā)平臺提供了簡化設(shè)計過程的必要硬件和軟件,不僅具有靈活性和可擴展性的優(yōu)勢,而且縮短了開發(fā)時間。
圖:硬件平臺架構(gòu)流程。
評論