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

圖:硬件平臺架構流程。
評論