隨著中美競爭對抗的加劇,EDA軟件的關鍵作用凸顯,引起了專家、從業人員甚至是普羅大眾的關注。就如何發展EDA軟件,諸多專家學者也多次發表意見建言獻策,其中也不乏大有見地的發言。然而就筆者看來,僅僅將目光局限在EDA軟件一處很難厘清我國EDA軟件落后的真正原因。對待EDA軟件應該從整個“工業軟件”的視角入手,從我國長期以來缺乏“工業軟件意識”中去尋找落后的根源和改變的方法。本文將從這一問題入手,探討如何更好的發展EDA軟件。
一、從幾個故事開始
在開始這個沉重而嚴肅的話題之前,筆者準備先講述幾個身邊的小故事。
故事一:“編程大神”的落寞
15年前,筆者還是一名本科生,筆者的班上有一位“編程大神”。為了行文方便,以下將其簡稱為“B大神”。B大神一早就展現出很強的編程能力。大三時B大神參與了學校一個科研團隊的流片后的IC測試項目,測試項目的內容是手動的使用測試儀器測得一些數據后填寫到Excel中加以分析。一共有5位本科和碩士學生在參與該項目上。B大神辛苦的干了兩天以后覺得這種方法實在是過于苦B,在認真熟悉了各種測試儀器半天后,B大神又用了一天左右的時間編寫了一個程序實現了自動測試與分析。一時間B大神被驚為天人。
后來該芯片團隊的老師了解到B大神的成果也贊嘆不已,極力勸說B大神到自己的麾下讀研。然而而臨近畢業之時,B大神居然發現自己只能以“嵌入式軟件開發”的名義去應聘各類工作。幾經輾轉只能被成都的一家本土IC公司錄用為“嵌入式軟件工程師”。而當年那些技術水平不如他的同學,由于選擇了純軟件或者IC設計方向,在畢業之時都有比較明確的去向。為此B大神苦惱不已,也后悔不已。此后的歲月中他幾經波折,也曾經在APP最瘋狂的那幾年自主創業過幾次,但很可惜都無果而終。幾經波折以后他最終還是又回到了另外一家“知名”IC公司在成都的分部上班。還是從事IC應用開發和嵌入式系統設計。
前不久有機會和B大神閑聊,談到目前他覺得國內IC設計公司從業人員最缺乏的能力是什么時。他說到:“應該說還是IT技術能力太低。和我們合作的國外工程師(這家IC設計公司的IP來源和技術源頭之一)可以很熟練的利用各種IT技術搭建自動化的設計、驗證平臺,并把一些重復的流程用IT技術固化為自有的一些小工具。而我們的工程師普遍缺乏這樣的能力,業務主管往往也缺乏這種能力創建的概念。”
那一刻他的眼中閃爍著光芒,不知道他是否想起15年前的那個夏天,他用自己的IT技術能力,一天之內完成了別人一個星期的工作量。而此刻,他依然只是一個“資深”的技術人員而非技術主管,只能在自己多年的好友面前敞開心扉談論著一些看法。
故事二:那個“硬件不通,軟件不精”的女生
故事二的主角是我指導過的一位女生,當時我還在讀博士期間。雖然我那時已留校任教,但說起來她更應該算是我的師妹而非學生。師妹當時做的方向是偏向片上多核系統設計方法學,具體說了就是根據設計目標研究如何確定設計方案的“方法”。確定設計方案的過程顯然是不可能靠拍腦門,可行的方法是首先對于系統進行抽象建模,而后利用各種搜索算法在眾多參數中,確定最為恰當的參數值。師妹當時做的也很努力,我們之間合作的文章發表在IEEEEmbeddedSystemLetter上。
但當就業季來臨,相比于其它做FPGA開發的、嵌入式系統設計的同學,師妹的就業之路和B大神一樣艱難。在師妹面試國內某通信大廠的時候,被面試官下了“硬件不通,軟件不精”的定語。師妹回來以后大哭一場,后有機會進入某金融機構,從此了斷與技術的瓜葛。比較諷刺的是,通信大廠后來多次以“社招”名義邀請師妹面試,被師妹很有涵養的婉拒。
故事三:“不要砸了別人的飯碗”
說了兩個久遠的故事,再說兩個近一點的。我校示范性微電子學院實施“三個一”工程,即:“完成一條龍IC綜合實驗,參與一年工程實踐教育,實現一次芯片流片”。其中參與一年的工程實踐教育中最為重要的就是到企業參加為期半年的實習。
作為校內導師,有一天一位學生突然找到我想聊一下他實習的感想。學生非常不解的問:“我看這幫工程師好像都在混日子,他們每天都在進行一些重復和無效的工作”。我愣了一下,問他何出此言。他說他發現該公司的大部分工程師每天都在改各自腳本文件,但他觀察了一個月以后發現其實大部分腳本文件可以合并和參數化。他自己又用了不到一個月的時間,通過完成了這項工作。再后續完成不同的任務時僅需要進行少量修改,就可以完成項目。如果時間再多一點他會再做一個界面,把參數都通過界面輸入后自動生成各種腳本。
他對此疑問的是:“我一個實習生都能想到的辦法,為什么這么多老工程師想不到?這樣可以顯著提升工作效率?。?!”聽罷我呵呵一笑:“回去好好干吧,不過你做的東西自己用用就好,以后還可以留個紀念,別砸了別人的飯碗?!?/p>
故事四:“你不是來實習的,你是來扶貧的”
如果說故事三的同學還是只發現了一般的工程師對于工作的懈怠和對IT技術的輕視。那么故事四的同學的經歷就著實有些“打臉”,打的是我們國內的某些IC設計公司了。
故事四的同學在國內某知名IC設計公司實習,在實習期間發現該公司的流程過于“手工”,很多IC設計流程都沒有打通。這位同學于是在實習的業余時間,利用自己自學的軟件編程知識實現了一套基于云平臺的IC設計流程整合系統。每個參與流程的設計人員都可以在這套整合系統中看到自己的工作流程、進度,還可以把各種工具取得的數據可視化。從他在實習答辯上展示的成果來看,這套系統的可用程度很高。我問他說:“實習單位對此什么評價?”他哈哈一笑說:“我的那些師傅和同事們都說我不是來實習的,是來扶貧的。”但是這一笑過后,他這套頗有建樹的系統也就沒有然后了。
二、樹立“工業軟件意識”應從改造觀念入手
上面講的四個故事雖然主角不同、經歷不同,但都反映出來我們國家的集成電路產業界甚至整個工業領域的“工業軟件意識”極其淡泊,對于以信息技術支撐工業設計理解極不到位。
EDA軟件本質是一種工業軟件,其目的是為了提升設計能力、加快設計自動化程度的軟件。廣義上任何一種對于工業設計、生產、組織、流通環節的軟件都可以稱為“工業軟件”。這種軟件本質上和“工業母機”一樣,是工業能力的體現。以最新被“阿森納協議”納入管制名單的“計算光刻軟件Computationallithographysoftware”就是一個典型的例子。在納米級集成電路工藝條件下,光刻機要生成芯片必須依賴于計算光刻軟件先行計算、仿真確定生產參數。離開了計算光刻軟件,光刻機生產芯片的良率就無法得到保障。
長期以來我們對于EDA軟件的認識局限化、刻板化,在意識和觀念中存在很大不足。我國的領導人早在10多年前就高瞻遠矚的提出“以信息化帶動工業化,以工業化促進信息化”的方針政策,而目前在EDA領域的認識偏差恰恰對這一方針認識不到位的體現。我們更多的重視一些有型的、可以直接作用于生產的設備或工具,而對提升設備能力、加快生產流程的信息化技術重視程度非常有限。
這種工業軟件思維的缺乏導致的國內學界和產業界對于EDA的錯誤觀念偏差主要體現在以下幾點:
1.對EDA軟件理解“窄化”和“片面化”,沒有從信息技術促進設計能力的提升角度來理解EDA軟件,更沒有從工業軟件的全局來衡量和定義EDA軟件。其實信息技術在多個設計/驗證環節均能夠起到加強設計能力、提升生產效率的作用,提升這些能力必然要以某種軟件或者程序作為載體,而這些軟件和程序都是廣義上的EDA軟件。但長期以來這些軟件和程序不被承認為EDA軟件,也得不到足夠的重視。其實國內EDA軟件的起步完全可以走“服務信息產業”的道路,先從一些能夠提升設計效率的環節、流程入手。目前沒有把這些軟件、程序納入EDA工業軟件的范疇予以重視和支持。使得一些原生性的EDA工業軟件,在一開始就得不到承認和支持,以至于“胎死腹中”,這使得我國具有原創性的EDA技術研發找不到生存的土壤。
2.長期以來在高校和業界將EDA技術更多視為“學習如何使用EDA軟件做不同層次的電子系統設計”的工具,很少從工業軟件的角度,研究EDA的設計方法學。在高校的課程中冠名“EDA技術”的課程一般不講EDA背后的運行原理,主要介紹硬件描述語言和各種工具的使用方法。出版的“EDA技術”的書籍大多也是同樣的情況。全國各地的所謂“EDA協會”本身不研究EDA技術本身,大多是國外EDA公司/FPGA公司的“推廣協會”。這種名不符實的現象不但擠占了原本屬于真正的EDA技術的學術資源和課程資源,也在青年學子中造成了長期的概念混亂。這種“擠占效應”使得本就不夠“肥沃”的土壤雜草叢生,進一步惡化了本土EDA軟件的生態環境。
3.由于觀念的缺失,現有的各種考評機制并不鼓勵發展各種自主的EDA技術。由于我國在信息技術上是后發國家,我國的信息技術處于“吸收、消化、趕超”的階段。在發展電子信息產業也長期處于“有所為有所不為”的狀態。長期以來無論是在產業界還是在學術界我們更加注重那些能夠直接“產出”的技術和工作,而對于能力建設重視程度偏低。具體在集成電路領域,長期習慣依賴既有的、現成的工具軟件來產出成果,而對于自主建設一些EDA軟件、哪怕是輔助性的、廣義的EDA軟件也持否定態度。這種觀念在學術界的表現就是“五唯”,而在產業界的表現就是KPI導向的公司短視化的發展策略。這種短視化的考核機制只監督“砍柴”,不鼓勵“磨刀”,更不鼓勵去“制造伐木鋸”。雖然“伐木鋸”造好以后會更好的“砍柴”,傳播制造“伐木鋸”的技術可以幫更多人更好更快的“砍柴”。但大量一線的科研人員、工程師由于時刻擔心每天要上交足夠的“柴”而無法去真正有時間、精力和心思去思考如何造“伐木鋸”。少部分有興趣、有追求的科研人員和工程師在這種機制下也備受折磨,逐漸熄滅了研究EDA軟件的熱情。
從以上分析可以看出,由于觀念上的偏差對我國包括EDA軟件在內的工業軟件造成了長期的損害。無論是在人才培養、學術研究、產品研發以及各個公司內部IT能力建設都造成了非常不良的影響。因此必須要從意識上,從思想根源上對這個問題加以解決。
三、正本清源,從思想源頭上做好EDA人才隊伍建設
通過以上分析可以看出,從認識上進行“糾偏”是我國發展EDA軟件發展急需解決的一個重要問題。而首要是培養出一批具備“工業軟件”思想的人才,通過這樣一支穩定的人才隊伍去把正確的理念運用到國產EDA軟件以及更為廣泛的工業軟件開發上。
要想從思想源頭上做好EDA人才隊伍建設,需要從幾個方面排除不利影響,造就培養、發掘人才隊伍的良好環境。個人建議應從以下幾個方面入手:
1.建議國家教育部、新聞出版總局和國家標準化委員會等做好EDA技術名詞的規范工作。對于出版的教材、書籍中對“EDA技術”的濫用、亂用的行為應盡快予以規范。對于內容中并不包含講授“EDA技術”的教材、書籍(包括翻譯過的書籍)的書名應予以改正,用“數字系統設計”、“電路設計工具應用”等更為符合的書名加以替代。
2.建議科技部、自然基金委等科技主管部門,明確包含EDA軟件在內的工業軟件研究范疇與范式,保證各級科研范疇中對工業軟件的研究支持不濫用、不亂用,切實落到實處。對于工業軟件這種既不能馬上產生經濟效益又不能發表論文和申請專利的提供穩定的研究經費支持并進行合理的考核研究,為這類研究保留足夠的持續發展空間。
3.建議教育部、教指委等部門從專業認證的角度對各校所謂的“EDA技術”的課程大綱、教學內容進行嚴格核查,對實際上沒有講授EDA技術的課程要予以整改。在此基礎上推動高校開設“真正的EDA技術”課程,釋放被占用的教育資源來培養真正學習過EDA技術的后備技術人才。
4.建議各級學會、科協組織對于掛靠/下屬的“EDA學會”進行清查和規范,對于沒有真正從事EDA學術研究、交流與推廣的學會應予以限期整改。
5.以賽促學,產教融合。通過競賽搭建國內真正從事EDA相關技術的學者、學生、產業公司之間交流的平臺。通過公司出題、學校參與、學生答題的形式,讓學生真正認識到產業需求和真正的EDA技術上在關注什么問題。通過“真刀真槍”的比拼,考查各個學校在EDA軟件領域的培養成果。以此推動培養一批真正具備“工業軟件”意識、熟悉EDA技術背后關鍵科學理論的年輕學子,為產業培養足夠的后備軍。
6.通過網絡課堂、直播講座等方式對已經工作的年輕從業人員進行培訓,將工業軟件的意識更加廣泛的傳播開,鼓勵他們嘗試在自己的工作中利用信息技術提升設計自動化水平。
7.對于企業中開展的EDA軟件等工業軟件研究應予以扶持,通過知識產權保護、高新企業認定等政策鼓勵企業對自身員工自助開展相關研究予以保護和支持。從而推動國內EDA技術的原發性生長。
評論