?
隨著芯片和系統(tǒng)設(shè)計變得越來越異構(gòu),FPGA 在一些關(guān)鍵的功能中變得越來越受歡迎。
隨著 FPGA 越來越被視為異構(gòu)設(shè)計中的關(guān)鍵組件,它的特性日益豐富,人們對它的關(guān)注度也日益提升。
在過去,只要產(chǎn)品的出貨量達到一定程度,F(xiàn)PGA 就會被降級為測試用芯片,最終被功耗更低和性能更高的 ASIC 取代。在過去的二十年中,F(xiàn)PGA 在整個供應鏈中的地位逐漸上升,從最初的邏輯器件到如今的協(xié)處理器,它正逐漸被應用在從數(shù)據(jù)中心到超級計算機的各種高性能關(guān)鍵任務中。
現(xiàn)在,作為降低主處理器集群工作負荷的一種方式,它們被嵌入到采用 CPU 集群的大型設(shè)備中,和 CPU 分享相同的總線進行預處理或后處理。嵌入式 FPGA 還被用于網(wǎng)絡加速,執(zhí)行報文處理,在報文交換前或者必須由 CPU 決定如何處理這些信息之前,對報文進行深度檢測、加密 / 壓縮或其他類型的報文處理任務。在無線應用中,嵌入式 FPGA 被用作數(shù)字前端,在功率放大器和無線卡之間,或者在通信鏈路中執(zhí)行線性化、預失真和其他任務。
因為 FPGA 是可編程的,所以在系統(tǒng)運行期間,可以使用它們對系統(tǒng)進行優(yōu)化。多年來,移動基站一直依賴 FPGA,主要原因是移動基站的總體部署數(shù)量不大、功耗不是主要考慮因素、定價不像消費類設(shè)備或者移動設(shè)備那樣要求嚴苛。OneSpin 解決方案營銷副總裁 Dave Kelf 說:“移動基站供應商真正需要的是在系統(tǒng)運行期間對 FPGA 進行重新配置?!?/p>
一段時間以來,移動基站提供商對嵌入式 FPGA 表現(xiàn)出了足夠的興趣。一方面,協(xié)議處理這種大活仍需要處理器來處理,另一方面,其它的一些任務中會使用許多固定功能執(zhí)行調(diào)制和誤差校正?!斑@是一些固定功能,必須非常高效和快速地工作,這是 ASIC 的強項所在,”Kelf 說?!暗怯械臅r候可能會使用不同的調(diào)制方案,能夠在需要時切換調(diào)制方案是很有競爭力的。
在一些芯片中嵌入其它類型的芯片并不是什么新鮮事兒。早在 1990 年代,賽靈思就在他們的 FPGA 里面嵌入了 PowerPC 架構(gòu)的處理器,Altera 和 Xilinx 也都在他們的 FPGA 里嵌入了 ARM 架構(gòu)的 CPU。真正的改變在于 FPGA 實現(xiàn)了專用的 SoC 功能,即多個處理器、緩存加上一些硬線接口完成的功能,F(xiàn)PGA 不再僅僅具備嵌入式處理能力,它還具備了一些 SoC 功能。Synopsys 高級產(chǎn)品營銷經(jīng)理 Joe Mallett 說。
“當您將 SoC 功能嵌入到 FPGA 里面時,可以簡化電路板的設(shè)計,”Mallett 說?!澳憧梢詮?BOM(物料清單)中剔除掉不少器件,而且不再需要有一顆微處理器啟動 FPGA 并管理系統(tǒng)的運行。”
嵌入式 FPGA 還可以帶來功耗和和成本上的優(yōu)勢,Achronix 市場副總裁 Steve Mensor 說。 “這種方法確實會增加 ASIC 的尺寸,但是同時你能省掉了一個非常昂貴的器件 - 處理器。你可以減少電路板面積,節(jié)省很多外圍組件,這些都對應著大量的成本,而且,功耗還可以降低一半。”
是否嵌入 FPGA,最終取決于它能在多大程度上增強系統(tǒng)表現(xiàn)。
“當涉及到芯片之間的通信時,無論是 FPGA 到 ASIC,還是其它任何芯片類型,特別是在高帶寬應用中,信號肯定需要通過某種類型的高速管道,”Mensor 說?!巴ㄐ殴艿赖难舆t不會降低系統(tǒng)的最大運行速度,但是由于芯片之間需要來回交互,就在總體上降低了整個系統(tǒng)的性能。因此,如果可以消除這種延遲,系統(tǒng)性能肯定會大幅提高。因此,使用了嵌入式 FPGA,就相當于將之前 ASCI 之間的通信帶寬提高到了無限大。因為這里的 FPGA 功能都是線對線連接,最大延遲為單個時鐘周期,而且如果要使用外設(shè)寄存器,那就相當于直接進入邏輯部分,這個延遲基本上為零個時鐘周期?!?/p>
Mensor 還指出,嵌入式 FPGA 還可以在其他方面提升系統(tǒng)帶寬?!叭绻闾貏e分析一下 FPGA 就會發(fā)現(xiàn),F(xiàn)PGA 芯片的總吞吐量越多,芯片就越昂貴。這是一個簡單的堆砌問題,如果你必須放更多的引腳,芯片面積和封裝也就會越大?!?/p>
Mallett 也同意這種觀點?!扒度胧?FPGA 第一大好處就是它簡化了 BOM,并降低了成本。此外,嵌入式 FPGA 頁可以在 28nm 或者更加先進的工藝制程上制造,這樣便可以得到先進節(jié)點的高性能和低功耗優(yōu)勢。有很多通用功能,人們傳統(tǒng)上會把它放到 FPGA 中,將它變成 SoC 的一部分并以硬化子系統(tǒng)的方式發(fā)揮作用,F(xiàn)PGA 架構(gòu)和其它部件進行耦合,然后你才可能在系統(tǒng)中使用這些功能?!?/p>
嵌入式 FPGA 的另一個獨特特性是它們與處理器緊密耦合?!八麄儧]有通過高速接口進行耦合,因此您可以把軟件和硬件結(jié)合起來完成一件事情,這樣的性能肯定更好。此外,F(xiàn)PGA 的的可擴展性意味著它可以進行適配調(diào)整,使之適應于特定的應用。“Mallett 說。
?
互連是關(guān)鍵
所有這一切聽起來都很簡單,但是人們使用 FPGA 的心態(tài)已經(jīng)發(fā)生了很大的變化。
“曾經(jīng),F(xiàn)PGA 只能算是二等公民,系統(tǒng)中最酷最主要的事情 - 主要是與性能密切相關(guān)的處理任務 - 是由 CPU 或主 ASIC 或 SoC 完成的,F(xiàn)PGA 只被分派完成一些最微不足道的任務,”,NetSpeed Systems 的營銷和業(yè)務開發(fā)副總裁 Anush Mohandass 說?!癈CIX 聯(lián)盟所做的工作能使得 FPGA 成為一等公民。它現(xiàn)在可以訪問與 CPU 相同的內(nèi)存,可以訪問與主處理器相同的信息。微軟這樣的公司已經(jīng)意識到 FPGA 可以加速工作運行,并改變?nèi)蝿盏倪\行方式?!保ㄎ④泴嶒炇以?Hotchips 2014 上發(fā)表了一篇論文,詳細介紹了如果通過將任務卸載到 FPGA 來降低近 20%的功耗并改進性能。)
這些進展催生了一些新的想法,即可以在 FPGA 中執(zhí)行任務,并通過芯片到芯片的互聯(lián)接口與主處理器連接,他說。
Mohandass 說:“嵌入式 FPGA 將工作思路提高了一個層次,而這也正是 Facebook、阿里巴巴和亞馬遜等許多數(shù)據(jù)中心提供商正在實現(xiàn)的。“他們的軟件運行得非??臁P碌乃惴ú粩喑霈F(xiàn),他們想加快搜索速度,加快人們訪問購物清單的速度,這些算法會以一個月到三個月的節(jié)奏發(fā)生變化。如果你想做一個硬件芯片實現(xiàn)它,將需要三年時間,當做出來時算法早就過時了。嵌入式 FPGA 使得人們可以將一塊 FPGA 放在 SoC 中,他們需要改變的完成可以通過這個 FPGA 實現(xiàn)。這就是軟件可編程硬件,您可以獲得 ASIC 或 SoC 的優(yōu)勢,同時又能得到可編程性?!?/p>
驗證挑戰(zhàn)
嵌入式 FPGA 的驗證有幾個重要的挑戰(zhàn)。Cadence 的系統(tǒng)和驗證部門產(chǎn)品管理高級組長 Frank Schirrmeister 指出?!暗谝粋€挑戰(zhàn)是您怎么在構(gòu)建一顆芯片時驗證它,這是一個非常奇怪的問題。此外,那些使用嵌入了 FPGA 的芯片的人也同樣面臨驗證上的挑戰(zhàn)。如果這里有一顆嵌入了 Xilinx Zynq FPGA 的芯片,它們需要具有相當全面的驗證流程,比如對其中的處理器子系統(tǒng)的表示,以及用于軟件開發(fā)的軟件視圖。驗證的挑戰(zhàn)主要來自于你向現(xiàn)有系統(tǒng)中添加哪些東西?!?/p>
而且,具體到實際的系統(tǒng),為了得到最佳的存儲空間和性能,還需要科學地判斷是把一部分功能做到軟件中,還是添加一個專用的加速器來實現(xiàn)它?!坝腥さ囊稽c是,當你的系統(tǒng)里有嵌入式 FPGA 時,你可以做實驗確定分工。在 ASIC 世界里,當你開始流片時,所有的事情都確定下來了?!彼f?!暗窃谇度胧?FPGA 世界中,你確實需要理解把一些功能移到硬件中會怎樣幫助提升性能等等。有些事情可以試來試去,而且有一些虛擬平臺幫助確定在哪里添加 TLM 模型。FPGA 供應商會提供一些高級綜合工具,允許工程師訪問具體的 block。 另一個有趣的概念是使用 OpenCL 編程。”
更多有關(guān)嵌入式 FPGA 的資訊,歡迎訪問 與非網(wǎng)嵌入式 FPGA 專區(qū)
與非網(wǎng)編譯內(nèi)容,未經(jīng)許可,不得轉(zhuǎn)載!