FPGA

編程邏輯前啟動處理器 FPGA加快/簡化系統開發

2010-10-25
10多年來,現場可編程閘陣列(FPGA)廠商一直在尋找可行方案,以便讓眾多嵌入式軟體工程師能夠順利加入主要由硬體設計工程師所組成的用戶群中。軟體發展人員的數量遠遠多於其同行的硬體工程師,在全球的範圍內這個比例高達10︰1,因此開發出一種能讓這兩個群體都能夠立即上手的元件,絕對可以帶來顯著的業務優勢。
目前,賽靈思(Xilinx)正在開發一款全新的以安謀國際(ARM)微處理器(MPU)為基礎的元件--可擴充式處理平台,此平台專門針對軟體發展人員和系統開發人員的實際工作方式而量身訂製。透過解決上述問題,這款創新的元件將為賽靈思帶來新的市場和新的成長水準。

過去10年內,隨著FPGA元件和工具日趨成熟,已發展到能將大量嵌入式處理器如數位訊號處理器(DSP)、微控制器(MCU)和MPU融入主流的可編程邏輯架構內,越來越多嵌入式系統設計人員已經將他們的技能組合拓展到中介軟體(Middleware)和軟體發展工作之外,並能夠熟練地使用硬體設計語言。為數不多的能掌握這種跨學科技能的設計人員開始使用FPGA來建立高度最佳化、高度差異化的架構,透過適當配合的軟硬體,可以實現出色的系統效能、功能與功耗水準。

不過,雖然掌握跨學科技能的工程人員的數量在過去10年內呈緩慢穩步增長態勢,但大多數系統設計人員還是須要依靠硬體工程師來建立其系統所需的客製化硬體功能,以實現系統效能、功能、功耗及成本的最佳平衡。

以處理器為優先

賽靈思準備採用其可擴充式處理器平台推出一款全新元件。此元件主要構建模塊是一套運行在800MHz的32位元ARM CortexTM-A9處理子系統(圖1)。該處理器子系統具有「開箱即用」的可立即啟動及可編程特性。該新型元件的其餘部分由緊密連接的可編程邏輯擴充模塊構成,使設計人員不僅能夠根據系統要求對硬體和軟體功能進行分區,還可在可編程邏輯擴充模塊內實現功能,以建立自己的高度最佳化專用系統單晶片(SoC)。

圖1 賽靈思可擴充式平台將ARM處理器和可編程元件完美結合

賽靈思全球市場行銷與業務開發高階副總裁Vin Ratford表示,對這個元件的架構,該公司花費許多心思,也作了許多規畫,並從以前以PowrPC為基礎的Virtex-II Pro、Virtex-4和Virtex-5 FXT FPGA等各種元件上,以及競爭對手的失誤中吸取不少的經驗及教訓。所有這些元件均採用以硬體設計為中心的系統設計觀念,但就是沒有足夠的處理能力,而賽靈思的可擴充式處理平台採用以處理器優先的方式,這樣軟體設計人員可以開箱即用,並立即啟動開發工作。如果軟體設計人員選擇不這樣做,根本沒必要使用擴充模塊。

不過,許多由軟體設計人員和硬體設計人員共同組成的設計小組對擴充模塊表示支持。賽靈思計畫逐步最佳化使用模式,其最終目的是為軟體發展人員和系統開發人員提供一個環境,讓軟體發展人員在沒有硬體設計人員的輔助下,對處理器外的可編程邏輯擴充模塊進行編程。

Ratford指出,與以往FPGA在處理器之前啟動的架構不同,該新型以處理器優先的平台能夠配合開發人員構建系統架構時的實際工作。而電子系統工程師和軟體工程師在進行系統設計時,一般會先進行軟體開發,然後確定在硬體中建置所須加速的功能。這樣就可以讓設計達到該應用最終所需合適的效能、成本和功耗。在開始計畫的時候,先進行概念驗證。他們並不擔心該如何達到特定客戶所需的具體要求,卻比較在意怎樣才能最有彈性地劃分硬軟體之間的工作。經過多次調整,他們就可以決定把哪些功能交給硬體,哪些功能交給軟體,然後採取步驟進行最佳化,以符合系統要求。賽靈思的元件可以幫助他們比以前更快更好地完成工作。

