預測:開源FPGAEDA工具將統治世界嗎?這里列出了兩種不同的觀點供大家參考,對于這個問題,相信每個人都會有自己的看法。觀點一:開源FPGA EDA工具必將統治世界 IceStorm以及SymbiFlow(IS/SF)將會給數字電路設計帶來革命性的變化,就像GCC革了系統軟件的命一樣。由此帶來的結果是 1.FPGA的應用將會爆炸性增長 2.開源EDA工具將最終取代廠商專有的EDA工具。
開源編譯器項目GCC
還記得1980年代末期,GNU的情況一個完全由極客支撐的項目,沒有任何商業成分。所有的工作站供應商都知道GNU不成熟,均在投資為付費客戶開發自己的編譯器(例如SunCompiler,HPCompiler,DECCompiler,IBMCompiler…)。雖然GCC(GNUCompilerCollection,GNU編譯器套件)只是一個純靠興趣支撐的項目(hobbystuff),支持的平臺和集成度也并不完善,但那無傷大雅,因為每個用戶(Everyone)都可以是項目的貢獻者,足夠多的用戶一邊使用,一邊對其進行改進,并將其傳遍了世界各地,最終,直接使用GCC編譯器的Linux出現了。以上就是GCC的發展史。
SymbiFlow-the GCC of FPGAs項目介紹
對于FPGA來說,開源FPGAEDA工具和GCC的情況類似,雖然目前還停留在興趣項目層面,但其進化速度相當之快。畢竟,它們是開源的,并且非常易懂,開發者很容易在使用過程中變成貢獻者,從而協助對其進行建議和改進。綜合、布局、布線等問題本身具備的復雜程度,恰又像黑夜里的一盞盞燈火,吸引著無數聰明的學者像飛蛾一樣聚集上前來展開研究。更加值得鼓舞的是,開源FPGA EDA項目IceStorm(SymbiFlow)已經比商業EDA工具的運行速度高了一個數量級(有機會我們將開專題介紹),因為我從未在商業EDA工具上在15秒內將設計實現在FPGA上過(誠然,這只是一個很小的設計,和那些在UltraScale器件上所進行的復雜設計無法相比)。目前,該項目已經雄心勃勃地向著Xilinx7系列進發了。
各領域開源工具/標準一覽
觀點二:開源FPGA EDA工具無法統治世界
很早以前,開源FPGAEDA工具將推翻現有商業FPGAEDA工具“王權”的說法就已在業界廣為流傳。這些說法有一個共同的特點:將FPGAEDA軟件和普通軟件進行了類比,并提到IceStorm項目(針對Lattice的iCE系列產品的逆向工程,Storm有“攻占”之意,意味深長)和CliffordWolf(開源FPGAEDA教父,宏大的開源FPGAEDA項目SymbiFlow的發起者之一)。
該觀點的判斷:開源FPGAEDA將在很長的一段時間里,無法挑戰現有的FPGAEDA世界秩序。除非以下兩種情況的任何一種情況發生:
1.Intel或者Xilinx直接支持某一開源FPGAEDA項目。
2.所有主流的Intel/XilinxFPGA器件被某一開源FPGAEDA項目通過逆向工程全部分析清楚。
下面就上述兩種情況簡單聊一下:
1.來自主流FPGA廠商的官方支持
如果你對大型開源工程(比如LLVM或者Linux)比較熟悉,你會發現其主要的開發者基本都是Intel、Apple、Google等公司所雇傭的全職人員(他們很專業,而且可以全身心投入),而不是一撮對技術極度狂熱的,靠愛好和情懷聚集在一起的兼職人員。
那么Google或者Apple做這些開源項目的初衷是什么呢?這些項目和公司的主營業務無關,Apple想做開源編譯器,但是做編譯器并不能提高iPhone的銷售收入。
但在FPGAEDA領域,情況并非如此。Intel和Xilinx很早就意識到,做出一款FPGA芯片并不難,難的是開發一款優秀的FPGAEDA工具,從而形成FPGA整體解決方案。FPGA產業的歷史中,已經有無數的FPGA創業公司因為沒有意識到這一點,而被無情的掃進了歷史的垃圾堆,盡管這些公司有著十分先進的芯片設計理念。看看Tabula吧,并不是這個公司的硬件不行,而是你根本沒法用他們的軟件進行編程啊。因此EDA工具是一個公司進入FPGA領域的最大障礙之一,并且扮演了市場競爭的關鍵角色(differentiator),因為用戶一旦選用了一家EDA,便會對這個生態產生依賴(移植涉及工作量以及不確定性)。普通編譯器和軟件工具的關系則并非如此。
請注意Intel是怎樣的確保留了非開源的編譯器-icc和ifort的-這些工具經過了無數的優化,因為他們是Intel商業邏輯中關鍵的一環。而開源FPGAEDA工具并非Intel和Xilinx的長期商業利益所在。
2.逆向工程
按照上面的邏輯,既然開源EDA工具無法得到Intel和Xilinx的支持,那么就剩下逆向工程一條路可走了。我知道CliffordWolf教授在這方面作出了大量艱苦且聰明的工作,而且取得了一定程度上的成功,比如完全逆向了Lattice的iCE40器件。并不是我不尊重教授所做出的貢獻,但iCE40并不是什么復雜器件,iCE40和Stratix10之間的復雜度區別可能和Cessna172和Boeing787之間的差距差不多…
iCE40和Stratix10的復雜度差距可能和設計這兩架飛機差不多 即使我們忽略復雜度的差別,仍然有2個基本無法克服的重要問題: 1)配置。一款現代FPGA,比如Stratix10的配置位并不僅僅是一系列簡單的shift-registerCRAM,碼流bitstream也不僅僅是一系列的LUT掩碼和布線通路MUX配置碼組成,而是一系列針對安全器件管理器(SecureDeviceManager)的命令流(CommandStream),這只是冰山一角。在不知道其內部任何細節的情況下去逆向仿制,無異于在沒有任何操作說明的情況下,蒙上眼睛去組裝一架現代飛機。在這個過程中,還不能出一點差錯,因為一旦出現問題,你連為啥都不知道。
2)時序。任何聰明的布局布線算法在沒有精確的時序模型(TimingModel)支持下,都不值一提。而時序模型是由物理實現(對FPGA公司來說,這是高度機密super-secret)以及工藝數據(超高度機密ultra-super-secret)決定的。對于以上內容,是完全無法通過逆向工程推出的。即使你通過足夠保守的Fmax來從理論上解決建立時間的問題,也無法通過同樣的方法解決保持時間以及其他時序約束問題。最好的情況是你的器件根本無法工作,最壞的情況則是無法診斷的功能錯誤間歇性出現(保持時間不滿足導致偶然性亞穩態)。當工藝節點越來越小時,保持時間的變化趨勢看上去會越來越差。
綜上,開源EDA并不是行業的未來,我相信現有的開源EDA會持續改進,但其存在無法逾越的障礙,沒有FPGA廠商的支持,開源EDA將永遠無法追上現代FPGA發展的腳步。
總結
就筆者的看法,以上兩種觀點雖然看似大相徑庭,但有一個共同觀點,那就是開源FPGA EDA工具要走的路,還有很長,網上的討論也精彩紛呈,但就像一家甜品店的不同風味的點心,如果點心的配方都一樣了,對客戶來說是最好的事么(客觀來說,確實提高了甜品店的產出效率)?各位又對此有怎樣的看法呢?
審核編輯 :李倩
-
FPGA
+關注
關注
1629文章
21748瀏覽量
603887 -
eda
+關注
關注
71文章
2764瀏覽量
173339 -
開源
+關注
關注
3文章
3363瀏覽量
42535
原文標題:預測:開源FPGA EDA工具將統治世界嗎?
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論