1. 程式人生 > >EDA,該如何做這困獸之鬥

EDA,該如何做這困獸之鬥

EDA(Electronic Design Automation電子設計自動化)之所以存在,是因為半導體公司覺得開發和維護工具的成本太昂貴,不過如果EDA想要繼續好好生存下去,就得努力成為創新週期的一部分了。

為什麼機器學習(machine learning)想要在EDA中產生影響仍然需要很長時間?與該領域的專家交談時,瞭解到一個事實,硬體設計與機器學習應用有非常大的不同。Brian Bailey, 作為一位超過35年工作經驗的EDA工具開發人員告訴我們,如今EDA公司面臨的一個巨大挑戰仍然是要去加速模擬。許多公司已經在該領域投入了大量資金,帶給使用者和投資者的卻往往是令人失望的結果。其中的問題在於設計中的隨機性活動

Brian Bailey曾經參與到第一個RTL模擬器 – Hilo的開發。作為一名年輕的大學畢業生,他的一項任務是將Hilo移植到當時所存在的大量計算機結構中。大型主機,小型計算機,早期的CDA工作站,他們使用的處理器和作業系統都是不同的。移植的第一步會涉及到傳送給製造商的調查問卷,根據調查問卷裡的答案,可以知道怎樣寫原始碼可以使移植更容易一些,同時也會知道這樣的移植大概會表現得怎麼樣。Hilo通常會成為快取結構來處理大量記憶體的隨機訪

隨機(Random)是一個關鍵詞。Brian Bailey經常會去想,模擬器的資料結構是什麼時候建立的,記憶體是否可以更像交通流量一樣在設計中被組織起來。他認為這是值得去努力的,有人會做到這一點。

但並非所有EDA中的資料都是非結構化的。跟蹤資料(trace data)是功能驗證和除錯所必需的,它是非常結構化的。之所以這麼說,是因為它基於時間,很多都是規則的。事實上,在Brian Bailey開始去構建現在被稱為機器學習系統的近30年之後,他才有了一個想法,可以在多次執行中檢視大量的跟蹤資料,並查詢測試向量和測試向量中的異常情況。雖然如今的系統獲得了一定的成功,但它們在處理過程中的功耗實在是太大了,在以前他們僅限於用在單處理器結構上可能並不覺得。

EDA一直在尋找方法,希望可以完全捕捉到並行的處理過程,進展卻很緩慢。很大程度是因為隨機化的問題,Brain Bailey認為還有一個很重要的原因是EDA的生存空間正在被壓縮

。Mentor的CEO,Wally Rhines,在很多貿易展會上也提到過,EDA在半導體銷售額中的比例一直比較穩定,但如今的EDA公司需要將沒有增加的錢投資到比以前更多的領域,每一項新技術的開發對EDA公司而言都是巨大的投資。此外,EDA公司還在追求一些方面,比如在抽象級上的提升,去涵蓋更大的系統檢視,以及一些必要的容量增加。

想要實現並行化(Parallelization)通常是很難的。ANSYS公司的Preeti Gupta這樣給我們解釋,如果去做字典搜尋(dictionary search),想要在字典中找到Brian這個名字,可以將字典分成500個部分,將它們分別發放到500個不同的機器中,將獲得的500個答案彙總到一起看。這樣做是很盲目沒有準確性的,因為你得到的每一個答案都跟其他的答案是無關的。當我們考慮EDA的問題時,卻往往環環相扣,任何一環的輸出都會影響另一環的輸入。這裡就出現我們最大的挑戰了,如何將這種高度關聯的問題進行空間並行化

Brian Bailey也認為這是一個非常大的挑戰,不過已經有很多資料表明,可以用機器學習和大資料去解決這個問題。通過行業標準工具可以使用的形式,提供對所有資料的訪問,這也意味著會將權利交給使用者,這會令EDA公司感到有些恐懼,因為他們會失去一定程度的控制權。更有可能發生的情況是,使用者開始這樣去做了,卻發現跟以前一樣,對他們自己而言這樣的投資是不合算的,他們會要求EDA公司去接管他們的工作並將其商業化。

這其實是一個迴圈,但它有一個前提是,讓使用者能夠自己尋找新的解決方案。EDA公司必須公開他們的資料並且相信他們的客戶,這樣半導體公司也可以成為EDA創新週期的一部分了。

原文來自於Semiengineering“Why EDA needs to change”

https://semiengineering.com/why-eda-needs-to-change/