FPGA正變成“瑞士軍刀”, 越來越像SoC

會議推薦

與以前的自我相比,現在的FPGA不再僅僅是查找表(LUT)和寄存器的集合,而是已經遠遠超出了現在的體系結構的探索,為未來的ASIC提供設計架構。

該系列器件現在包括從基本的可編程邏輯一直到複雜的SoC。在各種應用領域(包括汽車,AI,企業網絡,航空航天,國防和工業自動化等)中,FPGA可以使芯片製造商以在必要時可以更新的方式來實施系統。在協議,標準和最佳實踐仍在發展以及要求ECOS保持競爭力的新市場中,這種靈活性至關重要。

Aldec市場總監Louie de Luna表示,這是Xilinx決定為其Zynq FPGA添加Arm核心以創建FPGA SoC的原因。 “最重要的是,供應商已經改進了工具流程。這對Zynq產生了很大的興趣。他們的SDSoC開發環境看起來像C,這對開發人員來說很好,因為應用程序通常是用C語言編寫的。所以他們使用軟件功能並允許用戶將這些功能分配給硬件。“

FPGA正变成“瑞士军刀”, 越来越像SoC

Xilinx’s Zynq-7000 SoC. Source: Xilinx

這些FPGA中的一些不僅僅是類似SoC的。它們本身就是SoC。

“他們可能包含多個嵌入式處理器,專用計算引擎,複雜接口,大容量存儲器等等,”OneSpin Solutions綜合驗證產品專家Muhammad Khan說。 “系統架構師計劃和使用FPGA的可用資源,就像他們為ASIC所做的那樣。設計團隊使用綜合工具將他們的SystemVerilog,VHDL或SystemC RTL代碼映射到基礎邏輯元素中。對於大部分設計過程來說,有效瞄準FPGA和瞄準ASIC或全定製芯片之間的差異正在縮小。”

ArterisIP首席技術官Ty Garibay非常熟悉這一演變。 “從歷史上看,Xilinx在2010年開始走Zynq的道路,他們定義了一款產品,該產品將Arm SoC的硬宏納入到現有FPGA中,” 他說。 “然後Intel(Altera)聘請我做基本相同的事情。價值主張是SoC子系統是許多客戶想要的東西,但由於SoC特別是處理器的特性,它們不適合在FPGA上合成。將這種級別的功能嵌入到實際的可編程邏輯中是令人望而卻步的,因為它幾乎將整個FPGA用於該功能。但是它可以作為整個FPGA芯片的一小部分或一小部分,作為一個硬性功能。你放棄了為SoC提供真正可重構邏輯的能力,但它可以編程為軟件,以這種方式來改變功能。

這意味著可以在該結構中具有軟件可編程的功能,硬宏和硬件可編程功能,他們可以一起工作,他說。 “有一些相當不錯的市場,尤其是在低成本汽車控制領域,無論如何,傳統上都是FPGA旁邊的放一箇中等性能微控制器型器件。客戶只會說,我只是將整個功能放到FPGA芯片的硬宏上,以減少電路板空間,減少BOM,降低功耗。”

這符合過去30年FPGA的發展,原來的FPGA只是可編程結構和一堆I/O。隨著時間的推移,內存控制器與SerDes,RAM,DSP和HBM控制器一起被硬化了。

Garibay說:“FPGA供應商一直在繼續增加芯片面積,但也繼續增加越來越多的硬邏輯,這些邏輯被相當大比例的客戶群普遍使用。” “今天發生的事情是將其擴展到軟件可編程的一面。在這個ARM SoC之前添加的大多數東西都是不同形式的硬件,主要與I / O有關,但也包括DSP,通過強化它們來節省可編程邏輯門是有意義的,因為有足夠的計劃效用。 ”

一個觀點問題

這基本上已經將FPGA變成了瑞士軍刀。

“如果你縮短時間,那只是一堆LUT和寄存器,而不是門,”NetSpeed Systems市場和業務開發副總裁Anush Mohandass說。 “他們有一個經典問題。如果您將任何通用任務與其特定於應用程序的版本進行比較,那麼通用計算將提供更大的靈活性,而特定於應用程序的計算則會提供一些性能或效率優勢。賽靈思和Intel(Altera)試圖越來越多地與其結盟,他們注意到幾乎每個FPGA客戶都擁有DSP和某種形式的計算。所以他們加入了Arm內核,他們加入了DSP內核,他們加入了所有不同的PHY和常用的東西。他們加強了這一點,這使得效率更高,並且性能曲線變得更好。”

