楊 燕,馬文英
(成都信息工程大學(xué) 通信工程學(xué)院〔微電子學(xué)院〕,四川 成都 610000)
隨著電子信息技術(shù)的飛速發(fā)展,集成電路支撐著現(xiàn)代通信、計算機、物聯(lián)網(wǎng)、智能系統(tǒng)等高技術(shù)產(chǎn)業(yè),是我國必須掌握的核心技術(shù),同時也是我國電子信息產(chǎn)業(yè)的薄弱環(huán)節(jié)。而集成電路領(lǐng)域人才屬于國家緊缺人才,培養(yǎng)集成電路相關(guān)人才的需求日益凸顯。整合我校微電子相關(guān)專業(yè)學(xué)院的學(xué)科專業(yè)人才優(yōu)勢,通信工程學(xué)院(微電子學(xué)院)積極響應(yīng)國家需求,新建設(shè)了集成電路設(shè)計與集成系統(tǒng)專業(yè)。隨著片上系統(tǒng)(SOC)芯片的廣泛需求和芯片設(shè)計規(guī)模的急劇增大,其數(shù)字集成電路驗證這一關(guān)鍵技術(shù)成為熱門且短缺的技術(shù)。因此,我院針對集成電路發(fā)展的迫切需求,為集成電路設(shè)計與集成系統(tǒng)專業(yè)新增了“數(shù)字集成電路驗證技術(shù)”課程,其作為專業(yè)必修核心課程之一的目的是為培養(yǎng)本專業(yè)數(shù)字集成電路方面專業(yè)化人才量身打造。目前,全國高校都在大力發(fā)展集成電路一級學(xué)科,課程設(shè)置成為高校招生和培養(yǎng)相關(guān)人才的重要一環(huán),特別是在當(dāng)前數(shù)字集成電路驗證人才的廣泛和急迫需求的背景下,“數(shù)字集成電路驗證技術(shù)”的授課可以反映出高校集成電路相關(guān)專業(yè)的專業(yè)程度和專業(yè)傾向。同時,隨著我國集成電路的不斷發(fā)展,其人才隊伍的專業(yè)化劃分更加清晰,對專業(yè)化的數(shù)字集成電路驗證人才需求量日益劇增。而全國高校針對數(shù)字集成電路驗證技術(shù)的相關(guān)課程還非常缺乏,顯然,這與就業(yè)需求背道而馳。因此,開設(shè)“數(shù)字集成電路驗證技術(shù)”課程不僅積極響應(yīng)了國家對集成電路人才的迫切需求,而且為學(xué)生的就業(yè)指明了更專業(yè)化的方向。該課程也幫助了學(xué)生就業(yè)方向的選擇,也在一定程度上提高了社會競爭力。由此可見,開設(shè)“數(shù)字集成電路驗證技術(shù)”課程勢在必行。本文探究了“數(shù)字集成電路驗證技術(shù)”專業(yè)必修課程在授課過程中的教學(xué)內(nèi)容、方法,并就教學(xué)過程中遇到的各種教學(xué)問題進行了積極思考和詳細(xì)討論,希望能為數(shù)字集成電路類專業(yè)的授課提供一定的科學(xué)參考與幫助。
“數(shù)字集成電路驗證技術(shù)”的授課對象是本科學(xué)生,因此,需要結(jié)合本科生自身的專業(yè)知識基礎(chǔ),這是本門課程教學(xué)的前提。而該課程的授課基礎(chǔ)課程包括:數(shù)字電路、數(shù)字集成電路設(shè)計、C語言、Verilog編程技術(shù),我院在開設(shè)本門課程之前已經(jīng)完成所述基礎(chǔ)專業(yè)課程的學(xué)習(xí),因此對本課程的學(xué)習(xí)有較好的基礎(chǔ)鋪墊作用?;诖耍鹃T課程的開設(shè)旨在驗證集成電路設(shè)計模塊,從驗證的思想實現(xiàn)芯片在流片之前缺陷的規(guī)避。其教學(xué)內(nèi)容主要從數(shù)字集成電路驗證概念、驗證流程、驗證平臺、驗證策略、驗證語言和方法學(xué)幾個方面對該課程進行講解與剖析。首先,對SOC芯片設(shè)計的整體流程進行講解,著重介紹數(shù)字集成電路驗證在整個SOC芯片流程的作用,意義及擔(dān)當(dāng)?shù)娜蝿?wù),讓學(xué)生建立良好的數(shù)字集成電路驗證的概念。進一步地,通過對SOC芯片誕生的整個流程的介紹,引入數(shù)字集成電路驗證技術(shù)在整個流程中的位置和承擔(dān)的角色。并詳細(xì)拆分?jǐn)?shù)字集成電路驗證的流程及過程,讓學(xué)生明白如何對集成電路的設(shè)計模塊進行驗證,如何搭建芯片驗證平臺,以及如何有效地構(gòu)建可移植的驗證平臺。同時,讓學(xué)生了解和理解驗證的思想和策略,學(xué)會將部分有效策略成功地移植到自己所設(shè)計的芯片模塊或者系統(tǒng)中。其次,進一步剖析數(shù)字集成電路驗證技術(shù)的核心手段和實現(xiàn)方法,即學(xué)習(xí)SystemVerilog編程語言來完成驗證平臺中的各個組件的實現(xiàn),在構(gòu)建好驗證平臺組件后,采用SystemVerilog編程語言完成模塊的各個功能點驗證,滿足良好的功能覆蓋率和代碼覆蓋率。
針對數(shù)字集成電路驗證概念、驗證流程、驗證平臺、驗證策略幾個方面的教學(xué),主要通過引入實際芯片研發(fā)工程項目案例進行分析講解驗證概念、驗證流程和驗證平臺。驗證策略的教學(xué)主要總結(jié)驗證技術(shù)中的策略分析,并以SOC芯片設(shè)計中所關(guān)聯(lián)的驗證模塊作為實際例子,深度剖析在實際工程項目中所遇到的問題,以及驗證工程師所采用的驗證策略來規(guī)避問題,確保芯片在流片后的可靠性。讓學(xué)生切實體會到驗證策略的正確實施的重要性和有效性,并深入理解哪些有效的驗證策略,這也是豐富學(xué)生工程經(jīng)驗的有效舉措。這種引入實際項目案例的方式更能清晰地呈現(xiàn)數(shù)字集成電路驗證的重要技術(shù),使得抽象的技術(shù)具體化,讓學(xué)生更容易理解和吸收。
針對“數(shù)字集成電路驗證技術(shù)”課程的核心內(nèi)容即掌握驗證方法的SystemVerilog編程語言。采用SystemVerilog編程實現(xiàn)驗證平臺中各個組件,以及功能點的具體實現(xiàn)。故學(xué)好SystemVerilog編程語言是數(shù)字集成電路驗證的重要環(huán)節(jié)。在對SystemVerilog編程技術(shù)的教學(xué)過程中,探索新型教學(xué)模式,擺脫傳統(tǒng)枯燥語言學(xué)習(xí)的教學(xué)模式。通過引入工程項目案例中所用到的語法知識與書本知識相結(jié)合的模式,對SystemVerilog進行講解。并在課堂上增設(shè)編程練習(xí)加強學(xué)生對語法知識的理解和熟悉。學(xué)習(xí)SystemVerilog編程語言除了讓學(xué)生掌握這門編程語言的語法知識,更重要的是讓學(xué)生理解和掌握SystemVerilog語言背后驗證的思想和方法。具體在教學(xué)過程中的體現(xiàn)就是首先講解SystemVerilog語言的語法結(jié)構(gòu)和知識體系,涉及的SystemVerilog編程語言知識體系如圖1所示。緊接著針對其重點和難點列舉出該語法知識的具體例子,例子的引入均源于實際工程項目中的案例。使得學(xué)生更加深刻地明白語言的語法知識是如何嵌入至實際工程應(yīng)用的。
圖1 SystemVerilog編程語言知識體系
“數(shù)字集成電路驗證技術(shù)”這門本科生的專業(yè)必修課程,采用了理論+工程項目案例混合的教學(xué)模式。但是由于本科生專業(yè)知識有限,且?guī)缀鯖]有工程項目實戰(zhàn)經(jīng)歷,加之專業(yè)知識體系較難。導(dǎo)致學(xué)生無法全部理解語法知識和對應(yīng)項目實踐的案例代碼,因此學(xué)習(xí)動力和信心有所下降,且該課程對應(yīng)的實驗課程進展起來難度大。其實驗步驟、實驗結(jié)果和實驗報告部分學(xué)生無法完成。另外,學(xué)生也不愿意遇到問題立馬與教師溝通交流,造成的結(jié)果就是學(xué)生很難理解所有課程內(nèi)容,也更難深入掌握工程項目實際案例中的專業(yè)知識。
該課程的設(shè)置包括32學(xué)時的理論課和16學(xué)時的實驗課,授課內(nèi)容基于相匹配的理論課程內(nèi)容。由于理論課程內(nèi)容在比較多,且專業(yè)知識難度較大,學(xué)生掌握有限,對實驗課程內(nèi)容造成了一定影響,實驗課堂完成相關(guān)的設(shè)計較為困難。同時,實驗課程的課時量較少,導(dǎo)致學(xué)生實驗內(nèi)容掌握不好。一方面,實驗課程的內(nèi)容設(shè)置較難。一方面,該課程的實驗內(nèi)容需要構(gòu)建基本的驗證平臺。這些驗證平臺包括:激勵發(fā)生器、比較器、監(jiān)視器及其他組件,這些組件全部是基于SystemVerilog語言來實現(xiàn),工作量和實現(xiàn)難度系數(shù)都比較大。另一方面,對于學(xué)習(xí)這門課程的學(xué)生而言,還需要具備數(shù)字集成電路設(shè)計知識作為基礎(chǔ),對所要驗證的設(shè)計模塊有所了解。因此所設(shè)計的實驗內(nèi)容對于本科生來說存在一定的難度。加之,學(xué)生接觸工程項目的機會較少,自身動手能力較弱也是對實驗課程內(nèi)容的設(shè)置造成一定影響。
本課程在教學(xué)過程中需要涵蓋的內(nèi)容較多,包括數(shù)字集成電路驗證技術(shù)整體概念、驗證流程、驗證平臺和驗證策略的講解,以及對SystemVerilog編程語言、語法及對應(yīng)的工程案例的講解。實驗內(nèi)容更是綜合了理論課程內(nèi)容,包括驗證平臺的搭建、驗證策略、對設(shè)計模塊功能點的驗證。因此,該課程的較多的學(xué)習(xí)內(nèi)容和較難的學(xué)習(xí)內(nèi)容導(dǎo)致學(xué)生掌握的程度有限。課時量的不足也是導(dǎo)致部分學(xué)生理解不深入的原因之一。另外,本科學(xué)生專業(yè)基礎(chǔ)知識有限,實際動手操作能力不夠,無法深入地掌握教學(xué)內(nèi)容。加之,本科生自身學(xué)習(xí)的積極性不是很高,對專業(yè)知識的探索欲較弱,使得教學(xué)難度進一步提升。綜上分析,這些都對學(xué)生的學(xué)習(xí)效果和學(xué)習(xí)程度有一定的影響。
“數(shù)字集成電路驗證技術(shù)”作為集成電路類專業(yè)必修課程,其重要程度顯而易見。鑒于該課程的專業(yè)性很強,且本身難度較大,相關(guān)的學(xué)習(xí)資料、學(xué)習(xí)資源又較少,因此學(xué)生的工程實踐能力較差。這就導(dǎo)致學(xué)生內(nèi)心認(rèn)為課程難度很大。針對該現(xiàn)狀,在“數(shù)字集成電路驗證技術(shù)”授課前提前布置基礎(chǔ)知識點的預(yù)習(xí),以確保授課過程中大家對新知識更容易接受和理解。同時,教師在授課過程中可以增加工程項目中的案例或工程項目中應(yīng)用的某段代碼進行講解,結(jié)合所預(yù)習(xí)的基礎(chǔ)知識,將這些簡單的語法知識嵌入至工程項目,使學(xué)生的專業(yè)理論知識更加深入地得到鞏固,因而相比單一地學(xué)習(xí)枯燥乏味的語法知識更加豐富和積極。針對課堂上采用講解工程案例較難的問題,教師可以對案例的前因后果做介紹,并將案例中的代碼分析以錄視頻的形式,發(fā)送給學(xué)生。解決學(xué)生在有限的課堂時間里無法對案例內(nèi)容掌握徹底的問題。另外,增設(shè)課程線下工程案例練習(xí),以小團隊為單位在課下將課堂上舉例的工程案例進行線下演練。團隊之間在練習(xí)的過程中既加深了知識理解和提升了動手能力,又增強了團隊協(xié)助能力和提高自身學(xué)習(xí)積極性。同時,該課程配備的輔助教師要有提高、促進授課教師與學(xué)生之間的交流意識,做好溝通橋梁作用。輔助教師多關(guān)心學(xué)生的學(xué)習(xí)程度和學(xué)習(xí)進度,收集學(xué)生對難點知識的意見,并與授課教師一起解惑學(xué)生學(xué)習(xí)過程中的不惑。授課教師和輔助教師在課堂上盡量語速放緩,將工程案例與書本基礎(chǔ)知識結(jié)合起來以提高學(xué)生課堂上的吸收效率。為了更進一步提升項目工程實踐能力,增加線下答疑互動的方式。通過建立微信群,學(xué)生可以在線下動手練習(xí),遇到問題隨時在群里詢問,教師和助教在線上及時給予問題解答。利用好網(wǎng)絡(luò)資源,將教學(xué)—實踐在線上綜合為一體化,能夠有效提升學(xué)生的動手能力和學(xué)習(xí)積極性。
“數(shù)字集成電路驗證技術(shù)”是一門具備專業(yè)性很強的課程,其實驗內(nèi)容也是該課程的一個重要環(huán)節(jié)。但是,由于課時量很受限,導(dǎo)致很多理論課程內(nèi)容難以和實驗課程內(nèi)容很好地融合。課程實驗內(nèi)容的工程性質(zhì)較強,對于本身缺乏工程經(jīng)驗的本科生來說存在較大的挑戰(zhàn)。因此,為了進一步完善理論課程和實驗課程之間的聯(lián)系,需要適當(dāng)增加實驗課程的課時,使得實驗的內(nèi)容能夠較全面的覆蓋理論課程,讓理論知識和實驗內(nèi)容得以有效結(jié)合。另外,在實驗課程設(shè)置方面,采取由易到難的課程設(shè)置模式,并循序漸進地嵌入理論課程的基礎(chǔ)知識至實際項目中的工程案例中,這些工程案例即截取實驗內(nèi)容中的部分。這樣,在實驗過程中,學(xué)生對用到的理論知識就沒有那么陌生和抽象了。同時,在理論課程的授課過程中增加部分實驗內(nèi)容進行深度剖析,并以小作業(yè)的形式鼓勵學(xué)生課后進行上機練習(xí),鞏固知識。在實驗課程設(shè)置方面,結(jié)合理論知識點,將工程項目案例進行分解成若干個小實驗,并在實驗課堂上強調(diào)小實驗中用到的理論知識,有效地將實驗和理論有機結(jié)合。最后,將這些拆分的小實驗串起來,就構(gòu)建成整個工程項目案例。這樣由易到難的實驗課程內(nèi)容解析設(shè)置不僅能有效地將理論和實驗相結(jié)合,還能解決學(xué)生動手能力差、實驗內(nèi)容難的問題,最終達(dá)到良好的教學(xué)目的。
隨著移動互聯(lián)網(wǎng)和信息技術(shù)的發(fā)展,當(dāng)今課堂教學(xué)已經(jīng)不再僅限于以往單純的黑板的線下教學(xué)模式。尤其是在集成電路技術(shù)的飛速發(fā)展的大形勢下,利用軟件技術(shù)構(gòu)建數(shù)字集成電路驗證虛擬機平臺,該平臺在Linux 系統(tǒng)的環(huán)境下集成Veridi、VCS仿真調(diào)試工具,有效地將實驗室平臺搬移到寢室、家里、圖書館等任何地方。學(xué)生只需要有電腦,就可以隨時隨地完成課程實驗、工程項目。為學(xué)生創(chuàng)造了基于本課程靈活的學(xué)習(xí)平臺。解決了學(xué)生使用工具難的問題,增強實驗教學(xué)的靈活性和可移植性,進而提升教學(xué)效果。
綜上所述,“數(shù)字集成電路驗證技術(shù)”授課是目前集成電路領(lǐng)域比較新穎的一類課程,尤其是該課程在面向本科學(xué)生授課及其實驗課程的設(shè)置,難免會遇到一些新的教學(xué)問題。但只要勤于思考、與時俱進、敢于改變,一定會克服這些負(fù)面影響,獲得更好的教學(xué)效果,一定程度上解決國家對集成電路人才急需的重大難題。