賽靈思將採用與新一代FPGA相同的低功耗、高效能28奈米(nm)製程技術來提供該新款可擴充式處理器平台。

採用穩定出色ARM架構

賽靈思選擇與ARM合作的原因是ARM不但具有實力,而且其高品質的處理器矽智財(IP)有極高的聲譽。實際上,ARM架構已經成為設計人員追求高速度、低功耗微處理器核心的業界標準。

Ratford表示,在軟硬體功能、效能、生態環境、用戶熟悉程度及功耗等各個方面,ARM都可以輕鬆地為該新型架構提供最佳選擇。當功耗不僅成為無線應用,而且也成為有線應用優先考慮因素時,在該元件中添加極低功耗處理器,將給用戶帶來眾多令人興奮的選擇,幫助用戶達到最佳系統平衡。用戶可以讓硬體擴充模塊執行某些功能,進而增強系統效能。還可以馬上開發出具有驚人出色效能,且只須消耗幾毫安培電量的系統。

最新架構所擁有的一項關鍵特性就是其介面。賽靈思採用高頻寬介面,將基於處理器的系統、擴充模塊和共享記憶體都結合在一起,從而達成以ARM處理器為基礎的完整系統與可編程邏輯擴充模塊間的內部互連。相較之下,在同一印刷電路板(PCB)上,由對比的以MPU為基礎的特定應用標準產品(ASSP)晶片和FPGA構成的典型系統一般需要一百多個輸入/輸出(I/O)才能將它們完美地連接在一起。

此外,在3月推出的先進微控制器匯流排架構(AMBA)的高階可擴充介面(AXI)第四版中,ARM包含專門針對可編程邏輯使用最佳化的AXI規範擴充。AXI-4串流協定擴充是一種雙向縱橫通訊交換機,將可充分發揮豐富的I/O優勢,使工程人員能夠利用這款新的賽靈思元件把系統模塊間傳輸量提升到全新水準,並可同時發揮IP廠商和客戶在過去20多年內為ARM特定應用積體電路(ASIC)和ASSP應用開發的大量硬體周邊核心的效能。

這兩部分之間的緊密結合與整合,再加上新的AXI擴充,也意味著如果設計小組發現某個功能在處理器上運作不理想,或者須要加速某段代碼,就可以針對這個功能建立硬體,並使用業界標準介面將其放入可編程邏輯擴充模塊中。

可大幅縮短開發週期

因為新元件在重定時需要優先啟動處理器系統,因此軟體發展人員可以與硬體開發人員並肩合作,在開箱後可立即對處理器進行編程工作。透過並行建置這些關鍵功能,可以大幅縮短開發週期。

賽靈思處理器市場行銷總監Keith DeHaven表示,有些人買這款產品實際上僅是為了採用其處理器系統。但該元件的價值在於用戶既可以利用其以ARM處理器為基礎的系統來達到命令、控制與應用功能,又可以利用其可編程邏輯來客製化、最佳化產品及達到其差異化。

DeHaven表示,該處理器系統有一套固定的周邊、交換器及記憶體介面,能夠為軟體發展人員提供一致的可編程環境。此外,開發人員可以使用現有的ARM工具和可用的硬體(表1)立即開始工作,讓設計工作一步到位。

這個架構的真正價值,在於設計小組可以在處理器系統與可編程邏輯擴充模塊間移動功能。從處理器角度來看,現在不僅是硬體工程師,軟體工程師也能決定元件如何運行。舉例來說,處理器系統可以使用擴充模塊中的資料來完成周邊功能,也可以把控制權委託給擴充模塊。開發人員很可能須要運用軟硬體聯合模擬,來觀察所交付功能是否在硬體上運行速度更快、功耗更小或者成本更低。而另一些開發人員只是想把不太可能修改的軟體功能卸載到擴充模塊上,以釋放出更多處理器代碼空間,並可用於其他命令。

一旦他們確定哪些功能由硬體負責,哪些功能由軟體負責,就可以讓其硬體工程師使用賽靈思ISE設計套件,並結合AMBA-AXI標準介面,在可編程擴充模塊中建置這些功能。同時,在硬體小組在對擴充模塊進行編程的同時,開發人員也可以繼續開發軟體。

