1.EDA高校科研如何與產業結合?
我在大學本科期間從事EDA開發大約有1年半的時間,是從1992年底到1994年本科畢業,主要從事的方向是:寄生參數提取的二維場求解器。從1994年到1999年初,攻讀博士4年半期間主要從事的研發工作是寄生參數提取的三維場求解器領域。在高校從事EDA軟件研發的時間合計6年。
我們實驗室當時的研發與工業界的聯系比較緊密,做出的EDA軟件比較接近實用化。我們在學校研發中大約有一半的時間是在調試工業界的實用化例子,需要不停地優化和修改程序,滿足工業界的需求。當時產品原型開發出來后,給EDA公司試用,經過其測試效果不錯。后來我們實驗室基于該軟件與EDA公司簽署了合作協議。由于我當時還是學生,對商業協議不太理解,就記得對一個數字耿耿于懷,即:我們實驗室研發出來的寄生參數提取工具軟件,嵌入該EDA公司的流程進行銷售,協議中規定,產品銷售的2%給我們學校,其余的98%歸EDA公司。當時不太理解:為什么我們辛辛苦苦研發只能得到2%的收益?
事后我在工業界從事多年,才逐漸理解到:這個協議是一個很好的產學研利益捆綁的協議。其中軟件銷售提成的比例并不重要,重要的是把學校和EDA公司進行了很好的利益捆綁,學校只有把軟件產品做得很好,才能獲得銷售提成,這些經費可以支持學校繼續進行深入研發。
反觀國內一些常見的高校與公司合作模式,一般是EDA公司提供研發經費后,高校把軟件產品原型提供給EDA公司,但是后續的支持和服務都由EDA公司來做。由于EDA公司對高校開發的軟件產品細節不是很了解,客戶的需求很難及時滿足,導致高校的研發成果逐步淡化,不再被工業界接受。
如果是軟件銷售提成的模式,由于EDA公司銷售額越高,高校的提成額也越高,因此當軟件產品遇到問題需要優化和修改時,高校就會很積極去響應EDA公司的需求,繼續進行實用化完善,滿足工業界需求,從而推動高校的科研成果轉化。
因此,把EDA公司與高校的關系從甲方、乙方的博弈關系轉變為利益捆綁關系,是促進國內EDA高校研發產業化的重要舉措。利益捆綁有兩種途徑:第一是銷售提成模式,第二是股權合作模式。
最近我們在股權合作模式方面有一個新的探索,2019年我們公司入股一家新成立的EDA公司,該公司是專門從事寄生參數提取軟件研發的公司,其中高校的知識產權入股大約三分之一左右。高校把其寄生參數提取最新研究成果的知識產權全部注入到該公司。公司成立后,在進行大量例子測試中發現的軟件問題,高校總是會提供及時的修改和優化,滿足工具快速迭代開發的需求。這其中很重要的原因是:由于股權的利益捆綁,高校有很大的動力從產品實用化中獲得利益。如果采用雙方簽署勞務合同的模式,則由于很難界定軟件中bug的責任,公司與高校就會陷于爭執中,無法進行高效的合作。
總結:國內高校從事EDA科研的單位應該立足于與產業結合,把核心算法盡量產業化,產業化的思路是:與國內EDA公司合作進行軟件銷售提成合作或者股權作價入股。不建議采用高校一次性把源程序賣給EDA公司的模式。
不過,目前國內從事EDA研發的高校大多數還是以學術研究為主,沒有把產業化作為其研發的主要目標,這個現狀對國內EDA產業的總體發展有一定影響,需要國內高校研究人員進一步思考。
2.EDA研發長期堅持的重要性
1999年高校畢業后,我加入了國內一家從事EDA軟件研發的公司。從1999年到2009年,我在該公司從事EDA研發10年。這期間,公司研發人員徘徊在二三十人,開發的核心產品有6個:
Layout Editor(版圖編輯工具),
Schematic Editor(原理圖編輯工具),
DRC (版圖設計規則檢查),
LVS(版圖與原理圖一致性比較),
PE(寄生參數提取工具),
Verilog-AMS仿真工具(后擴展為spice仿真工具)。
我主要從事DRC/LVS/PE的3個產品開發。
以上6個工具可以歸納為3項核心技術,即:
1.版圖處理技術(應用產品是當時開發的通用Layout Editor,超大規模Layout Editor,DRC工具,LVS工具)2.RC提取技術(應用產品是當時開發的PE準三維提取工具)3.電路仿真技術(應用產品是當時開發的Verilog-AMS工具和spice仿真工具)。
事實上,以上3個核心技術不僅在1999年到2009年是公司的EDA核心算法,也是公司從1986年成立以來不斷投入多年研發出來的最關鍵技術,同時還是公司2009后產品更新換代不斷升級的技術基礎。這3個核心技術可以說奠定了公司EDA的基礎。
從公司EDA具體產品開發的時間長度分析,層次式(hierarchical)版圖DRC工具和LVS工具從2002年就開始進行研發,一致持續到2020年產品不斷升級換代,前后持續了18年。如果把層次式的定語去掉, 基于打散(flatten)的DRC工具和LVS工具的技術研發可以更早追溯到1995年左右,該項技術的積累長達25年以上。從這個時間跨度數據,我們可以看到,要開發一項EDA的核心產品,不是短短的幾年時間就可以一蹴而就的,需要長達十幾年的技術積累與迭代進步。
公司的另外一個產品寄生參數提取工具是從1999年就開始開發的,如果要追溯該項技術的最原始出處,是清華大學從1991年開始就進行寄生參數提取的基礎技術研究,后來初步進行產品實用化研究。可見,該項技術也有長達二十多年的技術積累。
另外一項技術spice仿真技術最早源于Verilog-AMS的仿真工具研發,從2003年起進行研發隊伍的組建和原型的開發,一直持續進行與仿真相關的算法的研究和改進。曾經有一段時間,也有部分人員覺得該項目很難盈利,是否要放棄該項目了?我們最終還是堅持把這個技術保留下來,其中促使我下決心一定要把它堅持下來的一個原因是:有一次與一個重要客戶交流,客戶說:spice仿真是模擬電路中一個十分fundamental的技術,如果缺了spice 仿真,對全流程不利。從上面分析可以看到,公司在spice仿真方面的積累從2003年算起,也有接近20年的歷史了。
我在該公司的10年中(1999年到2009年),當時幾個產品在商業上還不太成功。不太成功的標志是:無法與主流EDA工具進行正面競爭,在功能和性能上有差距。當時國內EDA產業的環境與目前差別很大,當時的現狀是:做出的EDA工具必須比主流EDA工具要好,并且要明顯地好,才可能有市場空間。而目前國內EDA產業的現狀是:首先解決EDA工具的有無問題,其次再解決好與更好的問題。相對來講,目前國內EDA產業的需求對EDA公司的商業化成功更加友好。有時候,我甚至猜想:如果把今天國內EDA產業環境提前10年,也許我們當年開發EDA就不會那么痛苦了。
由于在技術上與國外主流EDA工具有差距,因此當時我們的EDA業務在商業上很困難,產品很難銷售。當時我們EDA業務的參與人員都感到十分痛苦,幾乎看不到希望。痛苦主要表現在:無論自己如何再努力,做出的產品總是無法在商業上成功。
事后過了10年,我反思當時自己的工作,應該講雖然商業上不太成功,但是在技術上的積累還是有一定價值的。最重要的作用是通過做3個核心技術的研發,保留了一只30多人的研發團隊,這30多人對3個核心技術的掌握程度雖然不能與國際一流EDA公司的研發技術相比,但是為今后努力進行技術突破奠定了基礎。我離開該公司后的十年內,該公司相繼在這些核心技術上有了較大突破,也獲得了部分商業成功,其中的許多核心開發人員都是經歷過當年十分痛苦的階段但是卻始終堅持不放棄,從而看到了成功的希望。
總結:從事EDA核心產品開發,需要長達10年以上的積累才能逐步獲得商業的成功,我加入的第一家EDA公司從1986年開始到現在有長達30年以上的技術研發,才一步步獲得了技術上和商業上的部分成功。期間曾經經歷了外人不知的十分痛苦的階段,有多次萌生放棄EDA業務的念頭但是都堅持下來了。國內其它比較成功的EDA公司也同樣都有多年的技術積累,要想在一兩年內獲得EDA產品的開發成功是很難的。
3.高校如何快速培養EDA研發人員
我們知道,目前國內EDA公司招聘合適的EDA研發人員比較困難,高校該如何加速培養EDA工程性研發人員呢?
前面提到,我在本科畢業一年半前開始進入EDA領域,本科期間花了一年半的時間做EDA學科的畢業設計課題。當時我們學校本科是5年制,因此從三年級下半學期到五年級有比較長的時間可以從事課題研發。
我本科剛剛開始接觸EDA學科時,研究領域是寄生參數提取的算法研究。由于之前對此一無所知,導師給我安排的是:首先自學一本《偏微分方程數值解法》的教材。為什么一上來就要學這個教材呢?因為寄生參數提取的本質就是求解靜電場的拉普拉斯方程,這是偏微分方程的典型應用。只有把偏微分方程的求解原理理解清楚了,才能真正進入該領域。我大概花了一個月左右的時間把這本數學教材看完了,看完后總的感覺就是一知半解,由于本科專業是計算機科學,并不是數學專業,因此對其中很多的數學公式和數學變換都理解不深。遇到這個情況,下一步該如何應對呢?是繼續花一段時間把這本教材理解透徹再進行工程實踐呢?還是在實踐中反過來促使理論水平的提高呢?
我當時的實際操作是:先實踐后理論。先仔細閱讀實驗室的前輩已經開發出的基本算法原理和程序,再分析和閱讀中逐步理解其本質。直接邊界元素法是我們導師率先在國際上提出的求解寄生電阻和電容的領先方案,起初采用二維的常數元邊界元素法進行寄生參數提取,為了進一步提高精度,需要把常數元提高到線性元或者更高精度的二次元等。我的本科畢業設計課題就是:針對任意形狀的二維圖形,采用邊界元素法計算出任意兩個terminal之間的電阻值。測試用例是一個典型的圓環器件,采用邊界元素法計算出外環邊到內環邊的電阻。針對這種典型的圓環器件,理論上有一個精確公式,要求采用邊界元素法的數值求解方法的精度與理論值誤差在1%以內。
該如何提高計算精度呢?理論上,如果每個離散化區間內的多項式次數越高,邊界元素法達到的精度越高。但是,如果采用高次插值策略,會帶來數值求解穩定性的問題。因此,我當時想到了曾經學習過的樣條函數插值策略,樣條函數插值的好處是:不僅在兩個區間的交界處連續,而且在交界處的導數也是連續的,可以有效避免穩定性的問題。我把這個策略與導師交流后,導師認為想法不錯,不過,為了能更好地提高效率和精度,建議我再考慮一下還有哪些更好的策略。
我經過仔細思考,在樣條函數的基礎上,又進一步提出了“圓弧樣條插值”的策略,在函數多項式次數不高(2次)的條件下,可以更好地模擬任意形狀的二維結構。該策略得到了導師的認可,建議可以基于該思路進行編程實現。
要把一套復雜的偏微分方程數值求解實現,針對剛剛從事EDA研究的我來說,還是有一定難度的,其主要實現過程有3個難點:第一是復雜二維圖形結構的幾何離散化,第二是根據邊界元素法的原理計算線性方程組的系數,第三是求解大型線性方程組。這3點其實也奠定了我今后博士期間從事三維寄生參數提取的基礎,只有把這個步驟理解透徹了,才能真正掌握邊界元素法的本質。
理解了上述3個難點后,開始編程實現,然后進行調試分析。編程實現和調試總計花了半年左右的時間。這個時間事后來看是顯得比較長了,但是當時是我第一次接觸邊界元素法,理解起來確實很有難度,而且又提出了圓弧樣條的新策略,在一個本來理解比較困難的算法上添加了自己提出的新策略,編程實現確實需要花一定時間。這個時間主要不在于程序量的多少,而是有些步驟的不好理解。
該策略實現后,經過測試,針對典型的圓環器件,理論值與采用數值離散方法實現的值誤差為1e-6,比預期的1%精度高了很多,這個有些出乎我的意料。我原來對能否達到1%這個指標都沒有信心,沒想到精度超出了預期。主要原因就是:我提出的采用圓弧樣條策略剛好符合了圓環的幾何特征,因此精度較高。不過,在畢業設計期間,有很長一段時間,我一直提心吊膽,到底實現策略是否能達到預期?在程序沒有實現之前,心里一點底都沒有,甚至擔心萬一結果做不出來怎么辦,畢竟,在實現中有多個關鍵環節,任何一個環節只要有一點理解不對,它的結果就會差十萬八千里。而且,要分析錯在哪里比較困難,因為數值計算程序的中間運行數據是沒有具體判斷標準的,一旦最終的結果錯了,要一步步去推導到底是哪步錯了比較困難。
經過1年半在EDA領域的學習,我開始對EDA學科有了一個初步認識,它是一門交叉學科:需要用到計算數學、微電子學、物理學、計算機科學等多門學科的知識。本科畢業時,我并沒有思考:這個一年半的本科課題研究時間到底是否合理?我當時覺得自己投入了幾乎100%的時間從事該項目研發,似乎用一年半時間做這樣一個課題達到了預期效果已經很不錯了,難道還有哪些不足嗎?
多年后,我再去回顧這個過程,覺得花費一年半的時間有些長了。在本科的一年半時間中,如果能夠每半年做一個課題和大作業。那么一年半時間就可以做出3個課題,這3個課題最好是3個不同的領域,而不是在一個領域做3個不同方法的研究。也就是說,在本科期間可以盡可能地提高知識的廣度,還不急于在深度上下功夫。我當時是在深度上下功夫較多,為了能夠使得計算精度和計算效率足夠好,花了很多時間進行優化,雖然對個人的創新性培養大有好處,但是從全局領域看,如果EDA學科都按照這個模式培養人才,人才培訓速度不夠,無法滿足國內EDA產業的快速補充人才缺口的需求。
因此,如果現在讓我回到高校去培養本科生的EDA人才,我會采取與我當初不同的模式,給同一個學生布置多個不同的課題,每個課題給定一個完成時間節點,在時間約束條件下,完成各個不同的課題。比如,如果還是從事寄生參數提取,還是一年半的時間。我會給學生3個不同課題:第一,用邊界元素法實現單個結構的寄生電容提取,用常數元即可,不要求用高次元。第二:把數值求解的方法與工業界用的準三維查表法結合起來,實現一個針對大規模數據的寄生參數提取原型。第三:把芯片器件結點提取的LVS流程與寄生參數提取流程結合起來,實現從gds到網表的全流程提取。
這個要求有些高,要在短短的一年半時間內實現上述需求,是否達不到呢?關鍵問題是:每個課題的指標都是要求做出原型,不要求實用化,只要學生理解原理,對最基本的測試用例可以通過,就算完成指標。
針對碩士生的EDA培養,我的建議是:該專業的3年學習時間,分解為6個學期,要求學生每個學期的主要任務就是完成一個大作業,開發一個特定的EDA工具原型。比如:第一學期:要求學生開發一個DRC工具簡化功能原型,第二學期,要求學生開發一個LVS工具簡化功能原型,第三學期,要求學生開發一個RC Extraction簡化功能原型,第四學期,要求學生開發一個SPICE工具簡化功能原型,第五學期,要求開發一個Layout Editor簡化功能原型,第六學期,要求學生開發一個Analog Router簡化功能原型。
上述6個小工具,如果全部串起來,就是一個典型的模擬電路全流程設計設計工具原型。雖然學生開發出的工具原型與商業化的EDA工具有很大差距,但是通過每個大作業的實習,他把該領域內的關鍵問題都有了清晰的了解,知道在哪些方面存在不足,將來他加入EDA企業后,如果繼續從事該領域的開發,就會快速入手,提升EDA企業的研發水平。同時,也不排除某些出色的學生在從事大作業開發時,提出了一個很好的思路,實現的工具原型水平很高,將來可以把某些思路應用到EDA企業中。
假設國內有10個高校開設類似的專業,每個專業每年培養10名類似的人才,則一年累計培養100名研發人員,5年左右就可以填補該領域在國內EDA產業的人才缺口。
那么,這些研究生的指導教師從哪里來?除了目前國內高校的EDA教師外,還需要再補充一些兼職指導教師,從國內的EDA企業中選擇研發能力強的工程師作為高校的兼職指導教師,指導研究生從工業界的應用出發,更符合產學研結合的需求。 這種培養方式強調了廣度,沒有強調深度,與傳統人才培養的模式不一樣,主要目標是:為了應對國內EDA人才短期內需要批量快速培養的目標。因此,它是一個應急的策略,不是一個持久的策略。
-
eda
+關注
關注
71文章
2779瀏覽量
173567 -
寄生電容
+關注
關注
1文章
293瀏覽量
19299
原文標題:從個人EDA研發經歷看EDA研發特點
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論