開源硬件在經歷過多次嘗試之後已經建立了堅實的基礎,但在這一領域的成功仍然是有限的,至少對於處理器而言,目前的成績還十分有限。隨着市場對定製硬件需求的增多,以及越來越多的初創企業開始尋求用於構建高度合適AI/ML算法的加速器和解決方案,開源硬件的熱度持續升温。開源硬件的市場究竟有多大?開源最終是否能夠滿足公司所需的一切?這些問題還有待觀察。但越來越多的人開始認識到開源硬件的作用,開源硬件也已引起投資者的注意。
目前,人們對於開源硬件還存在一些誤區。“人們經常説‘開源就是免費的’,事實上它並不是免費的” Google項目負責人兼OpenTitan項目總監Dominic Rizzo説,“這就是為什麼我們發現最成功的開源項目是人們懷着長期的既得利益並以協作的方式共同努力的項目,這與開放源代碼本身的風格剛好相反。在開放源代碼中,開發者會將開發出來的源代碼公之於眾。”
目前的變化在於,開源硬件需要大規模的定製解決方案,與一般的開源硬件相比,RISC-V尤其如此。Cadence解決方案營銷高級組主管Frank Schirrmeister表示:RISC-V是追求定製化計算和特定領域計算趨勢的結果,這是一種結果而不是原因,根本原因是客户需要通過領域特定體系結構和領域特定語言來實現特定領域以及特定工作負載的計算,任何可拓展的處理器都在該領域中發揮作用,開源正好滿足需求。
在更廣泛地被商業化之前,開源硬件還面臨着一些挑戰。Arm汽車和物聯網業務線的策略副總裁Tim Whitfield表示,IP必須滿足嚴格的驗證標準以及在當今商業硬件中的長期支持和維護而不破壞SoC或系統設計人員現有的總擁有成本模型,風險在於,對於一款幾乎沒有差異的設備,通常通過在驗證、物理設計和軟件開發上花費的時間和成本,最大程度地減少與許可相關的成本節省。目前有一些試圖解決此類問題的組合,但為了成功地解決問題併為SoC提供一些構建模塊,需要有意願的參與者提供持續地支持和資助,這種聯合體模式對SoC上的許多標準都運行良好,這也是一種拓展模型。
聯合體模式的實現還需要一些時間。 “當人們開始考慮開源硬件時,就會有純粹主義者想要一切開源。” OpenHW集團總裁兼首席執行官Rick O'Connor説,“硬件行業(尤其是半導體行業)將分階段實現一切開源。許多人認為RISC-V架構意味着免費和處理器核心開源。基礎任務是對指令集規範和各種標準擴展的管理,以及指令集的可拓展性的管理。當人們在談論ISA(指令集架構)的自由開源時,就意味着我們可以自由地使用該ISA。”
理念也在發生變化。 “開源是一項重大的投資,的確需要多方參與才能看到這一空間取得長遠的成功” Google的Rizzo補充道,“事實上,驗證IP是真正賦予RTL價值的東西,二者缺一不可,尤其是需要投入生產時。”
總體價值必須被評估。“作為參考基準的RISC-V穩定且經過了良好的測試。” Valtrix Systems首席執行官兼聯合創始人Shubhodeep Roy Choudhury説,“公司可以加入自己特有的方案從而節省設計時間和成本。同他人合作可以分攤開發成本,但驗證成本可能依然很高,因為人人都想確保自己的IP按照規範工作,後端成本則不可避免,因此能節省的成本很少。從多個處理器IP公司中進行選擇非常靈活,如果一個供應商提供的IP效果不佳,還有其他選擇。”
開源硬件的商業IP之路
IP行業已經走了很長一段路,人們對商業IP的期望也越來越高。
開源IP達到大批量芯片所需的質量水平是一個挑戰。“這就是像OpenHW Group這樣的非營利組織發揮作用的地方,” OneSpin Solutions的營銷主管Rob van Blommstein説,“許多公司都為實現這一目標做出了貢獻,也有一些希望減少對外國技術依賴性的大公司對其感興趣。開源硬件的另一個重要性在於它可以提供免費的可定製內核以及成熟的工具鏈和生態系統,從而為小型公司和個人帶來巨大的創新潛力。”
OpenHW的O'Connor表示,開源硬件必須像從商業IP供應商那裏獲得的商業IP一樣,OpenHW集團試圖與一羣希望提供經過良好驗證的高質量IP的公司共同努力,在真正的SystemVerilog UVM測試平台中提供良好的功能覆蓋範圍和代碼覆蓋範圍,如果這一平台測試是公司自己在做,那麼他們會自己建立這一平台。
對於市場而言,還有一些其他的驅動因素。Rizzo説:“安全性並不意味着保密,根據柯克霍夫斯原則,不應該依賴現實的保密性來確保安全性。因為當你認為它很安全時,安全工程師以及這一領域的工作者想知道具體情況,隨後又有人發現了問題,的確發生過太多令人不愉快的事情。一些東西具有專業性,所以不必將正在尋找漏洞的人拒之門外,但的確可以阻止研究人員或好奇者的這一行為。”
免費使用還是創新自由?
着眼於開源硬件的人們一般分為兩個陣營。Imperas Software首席執行官西蒙·戴維曼(Simon Davidmann)説:“其中一個陣營的人正在尋找免費的午餐,他們不想支付任何費用。如果他們能夠不用付出就獲得某些東西,那麼他們就可以完成某些工作。另一個陣營的人則想要獲得自由。”
在兩個陣營之間存在一個連續體。 “有一些RISC-V的專有實現是閉源的,只能在內部使用。” O'Connor説:“另一端是商業IP公司在許可的情況下銷售IP。有一些IP公司提供各種開源語言的實現,這些實現以Chisel、VHDL、Verilog或SystemVerilog等各種不同的語言提供,並且形式多樣大小不一,從微型控制器到高端服務器級機器。”
想要成為得到自由陣營中的一員,意味着明白自己能夠付出多少、承擔多少風險以及實現這項目標所需的技能。 “如果想要獲得創新自由,那麼需要擁有構建大型SoC的經驗。” Davidmann補充説:“它要求公司有一種方法可以在其中配置代碼,進行大量分析以識別代碼需要改進的地方或需要哪些溝通渠道、選擇要添加的指令、處理所需的體系結構內容進行擴展或定製,然後構建模型並在其上測試軟件,對其進行驗證,並對硬件進行更多驗證。沒有太多經驗的公司不應該這樣做,因為這非常具有挑戰性。”
專有處理器IP公司提供許多相同的替代方案,RISC-V引起了人們對這些選擇的興趣。
開源模型
可擴展的指令集與可擴展的體系結構
有些人希望實現最大化創新的自由。Synopsys的 ARC DSP處理器產品營銷經理Graham Wilson説:“有一小部分人會説我想完全擁有處理器,我想完全定製它。這部分人會投資並花時間瞭解這些工具,將學習如何構建這些新指令作為一項戰略決策,然後進入並修改內核的體系結構,添加新的接口,並且從策略上,他們已經決定從ARC配置的可擴展內核擁有處理器。
有些人則採取中間立場。O'Connor説:“這些人從經過充分驗證的通用內核開始,採用了驗證基礎架構,並使用自己的自定義加速器或自定義指令。顯然,他們可以自行驗證這些內容,也可以在我們提供的驗證基礎架構上進行構建。如果他們希望這成為開源社區中的標準實現,那麼也許這就是我們將在OpenHW集團內部組織的。”
即使是那些打算購買RISC-V內核的人,仍然可以看到一定程度的自由。西門子業務部門Mentor的設計驗證技術市場總監Neil Hand表示:“許多采用RISC-V的人都不想定製該處理器,他們仍然可以對多個處理器進行基準測試並推遲處理器決策。在過去,通常會在項目開始時做出處理器決策,之後便可以解決問題。使用RISC-V,則可以從多個供應商處獲得可比的ISA,並且可以根據擴展名和體系結構在不同的供應商之間進行遷移。”
隨着行業的成熟和行業中越來越多的擴展可用,創造自定義説明的需求可能會減少。Synopsys的Wilson表示:“我們不會加速FFT,因為它已經被優化了。當出現諸如無線通信或有線通信之類的新算法或新規範時,您可能會發現客户會有特定的瓶頸,然後為其添加説明。不過業界會從中吸取教訓,並構建一個更通用的解決方案,或者將其作為處理器包中的可擴展指令來提供。”
一些處理器可能針對特定領域。“如果將目光投向物聯網或某些5G設備,它們就是單用途設備,” Mentor's Hand説。“隨着我們進入由這些專用應用程序專用計算平台驅動的新計算時代,由於軟件生態系統的存在,仍然需要可編程性。但是從擴展角度來看,可能存在特定需求,但不一定普遍。”
不過,這一現狀也會隨着時間而發生改變。Davidmann説:“如果使用某些早期內核,例如蘇黎世聯邦理工學院(ETH Zurich)的PULP內核,則需要RISC-V基礎中不存在的一些特定説明,因此必須建立自己的自定義説明。如今,這些説明已存在於標準中。RISC-V指令集已經變得非常豐富,涵蓋了很多內容。有一些工作組非常接近完成其他指令集上的大部分工作。”
一些核心將由它們的應用程序域驅動。“在人工智能和機器學習中,很多基礎計算是乘積累加,” Cadence Tensilica集團產品營銷總監喬治·沃爾説,“但是仍然可以提高效率,以防止處理器將零乘以零,這是一個可擴展的指令集可以派上用場的例子。”
在這些算法中,有一些正在逐漸通用化。Aldec市場營銷總監Louie De Luna説:“ CNN的卷積層包含大量的乘法累加運算,它們拉低了計算效率。CNN需要同時將多個數據塊從矩陣移動到外部存儲器,以避免由於多次訪問存儲器而造成的延遲。CNN的純硬件實現缺乏解決這些問題的靈活性,因為它們需要複雜的控制器來處理計算和數據傳輸,但是可以創建自定義指令來解決這些類型的特定領域的問題。”
其他人也同意這一看法。Wilson表示,考慮SeeFar雷達的應用,這些算法利用滑動窗口,因此能夠看到通過添加自定義指令來加速這些過程。它們與標準DSP功能不同,是一種數據吞吐功能,但是自定義指令有助於通過滑動窗口從加載存儲器或寄存器中拉出數據。
一些處理器開始合併嵌入式FPGA,這提供了動態可重配置性,不過這將帶來另一個問題。QuickLogic FPGA產品經理Mao Wang説:“如果您擁有嵌入式FPGA,而供應商強迫您使用專有工具,那麼您將無法將其集成到您的設計環境中,它迫使您在僅具有使用該軟件能力的情況下使用兩種或三種不同的法律許可的方法,同時支撐結構也會變得很複雜。”
業界未能建立使FPGA易於編程的軟件社區。QuickLogic總裁兼首席執行官Brian Faith表示,更多的工程師是計算機科學或數據科學學位,而不是面向硬件的學位。在後摩爾時代,硬件需要更像軟件,如果可以的話,這將為其帶來更多的潛在用途。FPGA公司希望用户繼續使用自己的工具,這使開源公司或工具很難真正立足紮根。QuickLogic是第一家公開支持FPGA開源工具的可編程邏輯公司。
傳統而言,FPGA公司保護其比特流(雷鋒網注,一個比特流是一個比特的序列。)。開放意味着放棄設備配置信息、時序和其他被認為專有的信息。Faith補充説:“我們現在正在向社區提供這些包括在開源工具中的信息,您不再需要嘗試進行任何逆向工程就可以一直進行設計並獲得比特流。”
一些開放源代碼程序(例如OpenTitan)從RISC-V內核開始,然後再往上添加,並將最終結果放入社區。OpenTitan是開源芯片的信任之根。Rizzo説:“我們正在公開採購RTL和設計驗證IP,這需要與後端合作伙伴合作以完成芯片的所有工作。它提供了一組邏輯安全保證,當一台機器啓動時,我們將進行非常深入的低層次檢查,以便了解它正在引導我們瞭解的、控制的和已經簽名的代碼。”
開源硬件社區的構建需要多家公司共同參與
隨着開源軟件社區的擴展,出現了一些新的業務模型,同樣的情況也發生在硬件上。Cadence的Schirrmeister説:“如果我一個人做,那麼參與成本就很高。但目前在兩者之間有機會提供服務,可以使用一種工具從開源架構開始自動生成,也可以召集提供多種服務和工具的人員。這將是一家熟悉該架構的公司,且已經完成了較為成功的修改,因此他們能夠同我一起工作,瞭解我的需求並有幫助我修改和驗證體系結構的能力,因為我不需要從頭開始。”
其他人也同意這一看法。Wilson説:“客户知道他們想要的具體説明並可能會要求我們為他們做這些説明,客户知道算法和瓶頸是什麼,但不知道如何實現這些,因此在同瞭解處理器硬件的公司合作時,更容易契合。”
開源硬件社區的搭建是一個不斷有新成員參與的過程。例如,Codasip提供了由Western Digital開發並由CHIPS聯盟根據RISC-V ISA開發的SweRV內核。“我們已經添加了一個支持包,” Codasip的高級市場總監Roddy Urquhart説。“這使得實現RISC-V SweRV內核變得容易得多。我們不僅提供核心,還包括對傳統第三方設計流程的支持,以及對設計、實現、測試和編寫軟件所必需的組件的支持。”
投資RISC-V成本與收益
對於投資RISC-V的公司而言,可能意味着花費、進行IP捐贈,在特定領域提供專業知識以及承擔風險。“我們需要承擔的最大風險是失去控制權,” QuickLogic的Faith説:“從某種程度而言,這比寫支票要困難得多,這需要説服董事會或管理團隊我們不想要生態系統,我們也不想保護我們部署的設備、路由架構或通道,我們也不想保護時間信息。實際上這相當於放棄控制權,這比我們的任何花費都要昂貴。但我認為這是一個實現增長的好機會,我願意承擔這一風險,克服對失去控制的恐懼。”
一些公司願意提供人力。O'Connor説:“客户可以通過執行測試和運行測試或通過有關我們如何構建驗證測試平台的指導來獲得幫助。客户可以參與工程,但公司的成員不必參與,這就是我們創建可持續的虛擬團隊的方式。客户不需要成為成員即可使用IP,我們的IP是完全開源的。客户可以下載它,將其放進設備中就可以使用了。”
但是成員參與會帶來回報。“如果客户想改變路線圖和確定IP中的功能,就必須成為成員,” O'Connor補充道,“如果客户想影響我們正在進行的項目的優先級,則需要成為成員。如果客户想影響我們驗證IP的方法和結構,則需要成為成員並參與任務組。”
EM Microelectronics的工程師Greg Tumbush生動地描述了強大的合作關係。“中斷驗證是一項艱鉅的任務。當OpenHW Group討論中斷結構的樣子時,我建議他們使用Core Local Interrupt Controller(CLIC)或Core Local INTerruptor(CLINT)中斷方法。在構思設計時,離標準核心越近越好。首先,國際空間站可能正在正確建模。其次,他們所做的驗證適用於客户。而且,就漏洞修復而言,客户開發的任何內容都是直接可歸因的。如果客户擁有完全不同的內核,則客户的公司與OpenHW之間沒有協同作用。如果我驗證了中斷,那麼下載該內核的任何人都不必驗證中斷,這是艱鉅的任務。通過貢獻,客户可以發揮槓桿作用,並藉助槓桿作用,可以影響核心的發展方式。”
Rizzo説:“這些折衷之一是,我在某種程度上放棄了控制權,並且盡了最大的努力使事情朝着健康的方向發展。如果從不同的角度來看,並且習慣了很多細粒度的控制,那麼很難接受。所以必須以積極的態度來對待它,並瞭解開源的優勢。這會花費更長的時間,並且需要更多的討論,但是這些折衷是值得的。我們在某些方面很擅長,但在並不是在各個方面都是專家。因此,我們在某種程度上放棄控制權,並且與特定的合作伙伴合作,真正實現了願景。”
結束語
隨着RISC-V處理器ISA的出現,開源硬件已成為現實。該行業現在擁有足夠的動力,可以解決問題並找到解決方案。
新的商業模式正在出現,但是開源硬件看起來不太像開源軟件。硬件需要更多的投資,因為將其用於實施會帶來更大的成本和風險。但是通過協作,有可能找到更好的架構和更好的解決方案。
本文編譯自https://semiengineering.com/riding-the-risc-v-wave/
雷鋒網雷鋒網