硅晶片融合技術(shù)助力 SoC FPGA設計架構脫穎而出(二)
現場(chǎng)可編程門(mén)陣列(FPGA)是系統設計人員的第三種方案(圖1)。在很多方法中,FPGA一直是以軟體為中心採用CPU架構的方法,與以硬體為中心的ASIC方法之間的一種做法。在FPGA中實(shí)現的演算法,并不像軟體那么容易進(jìn)行修改,但是修改FPGA配置要比投入生產(chǎn)新版ASIC容易得多,即使這種修改只是在幾個(gè)金屬層上。
圖1 現場(chǎng)可編程門(mén)陣列發(fā)展藍圖
相反地,與在軟體中運行任務(wù)相比,在FPGA中運行相同的任務(wù)會(huì )非???,而且功率消耗也很低。但是FPGA通常要比相等價(jià)格的ASIC速度慢,功能效率也要低一些。
因此,當一種僅採用軟體的解決方案無(wú)法滿(mǎn)足速度和功率消耗要求,無(wú)法找到能夠突出產(chǎn)品優(yōu)勢的ASSP,或者使用ASIC不能滿(mǎn)足預算要求,達不到預期的產(chǎn)量,無(wú)法支援往后的系統改動(dòng)時(shí),系統設計人員會(huì )轉向採用FPGA。對于FPGA供應商,這種情況經(jīng)常出現,在最近幾年,FPGA的銷(xiāo)售要比其替代方案好得多。
在監控實(shí)例中,設計人員可以結合使用運行系統軟體的工業(yè)標準微處理器,以及實(shí)現商用硅智財(IP)進(jìn)行標準影像處理和訂製設計DSP管線(xiàn)的FPGA。這樣一來(lái),FPGA中的設計在功能模組層級上類(lèi)似于A(yíng)SIC,而在閘級實(shí)現起來(lái)卻是完全不同。
針對任務(wù)選擇最佳實(shí)現方法
在理想情況下,系統開(kāi)發(fā)人員不必在多種方法上進(jìn)行選擇。開(kāi)發(fā)人員可以針對每個(gè)任務(wù)來(lái)選擇最佳實(shí)現方法??梢栽谙鄳腃PU軟體中實(shí)現很少改變而且不關(guān)鍵的任務(wù)。透過(guò)標準定義性能和功率消耗非常關(guān)鍵的任務(wù),如此一來(lái),這些任務(wù)不會(huì )改變,成為固定硬體。而有可能改變并且需要硬體支援的任務(wù),則在FPGA可程式設計邏輯架構內實(shí)現。
在過(guò)去的幾個(gè)硅晶片製程世代中,這實(shí)際上是常用的方法。那時(shí)的整合度較低,微處理器、加速器、復雜介面控制器及FPGA都是獨立的晶片。但是在90奈米(nm)製程世代,除了FPGA架構外,系統單晶片(SoC)包括這些所有功能,而且由SoC設計人員而不是系統設計人員來(lái)確定大部分實(shí)現方法。系統設計人員選擇最合適的SoC,編寫(xiě)自己的軟體,實(shí)現FPGA與SoC靈活的介面,進(jìn)而突出產(chǎn)品優(yōu)勢。
現在,情況又發(fā)生了變化。晶片開(kāi)發(fā)人員能夠使用大量的電晶體,支援FPGA的硅晶片融合。功能強大的微控制器增加專(zhuān)用硬體,因此它們看起來(lái)像是ASIC SoC。ASIC和ASSP能夠含有功能強大的32位元CPU,因此看起來(lái)像高階微控制器。新的SoC FPGA系列同時(shí)含有多核心CPU和專(zhuān)用硬體模組,契合實(shí)際需求,可支援系統設計人員根據不同的任務(wù)要求來(lái)選擇軟體、專(zhuān)用硬體或是可程式設計邏輯。
設計人員可以?huà)裼眠@類(lèi)融合晶片,在一對功能強大的CPU核心上實(shí)現系統軟體及影像處理演算法的多執行緒部分。他們可以在DSP硬式核心和可程式設計架構上實(shí)現其他演算法,這些都是在一個(gè)晶片上實(shí)現。
日益攀升的開(kāi)發(fā)成本,使得ASIC的應用領(lǐng)域越來(lái)越少,而硅晶片融合發(fā)展趨勢可支援實(shí)現叁種系統層級解決方案。微控制器、ASSP和FPGA變得幾乎是一樣的,但有一個(gè)重要的不同點(diǎn)。出于技術(shù)和智慧財產(chǎn)權法律的考慮,只有FPGA能夠實(shí)現最先進(jìn)的可程式設計邏輯架構。因此只有FPGA支援系統設計人員可在硬體層級實(shí)現其突出產(chǎn)品優(yōu)勢的策略。
硅晶片融合帶來(lái)各種可能
硅晶片融合將為今后幾年的系統開(kāi)發(fā)確定方向。一方面,將看到高階微控制器和ASSP成為系統的硬體基礎,這些系統硬體將實(shí)現商品化,在市場(chǎng)上系統產(chǎn)品之間的不同體現在軟體上。另一方面,也會(huì )看到突出硬體優(yōu)勢、採用FPGA架構的系統脫穎而出。
這種趨勢會(huì )進(jìn)一步加速,塬因是兩種新出現的技術(shù):叁維(3D)IC和異質(zhì)結構程式設計系統。3D IC技術(shù)支援完全不同技術(shù)的IC整合,例如FPGA、微處理器、動(dòng)態(tài)隨機存取記憶體(DRAM)和射頻(RF)等,在一個(gè)堆疊中實(shí)現這些技術(shù),沒(méi)有獨立IC的晶片間時(shí)序和電源成本問(wèn)題。此一趨勢的一個(gè)早期例子是英特爾(Intel)凌動(dòng)(Atom)E6x5C系列,其整合Atom CPU和Altera FPGA。Atom為軟體提供業(yè)界標準架構,而FPGA能夠建立專(zhuān)用加速器和介面控制器。
E6x5C系列還滿(mǎn)足另一種新出現的技術(shù)的需求--異質(zhì)結構程式設計環(huán)境。理想情況下,系統開(kāi)發(fā)人員只須要編寫(xiě)并除錯一個(gè)CPU的軟體就可以開(kāi)始設計。然后,開(kāi)發(fā)平臺會(huì )幫助他們找到關(guān)鍵程式碼片段,在多個(gè)CPU核心上分配任務(wù),共用快取記憶體,為關(guān)鍵程式碼核心建立硬體加速器。透過(guò)這種方法,設計團隊能夠細緻地調整設計,直至其滿(mǎn)足時(shí)序和功率消耗要求。
這種開(kāi)發(fā)環(huán)境的一個(gè)例子是Altera現在正在進(jìn)行的OpenCL-FPGA計畫(huà)(圖2)。其目的是提供單一的環(huán)境,讓系統開(kāi)發(fā)人員能夠在其中採用C語(yǔ)言開(kāi)發(fā)程式,隔離需要大量運算的核心,產(chǎn)生平行硬體引擎來(lái)加速核心,整合最終的硬體軟體系統。
圖2 OpenCL-FPGA計畫(huà)
在提高硅晶片整合度需求的推動(dòng)下,融合功能逐漸將系統所有主要電子模組整合到一個(gè)封裝內,讓系統開(kāi)發(fā)人員能夠集中精力來(lái)突顯其最終產(chǎn)品的優(yōu)勢。FPGA表面上看起來(lái)越來(lái)越像ASSP和微控制器,而實(shí)際上增強系統開(kāi)發(fā)人員突出硬體優(yōu)勢的能力。新出現的3D IC技術(shù)及異質(zhì)結構開(kāi)發(fā)環(huán)境將加速FPGA系統級IC從傳統微電子世界中脫穎而出。
圖3 硅晶片融合將為FPGA開(kāi)創(chuàng )出更多應用可能。
評論