雖然處理器優先的架構很獨特,其使用模式其實也更完整反映了軟體發展人員的實際工作,賽靈思正計畫讓這個流程能更直覺化。

新設計將可輕易添加功能

賽靈思及其合作夥伴正在開發一個通用的標準加速器及周邊(IP核心)綜合套件,以及相關的驅動程式和應用程式介面(API),以便進一步幫助軟體發展人員和系統開發人員在設計中添加功能。其中的一些加速器和周邊將在產品推出時開發完畢,這樣用戶就可以集中精力開發自己的客製化IP,以滿足系統需求,實現產品差異化。

若加速器和周邊的尺寸不一,有設計人員可以在擴充模塊中混合和配對所使用的小功能,也有針對特定設計領域(如連接、DSP和處理過程)和垂直市場(如汽車、工業、科學和醫療、航空與國防、有線和無線通訊等)的完整擴充功能。

從長遠來說,賽靈思正在開發C-to-FPGA編譯器流程,最終為軟體發展人員和電子系統開發人員提供一種隨時可以在軟硬體編程環境中移動功能的途徑,以便於系統的快速開發、評估和最佳化。

DeHaven表示,賽靈思的想法是使用戶能夠在C語言環境中進行開發,並迅速在硬體和軟體中看到結果。實際上,賽靈思一直以來積極監控標準及分析機構柏克萊設計技術公司(BDTI)在評估C級綜合工具使用模式的調查研究結果。

雖然軟體發展人員能夠使用支援ARM Cortex-A9的商業開發工具,賽靈思計畫將其工具和最新元件綁在一起,以幫助開發人員立即著手工作。以Eclipse為基礎的整合開發環境、以GNU為基礎的編譯器、偵錯器及驅動程式均將綁在工具套件和印刷電路板中。DeHaven表示,用戶可以根據自己的選擇來使用該環境。他們可以使用支援Cortex-A9和ARM CoreSight除錯介面的業界工具或賽靈思開發工具來進行開發。

除了ARM原生支援外,賽靈思還與主要的第三方解決方案供應商密切合作,針對使用新元件的工程人員,開發元件專用的套裝軟體如作業系統和開發工具。

適合多種垂直市場

賽靈思開發新架構的動力,來自客戶對可擴充、高彈性、可升級,能讓他們迅速根據自身的需要開發衍生產品元件的需求。可擴充式處理平台可以使客戶的產品從採用固定功能ASSP和ASIC的競爭系統中脫穎而出。Ratford表示,靈賽思已經向幾位客戶預先展示這款元件,他們想趕快得到這款元件,所以靈賽思覺得這款元件的市場潛力無法估計。

舉例來說,賽靈思預計任何融合智慧視訊的垂直市場都可以透過使用這款元件立即獲益。智慧視訊須經多重處理步驟,比如預先處理的畫素分級工作。這個步驟計算量很大,特別適合運用可編程邏輯的並行處理能力。智慧視訊還需要元件級的分析處理,這可以透過將相容的並行如可編程邏輯,和序列如以MPU為基礎的處理能力相結合來達成。同時,訊框層級應用處理一般須要由MPU執行的決策、控制和通訊處理能力來達成。

具體來說,有利可圖的視訊市場包括機汽車駕駛輔助、消費用多種等級的多功能印表機、使用掃描器的普通嵌入式系統、工業智慧相機(包括網際網路協定監控攝像機與機器視覺、DVR、醫療影像系統、廣播工作室攝影機和編碼轉換器)以及國防級夜視設備。

汽車駕駛輔助就是能夠立即從新架構中得到好處的智慧視訊應用之一。這個領域的主要客戶多年來一直在催促賽靈思建立以ARM處理器為基礎的可擴充式平台。

汽車業界的客戶可以對元件進行編程,以控制和分析環車身360度設置的多個感測器提供的資料,並且讓每個感測器同時執行多項功能。舉例來說,智慧型控制感測器可讓這些感測器監控車道,探測鄰近車道上突然並排的車輛,並讓車輛的速度與前面的車輛同步,探測行人,監測停放車輛間的距離以確定準確的停放位置,而且以上這些功能都可同時進行。這樣的系統在探測到威脅時可以立即向駕駛員發出警告。它甚至還可以自動讓車輛減速,以避免碰撞。