這些新功能為FPGA在各種新興市場和現有市場中發揮重要作用打開了大門。

“從市場角度來看,您可以看到FPGA肯定會進入SoC市場,”Synopsys的高級營銷總監Piyush Sancheti表示。 “你是否在做一個FPGA或一個成熟的ASIC是經濟的。這些線條開始模糊不清,我們當然看到越來越多的公司 - 特別是在某些市場 - 正在開展FPGA生產經濟性更好的生產領域。”

從歷史上看,FPGA已經用於原型製造,但對於生產用途而言,它僅限於航空航天,國防和通信基礎設施等市場,Sancheti說。 “現在市場正在擴展到汽車,工業自動化和醫療設備。”

AI,這是一個蓬勃發展的FPGA市場

一些採用FPGA的公司是希望優化其IP或AI/ML算法性能的系統供應商/OEM。

“NetSpeed的Mohandass表示:”他們想要開發自己的芯片,並且其中很多人開始做ASIC,可能有點嚇人。 “他們也可能不想花費3000萬美元的晶圓成本來獲得芯片。對他們來說,FPGA是一個有效的切入點,他們擁有獨特的算法,他們自己的神經網絡,他們可以看到它是否能夠提供他們所期望的性能。”

西門子公司Mentor的Catapult HLS綜合與驗證高級產品營銷經理Stuart Clubb表示,目前AI應用面臨的挑戰是量化。 “需要什麼樣的網絡?我如何建立這個網絡?什麼是內存架構?從網絡開始,即使你只有幾層,並且你有很多數據有很多係數,但它很快就會轉化為數百萬個係數,並且存儲帶寬變得非常可怕。沒有人真正知道什麼是正確的架構。如果答案不知道,你不會跳進來建立一個ASIC。”

在企業網絡領域,最常見的問題是密碼標準似乎一直在變化。 Mohandass表示:“與其嘗試構建ASIC,不如將其放在FPGA中,並使密碼引擎更好。” “或者,如果您在全球網絡方面進行任何類型的數據包處理,FPGA仍然為您提供更多的靈活性和更多的可編程性。這就是靈活性起作用的地方,並且他們已經使用了它。你仍然可以稱之為異構計算,它仍然看起來像一個SoC。”

新規則

隨著新一代FPGA SoC的使用,舊規則不再適用。 “具體來說,如果你在電路板上進行調試,你做錯了,”Clubb指出。 “雖然開發板上的調試被認為是一種成本較低的解決方案,但這可以追溯到能夠說的早期階段:'它是可編程的,您可以在它上面放置一個示波器,您可以查看並查看發生了什麼。但現在說:'如果我發現了一個錯誤,我可以修復它,在一天內編寫一個新的比特流,然後將它重新放回到電路板上,然後找到下一個錯誤,'這太瘋狂了。這是你在員工的時間被視為不是成本的領域看到的很多心態。管理層不會購買模擬器或系統級工具或調試器,因為'我只是付錢讓這個人完成工作,而且我會尖叫他,直到他努力工作。”

他說,這種行為仍然很常見,因為有足夠多的公司以每年下降10%的態度讓每個人都腳踏實地。

但是,FPGA SoC是真正的SoC,需要嚴格的設計和驗證方法。 “構造可編程的事實並不會真正影響設計和驗證,”Clubb說。 “如果你製作SoC,是的,你可以按照我聽到的一些客戶所說的'樂高'工程。這是框圖方法。我需要一個處理器,一個內存,一個GPU,其他一些零件,一個DMA內存控制器,WiFi,USB和PCI。這些都是您組裝的'樂高'積木。麻煩的是你必須驗證他們的工作,並且他們一起工作。”

儘管如此,FPGA SoC系統開發人員正在迅速趕上其驗證方法所關注的SoC系統。

“他們並不像傳統的芯片SoC開發人員那樣先進,他們的處理思路是'這將花費我200萬美元,所以我最好做好準備',因為[使用FPGA]的成本是更低,“Clubb說。 “但是如果你花費200萬美元開發FPGA,並且你弄錯了,現在你將花費三個月的時間修復這些bug,但仍然有問題需要解決。球隊有多大?要花多少錢?上市時的懲罰是什麼?這些都是非常難以清晰量化的成本。如果您處於消費領域,那麼在聖誕節期間您真的很關心如何使用FPGA幾乎不太可能,所以這有一個不同的優先級。在定製芯片中完成SoC的總體成本和風險,並拉動觸發器。而且還會說:'這是我的系統,我完成了',你看不到那麼多。眾所周知,這個行業正在整合,而且大籌碼的大牌球員越來越少。每個人都必須找出一種方法來實現,而這些FPGA正在實現這一目標。”

