官术网_书友最值得收藏!

提升EDA軟件水平應從建立“工業軟件意識”開始

黃樂天

隨著國際形勢的變化,EDA軟件的關鍵作用凸顯,引起了專家、從業人員甚至是普羅大眾的關注。就如何發展 EDA 軟件,諸多專家學者也多次發表意見、建言獻策,其中也不乏大有見地的發言。然而就筆者看來,僅僅將目光局限在 EDA 軟件,很難厘清我國EDA軟件落后的真正原因。對待EDA軟件應該從整個“工業軟件”的視角入手,從我國長期以來缺乏“工業軟件意識”中去尋找落后的根源和改變的方法。本文將從這一問題切入,探討如何更好地發展EDA軟件。

1.從幾個故事開始

在開始這個沉重而嚴肅的話題之前,筆者準備先講述幾個身邊的小故事。

故事一:“編程大神”的落寞

2005 年,筆者還是一名本科生,筆者的班上有一位“編程大神”。為了行文方便,以下將其簡稱為“B 大神”。B 大神很早就展現出很強的編程能力。大三時 B大神參與了學校一個科研團隊的流片后的IC測試項目,測試項目的內容是手動使用測試儀器測得一些數據后填寫到Excel中加以分析。一共有5位本科生和碩士生參與了該項目。B大神辛苦地干了兩天以后覺得這種方法實在是過于痛苦,在認真熟悉了各種測試儀器半天后,B大神又用了一天左右的時間編寫了一個程序實現了自動測試與分析。一時間,B大神被驚為天人。

后來該芯片團隊的老師了解到B大神的成果也贊嘆不已,極力勸說B大神跟自己讀研。然而臨近研究生畢業之時,B大神發現自己居然只能以“嵌入式軟件開發”的方向去應聘各類工作。幾經輾轉,最后被成都的一家本土IC公司錄用為“嵌入式軟件工程師”。而當年那些技術水平不如他的同學,由于選擇了純軟件或IC設計方向,在畢業之時都有比較明確的去向。為此B大神苦惱不已,也后悔不已。此后的歲月中他幾經波折,也曾經在APP最瘋狂的那幾年自主創業過幾次,但很可惜都無果而終。最終他還是又回到了另外一家“知名”IC公司在成都的分部,還是從事IC應用開發和嵌入式系統設計。

后來有機會和B大神閑聊,談到目前國內IC設計公司從業人員最缺乏的能力是什么時,他說道:“應該說還是IT技術能力太低。和我們合作的國外工程師(這家IC設計公司的IP來源和技術源頭之一)可以很熟練地利用各種IT技術搭建自動化的設計、驗證平臺,并把一些重復的流程用IT技術固化為自有的一些小工具。而我們的工程師普遍缺乏這樣的能力,業務主管往往也缺乏這種能力創建的概念。”

那一刻他的眼中閃爍著光芒,不知道他是否想起 2005 年的那個夏天,他用自己的IT技術能力,一天之內完成了別人一個星期的工作量。而此刻,他依然只是一個“資深”的技術人員而非技術主管,只能在自己多年的好友面前敞開心扉談論一些看法。

(后記:在近兩年IC大發展的浪潮中,B大神終于得以在一家知名“獨角獸”芯片設計公司發光發熱,迎來了遲來的春天。)

故事二:那個“硬件不通,軟件不精”的女生

故事二的主角是我指導過的一位女生,當時我還在讀博士。雖然我那時已留校任教,但說起來她更應該算是我的師妹而非學生。師妹當時做的方向是偏向片上多核系統設計方法學,具體說就是根據設計目標研究如何確定設計方案的“方法”。確定設計方案顯然不可能靠拍腦門,可行的方法是首先對于系統進行抽象建模,而后利用各種搜索算法在眾多參數中確定最為恰當的參數值。師妹當時做得很努力,我們合作的文章發表在IEEE Embedded System Letter上。

但當就業季來臨,相比于其他做FPGA開發、嵌入式系統設計的同學,師妹的就業之路和B大神一樣艱難。在師妹面試國內某通信大廠的時候,被面試官下了“硬件不通,軟件不精”的評語。師妹回來以后大哭一場,后來有機會進入某金融機構,從此了斷與技術的瓜葛。比較諷刺的是,通信大廠后來多次以“社招”名義邀請師妹面試,被師妹很有涵養地婉拒。

(后記:頗具黑色幽默意味的是通信大廠如今號稱有“幾千人馬”投入到EDA的研發之中,當年與師妹同屆的那些做芯片設計、驗證的同學如今正在為國產EDA技術揮汗如雨,而師妹則在安靜地吃瓜、帶娃、做一個優雅的“金融女”。)

故事三:“不要砸了別人的飯碗”

說了兩個久遠的故事,再說兩個近一點的。我校示范性微電子學院實施“三個一”工程,即:“完成一條龍IC綜合實驗,參與一年工程實踐教育,實現一次芯片流片”。其中,參與一年工程實踐教育中最為重要的就是到企業參加為期半年的實習。