新元件以處理器為核心,而非以FPGA為核心。在許多應用中,可能希望控制軟體能夠根據自身運行中的軟體來完成FPGA的再編程工作,但有時又須讓處理器獨立於FPGA架構自行運作。

因為這種元件軟硬體都可以編程,一級廠商可以針對不同的汽車製造商和每個廠家的不同產品線提供該控制器的衍生產品,而不必更改控制單元的整體配置。如此強大的功能可以為原始設備製造商(OEM)廠商節省大量時間、工作量和資金。此外,軟硬體編程能力還意味著該元件可以在現場進行維護或升級。

同樣地,在工業控制領域中,用戶可以開發出能夠管理和分析來自一系列感測器和電機的資料的系統,即時地辨別出裝配線上有缺陷的產品、探測機械上的裂紋、關閉過熱或空載的電機,從而降低工廠成本、最佳化操作,乃至拯救工人的生命。

新元件在有線和無線通訊市場領域也有極大的潛力,特別是在無線長程演進計畫(LTE)射頻、基頻和企業毫微微型蜂巢式(Femtocell)基地台網路市場,以及有線通訊領域的路由器、交換機與多工器。

賽靈思預計該元件還能夠在軍用航空航太領域找到多種用途,特別是支援全局資訊網路的駕駛艙控制、軍需品和通訊設備。

與美商國家儀器密切合作

美商國家儀器(NI)是賽靈思的老客戶,也是該元件的試用客戶。該公司一直在密切關注開發進程,並為賽靈思提出寶貴的回饋意見。目前美商國家儀器在其NI可配置輸入輸出(RIO)LabVIEW FPGA嵌入式平台的印刷電路板上同時整合一個即時處理器和一個賽靈思FPGA。該平台能夠提供多種周邊I/O和預先定義的軟體庫供客戶混用和搭配,以便為各個垂直市場建立特有的嵌入式系統。透過將部分功能從獨立的處理器上釋放出來,讓它們在FPGA上運作,LabVIEW FPGA可以用更快速度運作,並具有儀器、測量和控制應用所要求的確定性。LabVIEW FPGA環境還可以讓典型的LabVIEW用戶或市場領域專家在不了解FPGA設計詳細要求的情況下完成這項工作。

美商國家儀器研發院士Keith Odom表示,美商國家儀器預計採用賽靈思最新架構的嵌入式產品將會以更快的速度運作,同時更為省電。此外,美商國家儀器目前有一款效能非常高的處理器,能夠運行本身高生產力的繪圖設計環境,而且也有極高頻寬將這個處理器系統與可編程邏輯架構連接起來。此外,在處理器和可編程邏輯架構間能夠傳輸的資料量比採用嵌入式處理器為基礎的FPGA,乃至使用以微控制器為基礎的ASSP方法傳輸的資料量要高得多。由於頻寬是如此之高,因此可以跨越機械層面和音訊層面,進入更多電子、無線電或視覺相關應用領域,同時開發出適用於所有應用中資料的更高階演算法。該元件將開啟無限可能。

Odom並提到,由於這款新元件本質上是把兩個元件二合一,所以新元件上的資料通訊功耗會降低。另外,由於這些模組間採用大量I/O進行連接,因此不會消耗如一般情況下高速晶片間通訊所耗費的龐大電力。並且可以使其進入待機模式。

Odom還對新元件以處理器為核心而非以FPGA為核心的理念表示贊同。他指出,這肯定是關鍵所在。在許多應用中,很多人希望控制軟體能夠根據正在運作的軟體來完成FPGA的再編程工作,有時又須要讓處理器獨立於FPGA架構自行運作。而該公司的應用可以根據客戶當前的處理需要,不斷地切換FPGA上運行的功能,這是這個架構特別理想的地方。

Ratford則表示,在賽靈思推出此元件時,並無法預知客戶可以拿它來做什麼,但對這款元件,賽靈思還有些工作要做,這樣才能充分發揮它的潛力。

(本文作者為賽靈思Xcell雜誌發行人)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!