新的折衷選擇

Sancheti說,工程團隊設計意圖讓他們的選擇對目標設備開放並不少見。 “我們看到許多公司創建RTL並對其進行驗證,幾乎不知道他們是否要去做FPGA或ASIC,因為很多時候這個決定可能會改變。您可以從FPGA開始,如果達到一定數量,經濟可能會有利於調試ASIC。”

對於今天的AI應用空間尤其如此。

eSilicon營銷副總裁Mike Gianfagna表示:“加速AI算法的技術正在發展。 “顯然,人工智能算法已經存在了很長一段時間,但現在我們突然間在如何使用它們方面變得更加複雜,並且以接近實時的速度運行它們的能力,這是非常神奇的。它從CPU開始,然後轉移到GPU。但即使是GPU也是一種可編程器件,所以它具有一定的通用性。雖然架構擅長並行處理,但因為這就是圖形加速的全部內容,所以這很方便,因為這就是AI的全部內容。在很大程度上它是好的,但它仍然是一種通用的方法。所以你可以獲得一定程度的性能和功耗。有些人接下來會轉向FPGA,因為您可以比使用GPU更好地定位電路,並且性能和功效都得到提升。 ASIC在功耗和性能方面是極致的,因為您擁有完全自定義的架構,可以完全滿足您的需求,不多不少。這顯然是最好的。”

人工智能算法很難映射到芯片,因為它們處於幾乎不變的狀態。所以在這一點上做一個全定製的ASIC不是一種選擇,因為它在芯片出廠時已經過期。 “FPGA對此非常好,因為你可以對它們進行重新編程,所以即使花費昂貴的價格,但它不會過時,你的資金也不會打水漂,”Gianfagna說。

這裡有一些自定義的內存配置,以及某些子系統功能,例如卷積和轉置存儲器,這些功能可以再次使用,因此,雖然算法可能會更改,但某些塊不會更改 與/或 一次又一次地使用。考慮到這一點,eSilicon正在開發軟件分析的功能,以查看AI算法。目標是能夠更快速地為特定應用選擇最佳架構。

“FGPA 給了您改變機器或引擎的靈活性,因為您可能會遇到一種新的網絡,提交一個ASIC是有很大風險的,在這個意義上,您可能沒有最好的支持,所以您可以有這樣的靈活性,” eSilicon知識產權工程副總裁Deepak Sabharwal說。 “然而,FPGA在容量和性能方面總是受到限制,所以用FPGA無法真正達到產品級規格,最終你將不得不去ASIC。”

嵌入式LUT

過去幾年中已經取得了進步的另一個選擇是嵌入式FPGA,它將可編程性集成到ASIC中,同時將ASIC的性能和功耗優勢添加到FPGA中。

Flex Logix公司首席執行官Geoff Tate表示:“FPGA SoC仍然主要是處理芯片面積相對較小的FPGA。 “在方框圖中,比例看起來不一樣,但在實際的照片中,主要是FPGA。但是有一類應用和客戶,FPGA邏輯和SoC其餘部分之間的正確比例是要有一個更小的FPGA,使它們的RTL可編程性成為更具成本效益的芯片尺寸。”

這種方法正在尋找諸如航空航天,無線基站,電信,網絡,汽車和視覺處理等領域的牽引力,特別是人工智能。 “算法變化非常快,以至於芯片在他們回來時幾乎已經過時,”Tate說。 “有了一些嵌入式FPGA,它可以讓他們更快地迭代他們的算法。”

Nijssen說,在這種情況下,可編程性對於避免重新制作整個芯片或模塊變得至關重要。

調試設計

與所有SoC一樣,瞭解如何調試這些系統以及構建儀器,可以幫助您在發現問題之前發現問題。

“隨著系統FPGA變得更像SoC,他們需要在SoC中期望的開發和調試方法,” UltraSoC首席執行官Rupert Baines說。有一種(也許是天真的)認為,因為你可以在FPGA中看到任何東西,所以很容易調試。這在波形查看器的位級是正確的,但在達到系統級別時並不適用。最新的大型FPGA顯然是系統級的。在這一點上,你從位探測器類型排列中獲得的波形級視圖並不是非常有用。您需要一個邏輯分析儀,一個協議分析儀,以及處理器內核本身的良好調試和跟蹤功能。”