作為校內導師,有一天一位學生突然找到我想聊一下他實習的感想。學生非常不解地問:“我看這幫工程師好像都在混日子,他們每天都在進行一些重復和無效的工作”。我愣了一下,問他何出此言。他說發現該公司的大部分工程師每天都在改各自的腳本文件。但他觀察了一個月以后發現其實大部分腳本文件可以合并和參數化。他又用了不到一個月的時間,完成了這項工作,以后完成不同的任務時僅需要進行少量修改,就可以完成項目。如果時間再多一點他會再做一個界面,把參數都通過界面輸入后自動生成各種腳本。

他對此疑問的是:“我一個實習生都能想到的辦法,為什么這么多老工程師想不到?這樣可以顯著提升工作效率啊!!”聽罷我呵呵一笑:“回去好好干吧,不過你做的東西自己用用就好,以后還可以留個紀念,別砸了別人的飯碗。”

(后記:該同學本科畢業以后未再和我聯系,后來聽說是出國讀研究生去了。)

故事四:“你不是來實習的,你是來扶貧的”

如果說故事三的同學還只是發現了一般的工程師對于工作的懈怠和對 IT 技術的輕視,那么故事四的同學的經歷就著實有些“打臉”,打的是我們國內的某些 IC設計公司的臉了。

故事四的同學在國內某知名 IC 設計公司實習,在實習期間發現該公司的流程過于“手工”,很多IC設計流程都沒有打通。于是這位同學在實習的業余時間,利用自學的軟件編程知識實現了一套基于云平臺的IC設計流程整合系統。每個參與流程的設計人員都可以在這套整合系統中看到自己的工作流程、進度,還可以把各種工具取得的數據可視化。從他在實習答辯上展示的成果來看,這套系統的可用程度很高。我問他說:“實習單位對此是什么評價?”他哈哈一笑說:“我的那些師傅和同事們都說我不是來實習的,是來扶貧的。”但是這一笑過后,他這套頗有建樹的系統也就沒有然后了。

(后記:該同學后來參加考研,好像是考得不太理想,最后的出路未知。)

2.樹立“工業軟件意識”應從改造觀念入手

上面講的四個故事雖然主角不同、經歷不同,但都反映出我們國家的集成電路產業界甚至整個工業領域的“工業軟件意識”極其淡泊,對于以信息技術支撐工業設計的理解極不到位。

EDA軟件本質是一種工業軟件,其目的是提升設計能力、加快設計自動化程度。廣義上任何一種用于工業設計、生產、組織、流通環節的軟件都可以稱為“工業軟件”。這種軟件本質上和“工業母機”一樣,是工業能力的體現。最新被“瓦森納協定”納入管制名單的“計算光刻軟件(Computational lithography software)”就是一個典型的例子。在納米級集成電路工藝條件下,光刻機要生成芯片必須依賴于計算光刻軟件先行計算、仿真確定生產參數。離開了計算光刻軟件,光刻機生產芯片的良率就無法得到保障。

長期以來我們對于 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能力建設都造成了非常不良的影響。因此,必須從意識上、思想根源上對這個問題加以解決。

3.正本清源,從思想源頭上做好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技術的原發性生長。

以上是本人對于國產EDA技術發展的一些觀察和建議。

作者簡介:

黃樂天,電子科技大學電子科學與工程學院副教授,電子科技大學博士,CCF集成電路設計專業組委員。主要研究方向為計算機系統架構與系統級芯片設計方法學,已在IEEE Transactions on Computers(CCF A類期刊)等高水平期刊和 CODE+ISSS、FCCM、ASPDAC 等頂級會議上發表高水平論文 50 余篇,申請專利20余項,出版學術著作1部。參加工作以來主持和參與過國家自然科學基金項目重點項目、國家科技重大專項、國家“863”重點研究計劃等國家級重點科研項目,曾榮獲Altera公司(Intel PSG)金牌培訓師,第七、第八、第十二屆研究生電子設計大賽優秀指導教師,電子科大網絡名師等稱號。先后擔任過多個國際會議的PC Chair、TPC Chair、Special Session Chair、Session Chair等學術職務。

主站蜘蛛池模板: 济源市| 濮阳县| 正宁县| 绍兴市| 城步| 湛江市| 呈贡县| 三原县| 巴彦淖尔市| 易门县| 石棉县| 阿克苏市| 潍坊市| 朝阳区| 腾冲县| 诏安县| 射阳县| 渭南市| 湘西| 闽侯县| 南宫市| 武陟县| 都江堰市| 颍上县| 边坝县| 富民县| 共和县| 宜兰县| 方山县| 克什克腾旗| 拜泉县| 白河县| 昌江| 漠河县| 吉木萨尔县| 阿合奇县| 罗定市| 曲靖市| 壶关县| 云浮市| 嘉鱼县|