FPGA的大小和複雜性要求驗證過程類似於ASIC。先進的基於UVM的測試平臺支持仿真,通常也由仿真支持。形式工具在這裡起著關鍵的作用,從自動設計檢查到基於斷言的驗證。儘管確實可以比ASIC更快更便宜地改變FPGA,但在大型SoC中檢測和診斷錯誤的難度意味著在進入實驗室之前必須進行徹底的驗證,OneSpin的Khan說。

事實上,在一個領域中,對FPGA SoC的驗證要求可能比在RTL輸入和綜合後網表之間進行ASIC等效性檢查的要求更高。與傳統的ASIC邏輯合成流程相比,FPGA的精細化,合成和優化階段通常對設計進行更多的修改。這些更改可能包括跨越週期邊界移動邏輯,並在內存結構中實現寄存器。 Khan補充道,徹底的順序等價檢查對於確保最終的FPGA設計仍然符合RTL中最初的設計者意圖至關重要。

在工具方面,還有優化性能的空間。 “有了嵌入式視覺應用程序,其中很多是為Zynq編寫的,你可能會得到每秒5幀。但如果你在硬件上加速,你可能會得到每秒25到30幀。這為新型設備鋪平了道路。問題是這些設備的模擬和驗證並不簡單。您需要軟件和硬件之間的整合,這很困難。如果你在SoC中運行一切,那太慢了。每次模擬可能需要五到七個小時。如果你合作模擬,你可以節省時間,“Aldec的de Luna說。

簡而言之,複雜ASIC中使用的相同類型的方法現在正用於複雜的FPGA。隨著這些設備被用於功能安全類型的應用,這變得越來越重要。

“這就是正式分析的目的,以確保有錯誤的傳播路徑,然後驗證這些路徑,”Cadence市場營銷總監Adam Sherer說。 “這些東西非常適合正式分析。傳統的FPGA驗證方法確實使這些類型的驗證任務幾乎不可能。在FPGA設計中,它仍然非常流行,假設它非常快速且容易地進行硬件測試,該測試以系統速度運行,並且只需進行簡單的仿真級別即可進行完整性檢查。然後你編程設備,進入實驗室並開始運行。這是一條相對較快的路徑,但實驗室中的可觀察性和可控性極其有限。這是因為它只能根據從FPGA內部到引腳的數據進行探測,以便您可以在測試儀上看到它們。”

Breker Verification Systems首席營銷官Dave Kelf對此表示贊同。 “這使得這些設備得到驗證的方式發生了有趣的轉變。過去,通過將設計加載到FPGA本身並在測試卡上實時運行,可以儘可能多地驗證較小的器件。隨著SoC和軟件驅動設計的出現,可以預期這種“自行設計原型”驗證方式可能適用於軟件驅動技術,並且可能適用於該過程的某些階段。但是,在原型設計過程中識別問題並對其進行調試非常複雜。這個早期驗證階段需要仿真,因此SoC型FPGA看起來越來越像ASIC。考慮到這個兩階段過程,它們之間的通用性使得該過程更高效,並且包括常見的調試和測試平臺。便攜式激勵等新進展將提供這種通用性,實際上,使SoC FPGA更易於管理。”

結論

展望未來,Sherer表示用戶正在尋求將現在在ASIC領域使用的更嚴格的流程應用到FPGA流程中。

“有很多的培訓和分析,他們希望FPGA中有更多的技術用於調試,支持這種水平,” 他說。 “FPGA社區傾向於落後於現有技術,傾向於使用非常傳統的方法,因此他們需要在空間,規劃和管理以及需求可追溯性方面進行培訓和了解。那些來自SoC流程的元素在FPGA中絕對是必需的,並不是FPGA本身驅動它的那麼多,但是最終應用中的這些工業標準正在推動它。對於一直在FPGA環境下工作的工程師來說,這是一次重新調整和再教育。”

ASIC和FPGA之間的界限正在模糊,由需要靈活性的應用程序驅動,系統架構將可編程性與硬連線邏輯結合在一起,以及現在正在應用於兩者的工具。而且這種趨勢不可能很快發生變化,因為許多需要這些組合的新應用領域仍處於起步階段。

會議推薦


分享到:


相關文章: