馬勝 李振濤 陸洪毅 王志英 劉必慰
摘要:VLSI設(shè)計(jì)人才的培養(yǎng)對(duì)理論性和實(shí)踐性要求都很高,國(guó)防科技大學(xué)自2012年起就開(kāi)設(shè)了《VLSI設(shè)計(jì)綜合實(shí)踐》課程以提升所培養(yǎng)人才的VLSI設(shè)計(jì)工程實(shí)踐能力。課程通過(guò)將理論講授與實(shí)驗(yàn)環(huán)節(jié)交叉設(shè)置加深學(xué)生對(duì)理論知識(shí)的理解,提高學(xué)生的實(shí)踐能力。針對(duì)業(yè)界最新發(fā)展趨勢(shì),教學(xué)團(tuán)隊(duì)持續(xù)對(duì)課程教學(xué)方法、教學(xué)內(nèi)容、實(shí)驗(yàn)設(shè)置和實(shí)驗(yàn)環(huán)境進(jìn)行改革,取得了良好的教學(xué)效果。本文對(duì)課程教學(xué)實(shí)踐和改革情況進(jìn)行總結(jié)。
關(guān)鍵詞:VLSI設(shè)計(jì);實(shí)踐教學(xué);BOPPPS;卷積運(yùn)算加速器
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2018)39-0136-06
一、引言
集成電路產(chǎn)業(yè)是支撐經(jīng)濟(jì)社會(huì)發(fā)展和保障國(guó)家安全的戰(zhàn)略性、基礎(chǔ)性和先導(dǎo)性產(chǎn)業(yè),也是工業(yè)經(jīng)濟(jì)的命脈產(chǎn)業(yè)。當(dāng)前,我國(guó)已成為全球第三大集成電路產(chǎn)品制造國(guó),正在從一個(gè)集成電路“消費(fèi)大國(guó)”變成“生產(chǎn)大國(guó)”,形成了以集成電路技術(shù)為基礎(chǔ)的集成電路設(shè)計(jì)、芯片制造、芯片封裝協(xié)調(diào)發(fā)展的局面。目前我國(guó)集成電路專業(yè)人才培養(yǎng)取得一定成績(jī)的同時(shí),也面臨著巨大的問(wèn)題。我國(guó)雖然已成為集成電路產(chǎn)品的生產(chǎn)大國(guó),但還不是強(qiáng)國(guó),大而不強(qiáng)的特征反映在核心技術(shù)沒(méi)有掌握在自己手中,造成這種局面的主要原因是傳統(tǒng)的人才培養(yǎng)模式不能適應(yīng)產(chǎn)業(yè)發(fā)展的需要。集成電路人才培養(yǎng)的一個(gè)顯著特色是對(duì)理論性和實(shí)踐性要求都非常高[1]。傳統(tǒng)人才培養(yǎng)模式重理論輕實(shí)踐,重講授輕動(dòng)手,造成所培養(yǎng)的人才理論研究能力較強(qiáng),工程實(shí)踐能力較弱,理論和實(shí)踐相脫節(jié),無(wú)法滿足集成電路產(chǎn)業(yè)急速發(fā)展對(duì)工程實(shí)踐人才的迫切需求。針對(duì)這種情況,教育部等七部門(mén)于2016年5月發(fā)布了“關(guān)于加強(qiáng)集成電路人才培養(yǎng)的意見(jiàn)”,重點(diǎn)強(qiáng)調(diào)了要提高集成電路人才培養(yǎng)過(guò)程中的實(shí)踐實(shí)訓(xùn)水平。在產(chǎn)業(yè)界的推動(dòng)和上級(jí)主管部門(mén)的重視下,我國(guó)很多高校都相繼開(kāi)展了集成電路實(shí)踐課程的建設(shè),其中國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院于2012年開(kāi)始就面向微電子學(xué)與固體電子學(xué)專業(yè)的工程碩士研究生開(kāi)設(shè)了《VLSI設(shè)計(jì)綜合實(shí)踐》課程,以提高研究生的集成電路設(shè)計(jì)工程實(shí)踐能力。
課程教學(xué)目標(biāo)是使學(xué)生理解VLSI設(shè)計(jì)流程中的各個(gè)環(huán)節(jié)的基本原理,熟悉和掌握VLSI設(shè)計(jì)流程中多種EDA工具的使用。課程內(nèi)容涵蓋了從前端RTL設(shè)計(jì)和驗(yàn)證,到后端布局布線和物理驗(yàn)證的VLSI設(shè)計(jì)完整流程。課程教學(xué)將理論講授和實(shí)驗(yàn)環(huán)節(jié)交叉設(shè)置,通過(guò)實(shí)驗(yàn)環(huán)節(jié)提升學(xué)生對(duì)理論知識(shí)的理解和實(shí)踐能力。在課程五年的發(fā)展歷程中,教學(xué)團(tuán)隊(duì)不斷提升課程教學(xué)水平,持續(xù)對(duì)課程的教學(xué)方法、教學(xué)內(nèi)容、實(shí)驗(yàn)設(shè)置和實(shí)驗(yàn)環(huán)境等進(jìn)行改革。首先,將國(guó)際前沿的BOPPPS教學(xué)模式[2-4]引入到課程教學(xué)中,將教學(xué)方式從“以教師為中心”轉(zhuǎn)換到“以學(xué)生為中心”。其次,追蹤VLSI設(shè)計(jì)領(lǐng)域最新發(fā)展趨勢(shì),將UVM驗(yàn)證方法學(xué)[5]引入到課程教學(xué)中;針對(duì)功耗已成為VLSI設(shè)計(jì)的首要限制因素[6],在教學(xué)中強(qiáng)調(diào)從RTL級(jí)到門(mén)級(jí)的低功耗設(shè)計(jì)技術(shù)。最后,針對(duì)近年各種神經(jīng)網(wǎng)絡(luò)加速器層出不窮的情況[7],課程將實(shí)現(xiàn)卷積運(yùn)算加速器作為大作業(yè)。本文對(duì)課程五年來(lái)的教學(xué)實(shí)踐和改革情況進(jìn)行了總結(jié)。
二、國(guó)內(nèi)外相關(guān)課程設(shè)置和教學(xué)情況
為提升所培養(yǎng)人才的VLSI設(shè)計(jì)實(shí)踐能力,國(guó)內(nèi)外知名大學(xué)均開(kāi)設(shè)VLSI設(shè)計(jì)實(shí)踐類課程。各所高校根據(jù)自身的專業(yè)設(shè)置和特色,在實(shí)踐類課程方面各有側(cè)重和不同,本節(jié)簡(jiǎn)要介紹美國(guó)斯坦福大學(xué)、加州伯克利大學(xué)、加拿大多倫多大學(xué)、英國(guó)南安普頓大學(xué)和復(fù)旦大學(xué)等國(guó)內(nèi)外知名大學(xué)所開(kāi)設(shè)的VLSI設(shè)計(jì)實(shí)踐類課程的教學(xué)內(nèi)容和方法。
1.美國(guó)斯坦福大學(xué)的《Design Projects in VLSI Systems》課程.該課程是斯坦福大學(xué)電子工程系(Department of Electrical Engineering)面向研究生開(kāi)設(shè)的課程,教學(xué)目標(biāo)是使學(xué)生掌握芯片流片前的完整設(shè)計(jì)流程,要求學(xué)生使用現(xiàn)代VLSI設(shè)計(jì)方法和EDA工具完成芯片從RTL設(shè)計(jì)到布局布線的完整流程,實(shí)驗(yàn)基于90nm工藝展開(kāi)。教學(xué)內(nèi)容包括:使用Verilog HDL語(yǔ)言對(duì)芯片進(jìn)行RTL級(jí)描述,對(duì)設(shè)計(jì)進(jìn)行測(cè)試驗(yàn)證,基于標(biāo)準(zhǔn)單元庫(kù)對(duì)設(shè)計(jì)進(jìn)行綜合,對(duì)設(shè)計(jì)進(jìn)行布局布線。課程鼓勵(lì)學(xué)生設(shè)計(jì)模擬信號(hào)與數(shù)字信號(hào)混合芯片。
2.美國(guó)加州伯克利大學(xué)的《VLSI Systems Design》課程。該課程是加州伯克利大學(xué)計(jì)算機(jī)科技系(Department of Computer Science)面向本科生和研究生開(kāi)設(shè)的課程。教學(xué)目標(biāo)是使學(xué)生熟悉VLSI設(shè)計(jì)的標(biāo)準(zhǔn)流程,同時(shí)能對(duì)設(shè)計(jì)的面積/性能/能耗等方面進(jìn)行權(quán)衡,并對(duì)設(shè)計(jì)的微體系結(jié)構(gòu)進(jìn)行探索。與其他大學(xué)使用Verilog HDL對(duì)硬件結(jié)構(gòu)進(jìn)行描述不同,課程使用伯克利大學(xué)自己開(kāi)發(fā)的開(kāi)源硬件構(gòu)建語(yǔ)言ChiSel對(duì)設(shè)計(jì)進(jìn)行描述。課程講授內(nèi)容包括CAD工具簡(jiǎn)介、ChiSel語(yǔ)言簡(jiǎn)介、ASIC設(shè)計(jì)流程、電路和系統(tǒng)時(shí)序、功耗和面積分析、存儲(chǔ)單元設(shè)計(jì)。每名學(xué)生需單獨(dú)完成4次實(shí)驗(yàn),依次是:ChiSel語(yǔ)言的入門(mén)、面向SHA3加密算法的加速器實(shí)現(xiàn)及基于VCS軟件的功能驗(yàn)證、SHA3加速器的流水化及基于Design Compiler的綜合、SHA3加速器存儲(chǔ)單元的設(shè)計(jì)權(quán)衡及基于ICC的布局布線。最后,課程要求學(xué)生以2人為一組,完成一個(gè)大作業(yè),內(nèi)容可以是實(shí)現(xiàn)專用加速器或?qū)ISC-V處理器的微體系結(jié)構(gòu)進(jìn)行探索。
3.加拿大多倫多大學(xué)的《VLSI Systems and Design》課程。該課程是多倫多大學(xué)電子與計(jì)算機(jī)工程系(Department of Electrical and Computer Engineering)面向研究生開(kāi)設(shè)的課程。教學(xué)目標(biāo)是使學(xué)生掌握VLSI設(shè)計(jì)的原理和實(shí)現(xiàn)流程。授課內(nèi)容涵蓋深納微米工藝下的設(shè)計(jì)、時(shí)鐘和功耗控制、CAD工具和算法、集成電路的模擬、驗(yàn)證、測(cè)試和設(shè)計(jì)方法學(xué)。課程包含6個(gè)實(shí)驗(yàn),兩名學(xué)生一組完成實(shí)驗(yàn),實(shí)驗(yàn)1是一個(gè)加法器的設(shè)計(jì)和布局布線,實(shí)驗(yàn)2-5完成一個(gè)四位微處理器的設(shè)計(jì)和布局布線,其中實(shí)驗(yàn)2和實(shí)驗(yàn)3使用定制設(shè)計(jì)方式完成處理器數(shù)據(jù)通路的設(shè)計(jì),實(shí)驗(yàn)4使用標(biāo)準(zhǔn)單元庫(kù)完成處理器控制通路的設(shè)計(jì),并使用Synopsys Design Analyzer對(duì)設(shè)計(jì)進(jìn)行邏輯綜合,實(shí)驗(yàn)5將數(shù)據(jù)通路和控制通路整合在一起,并使用Cadence First Encounter對(duì)整體設(shè)計(jì)進(jìn)行布局布線。實(shí)驗(yàn)6對(duì)設(shè)計(jì)進(jìn)行靜態(tài)時(shí)序分析。
4.英國(guó)南安普頓大學(xué)的《VLSI Design Project》課程。該課程是南安普頓大學(xué)電子與計(jì)算機(jī)科技系(Department of Electronics and Computer Science)面向研究生開(kāi)設(shè)的課程。教學(xué)目標(biāo)是使學(xué)生熟悉基于標(biāo)準(zhǔn)單元庫(kù)的VLSI設(shè)計(jì)的完整流程。課程包括4次授課和10次實(shí)驗(yàn),授課內(nèi)容分別是邏輯綜合、布局布線、布局布線后仿真和片上系統(tǒng)設(shè)計(jì)。實(shí)驗(yàn)以3—4名學(xué)生為一組,基于0.35 um工藝完成一個(gè)簡(jiǎn)單計(jì)算器芯片的設(shè)計(jì)。所實(shí)現(xiàn)的計(jì)算器要能支持加減乘除四則運(yùn)算,支持16位、24位和32位數(shù)據(jù)精度。實(shí)驗(yàn)內(nèi)容涵蓋概要設(shè)計(jì)規(guī)劃、行為級(jí)描述、邏輯綜合、布局布線、布局布線后仿真。課程將選擇部分最好的設(shè)計(jì)進(jìn)行流片驗(yàn)證。
5.復(fù)旦大學(xué)的《專用集成電路設(shè)計(jì)方法實(shí)驗(yàn)》課程。該課程是復(fù)旦大學(xué)的《專用集成電路設(shè)計(jì)方法》課程的配套實(shí)驗(yàn)課程,是向集成電路設(shè)計(jì)方向的本科生重點(diǎn)推薦的一門(mén)課程。課程教學(xué)內(nèi)容主要包括ASIC設(shè)計(jì)流程的描述、綜合、深壓微米設(shè)計(jì)方法、布局布線、可測(cè)性設(shè)計(jì)等。教學(xué)過(guò)程中學(xué)生需要完成的實(shí)驗(yàn)包括利用EDA工具對(duì)CMOS反相器進(jìn)行電路設(shè)計(jì)和仿真,并對(duì)反相器進(jìn)行版圖設(shè)計(jì)和版圖驗(yàn)證。從上述分析可以看出,國(guó)內(nèi)外高校在開(kāi)設(shè)VLSI設(shè)計(jì)實(shí)踐類課程時(shí)都強(qiáng)調(diào)對(duì)VLSI設(shè)計(jì)完整流程的熟悉和掌握,實(shí)驗(yàn)內(nèi)容涵蓋從前端概要設(shè)計(jì)到后端布局布線的過(guò)程。但各所高校也結(jié)合自己的專業(yè)特色設(shè)計(jì)教學(xué)和實(shí)驗(yàn)內(nèi)容。比如,伯克利大學(xué)有悠久的計(jì)算機(jī)體系結(jié)構(gòu)研究傳統(tǒng),更重視微體系結(jié)構(gòu)的探索,同時(shí)他們也要求學(xué)生使用該大學(xué)自己開(kāi)發(fā)的開(kāi)源硬件構(gòu)建語(yǔ)言ChiSel,也希望學(xué)生在完成大作業(yè)時(shí)能著眼于優(yōu)化該大學(xué)自己推出的開(kāi)源RISC-V處理器。又如,各所高校的實(shí)驗(yàn)案例各有不同,多倫多大學(xué)要求學(xué)生實(shí)現(xiàn)一個(gè)完整的4位微處理器,南安普頓大學(xué)要求學(xué)生實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器,斯坦福大學(xué)鼓勵(lì)學(xué)生設(shè)計(jì)模擬和數(shù)字信號(hào)混合的芯片,復(fù)旦大學(xué)通過(guò)對(duì)CMOS反相器的設(shè)計(jì)和仿真加深學(xué)生對(duì)專用集成電路設(shè)計(jì)方法的理解和掌握。國(guó)防科技大學(xué)的《VLSI設(shè)計(jì)綜合實(shí)踐》課程的設(shè)計(jì)充分借鑒吸收了上述多所大學(xué)相關(guān)課程的設(shè)置,并進(jìn)行了符合自己特色的創(chuàng)新。
三、課程內(nèi)容
(一) 教學(xué)目標(biāo)
國(guó)防科技大學(xué)《VLSI設(shè)計(jì)綜合實(shí)踐》課程是該校計(jì)算機(jī)學(xué)院微電子與微處理器研究所面向微處理器設(shè)計(jì)專業(yè)和計(jì)算機(jī)體系結(jié)構(gòu)專業(yè)的研究生開(kāi)設(shè)的實(shí)踐課程。課程教學(xué)目標(biāo)是通過(guò)對(duì)VLSI設(shè)計(jì)流程從前端RTL設(shè)計(jì)到后端布局布線的學(xué)習(xí)和實(shí)踐,使學(xué)生理解VLSI設(shè)計(jì)流程中的各個(gè)環(huán)節(jié)的基本原理,熟悉和和掌握VLSI設(shè)計(jì)流程中多種EDA工具的使用,一方面為從事科學(xué)研究的學(xué)生進(jìn)一步在微處理器設(shè)計(jì)和計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域展開(kāi)科學(xué)研究提供VLSI設(shè)計(jì)方面的理論和實(shí)踐指導(dǎo),另一方面為從事工程實(shí)踐的學(xué)生下一步在VLSI設(shè)計(jì)領(lǐng)域就業(yè)奠定一定的工程基礎(chǔ)。
(二)教學(xué)體系
圖1描述了《VLSI設(shè)計(jì)綜合實(shí)踐》課程的教學(xué)體系,課程包括36個(gè)學(xué)時(shí),分為四講內(nèi)容,分別是RTL設(shè)計(jì)與驗(yàn)證、邏輯綜合與靜態(tài)時(shí)序分析、全定制和半定制結(jié)合設(shè)計(jì)、布局布線和物理驗(yàn)證。課程總體將理論講授與實(shí)驗(yàn)環(huán)節(jié)交叉設(shè)置,每一講都是先進(jìn)行理論知識(shí)講授,之后進(jìn)行相應(yīng)的實(shí)驗(yàn)加深對(duì)理論知識(shí)的理解,課程以一個(gè)加法器陣列的設(shè)計(jì)貫穿所有四次實(shí)驗(yàn)環(huán)節(jié)。四講的具體內(nèi)容如下。
1.RTL設(shè)計(jì)與驗(yàn)證。主要講授基于Verilog HDL語(yǔ)言的RTL設(shè)計(jì)方法學(xué)和覆蓋率驅(qū)動(dòng)的驗(yàn)證策略。由于選修本課程的學(xué)生已普遍具備一定的Verilog HDL語(yǔ)言的知識(shí),因此課程不講授Verilog HDL語(yǔ)言的基礎(chǔ)知識(shí),而是直接面向工程實(shí)踐需求,集中講授層次化設(shè)計(jì)方法,強(qiáng)調(diào)可綜合的代碼編寫(xiě)風(fēng)格,指出代碼編寫(xiě)中易犯的錯(cuò)誤,如生成不必要的latch等。覆蓋率驅(qū)動(dòng)的驗(yàn)證主要講授基于覆蓋率的驗(yàn)證方法學(xué)。本講配套實(shí)驗(yàn)是使用Verilog HDL語(yǔ)言編寫(xiě)一個(gè)具備特定功能的加法器陣列,要求采用流水線方式盡量降低加法器數(shù)量,實(shí)驗(yàn)使用Cadence公司的NC-Verilog模擬器對(duì)加法器陣列進(jìn)行模擬驗(yàn)證,覆蓋率驅(qū)動(dòng)基于NC-Verilog自帶的Incisive Comprehensive Coverage (ICC)工具進(jìn)行。
2.邏輯綜合與靜態(tài)時(shí)序分析。首先講授邏輯綜合的原理,著重強(qiáng)調(diào)各種綜合約束條件和環(huán)境變量的設(shè)置,其次講授靜態(tài)時(shí)序分析原理,著重強(qiáng)調(diào)基于路徑的靜態(tài)時(shí)序分析方法以及單元延遲模型和線延遲模型。本講配套實(shí)驗(yàn)是使用Synopsys公司的Design Compiler工具對(duì)第一次實(shí)驗(yàn)實(shí)現(xiàn)的加法器陣列進(jìn)行綜合優(yōu)化,之后使用Synopsy公司的PrimeTime工具對(duì)綜合后網(wǎng)表進(jìn)行靜態(tài)時(shí)序分析。綜合是基于一款商用0.13 um工藝庫(kù)進(jìn)行的。
3.全定制和半定制結(jié)合設(shè)計(jì)。講授內(nèi)容包括寄生參數(shù)提取、功能驗(yàn)證、幾何視圖LEF文件提取、時(shí)序視圖LIB文件提取。本講配套實(shí)驗(yàn)是設(shè)計(jì)一個(gè)全定制加法器,并將其應(yīng)用到加法器陣列中。實(shí)驗(yàn)過(guò)程使用Synopsys公司的StarRC和NanoSim對(duì)全定制加法器進(jìn)行LIB提取,使用Cadence公司的Abstract對(duì)全定制加法器進(jìn)行LEF提取,采用全定制和半定制相結(jié)合的方式對(duì)加法器陣列重新進(jìn)行邏輯綜合。
4.布局布線與物理驗(yàn)證。講授內(nèi)容包括布局布線流程介紹、初始化布局、IO布局、宏單元布局、電源規(guī)劃、標(biāo)準(zhǔn)單元布局、全局布線、布線后優(yōu)化、物理驗(yàn)證等。本講配套實(shí)驗(yàn)是使用Cadence公司的SoC-Encounter工具對(duì)前面得到的加法器陣列的邏輯綜合網(wǎng)表進(jìn)行布局布線,使用Mentor公司的Calibra工具對(duì)物理設(shè)計(jì)進(jìn)行驗(yàn)證。
(三)教學(xué)團(tuán)隊(duì)和實(shí)驗(yàn)環(huán)境
本課程教學(xué)內(nèi)容涵蓋了從前端邏輯設(shè)計(jì)到后端布局布線的VLSI設(shè)計(jì)完整流程,涉及知識(shí)面廣泛,使用的EDA工具較多,因此對(duì)本課程教學(xué)團(tuán)隊(duì)的水平和能力提出了較高要求。本課程教學(xué)團(tuán)隊(duì)由三名教師組成,其中一名教師負(fù)責(zé)第一講和第二講的內(nèi)容,另外兩名教師分別負(fù)責(zé)第三講和第四講的內(nèi)容。教師都來(lái)自于學(xué)校微電子與微電子研究所的工程實(shí)踐團(tuán)隊(duì),均具有博士學(xué)歷和豐富VLSI設(shè)計(jì)理論知識(shí),同時(shí)長(zhǎng)期從事軍用DSP和CPU芯片的設(shè)計(jì),具備豐富的VLSI設(shè)計(jì)實(shí)踐經(jīng)驗(yàn),對(duì)設(shè)計(jì)流程和各類EDA軟件非常熟悉。課程在課內(nèi)安排了實(shí)驗(yàn)時(shí)間,但考慮到實(shí)驗(yàn)需使用的EDA軟件種類眾多,功能較復(fù)雜,課內(nèi)實(shí)驗(yàn)時(shí)間遠(yuǎn)遠(yuǎn)不夠。為方便學(xué)生課外實(shí)驗(yàn),教學(xué)團(tuán)隊(duì)設(shè)計(jì)了基于VMware Workstation的虛擬機(jī)平臺(tái),在虛擬機(jī)內(nèi)部安裝了RedHat Linux操作系統(tǒng),在該操作系統(tǒng)上安裝了課程所需的多種EDA軟件,包括NC-Verilog、Design Compiler、StarRC、NanoSim、Abstract、SoC-Encounter和Calibra等。同時(shí)將綜合所使用的0.13 um工藝庫(kù)拷貝到虛擬機(jī)系統(tǒng)中。通過(guò)這種方式,學(xué)生只需將虛擬機(jī)鏡像文件拷貝到自己的PC機(jī)上就可以使用,避免了安裝各種EDA軟件的復(fù)雜過(guò)程,有利于學(xué)生將精力集中在課程實(shí)驗(yàn)上。
四、教學(xué)改革情況
自課程開(kāi)設(shè)以來(lái),為提升教學(xué)效果,教學(xué)團(tuán)隊(duì)不斷借鑒吸收先進(jìn)教學(xué)方法,緊跟VLSI設(shè)計(jì)的最新發(fā)展趨勢(shì),在教學(xué)方法、教學(xué)內(nèi)容、實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)環(huán)境等方面進(jìn)行了大量改革,本節(jié)對(duì)這些改革的具體情況進(jìn)行描述。
(一)教學(xué)方法改革
長(zhǎng)期以來(lái),傳統(tǒng)教學(xué)方法采用“以教師為中心”的教學(xué)模式,一味強(qiáng)調(diào)教師如何有效地傳授知識(shí),而忽略了學(xué)生的認(rèn)知過(guò)程,導(dǎo)致教學(xué)過(guò)程中存在諸如教學(xué)目標(biāo)不明確、學(xué)生參與度不夠、對(duì)知識(shí)理解困難等問(wèn)題。為此,本課程教學(xué)團(tuán)隊(duì)將國(guó)際上先進(jìn)的BOPPPS教學(xué)模式引入到教學(xué)中。根據(jù)學(xué)生注意力只能持續(xù)集中約15分鐘的自然規(guī)律,BOPPPS模式將課堂教學(xué)切割為15分鐘左右的多個(gè)教學(xué)小單元,規(guī)劃為六個(gè)階段,如表1所示。
教學(xué)團(tuán)隊(duì)在開(kāi)展理論授課時(shí)按照BOPPPS模式實(shí)施。每次授課前,教學(xué)團(tuán)隊(duì)都增加了導(dǎo)入環(huán)節(jié)。比如,課程第一次課的時(shí)候給學(xué)生講授了從沙子變成芯片的過(guò)程,激發(fā)了學(xué)生的好奇心,調(diào)動(dòng)了學(xué)生學(xué)習(xí)這門(mén)課程的積極性。又如,在講授邏輯綜合這一講內(nèi)容時(shí),通過(guò)“抖包袱”的方式開(kāi)始課堂的內(nèi)容,先給出一段Verilog HDL語(yǔ)言的代碼,提問(wèn)這段代碼是怎么變成實(shí)實(shí)在在可見(jiàn)的芯片的,讓學(xué)生帶著問(wèn)題學(xué)習(xí)。通過(guò)在每次理論授課時(shí)增加導(dǎo)入環(huán)節(jié),抓住了學(xué)生的注意力,提高了學(xué)生學(xué)習(xí)的主觀能動(dòng)性,課堂教學(xué)效果得到顯著提升?;趨⑴c式學(xué)習(xí)模式,教師在課堂教學(xué)過(guò)程中引入了研討環(huán)節(jié),具體分為兩類,一是隨機(jī)研討,即在授課過(guò)程中教師隨機(jī)拋出一個(gè)問(wèn)題,組織學(xué)生現(xiàn)場(chǎng)進(jìn)行研討,之后進(jìn)行講評(píng)和總結(jié)。比如,在教授RTL設(shè)計(jì)這一講時(shí),教師隨機(jī)拋出如何設(shè)計(jì)異步對(duì)接FIFO這個(gè)問(wèn)題。隨機(jī)研討能很好地改善教學(xué)過(guò)程中教師與學(xué)生的互動(dòng),增強(qiáng)學(xué)生學(xué)習(xí)的積極性。第二類研討是專題研討,由于國(guó)防科技大學(xué)的研究生授課采用三學(xué)時(shí)制,在連續(xù)進(jìn)行兩學(xué)時(shí)的聽(tīng)課之后,學(xué)生已有所疲勞,注意力也難以集中,因此教學(xué)團(tuán)隊(duì)一般將第三個(gè)學(xué)時(shí)安排為專題研討課,研討內(nèi)容在上次課時(shí)布置好,研討題目包括:CRC校驗(yàn)碼產(chǎn)生器的設(shè)計(jì)與實(shí)現(xiàn)、隨機(jī)數(shù)產(chǎn)生電路的設(shè)計(jì)、Power-gating電路的設(shè)計(jì)等。教師鼓勵(lì)所有學(xué)生參與研討,允許聽(tīng)報(bào)告的學(xué)生隨時(shí)打斷正在報(bào)告的學(xué)生參與研討,提高所有學(xué)生的參與度。由于本課程是一門(mén)實(shí)踐類課程,在之前的教學(xué)模式中,基本沒(méi)有布置課后作業(yè)。但是BOPPPS教學(xué)模式強(qiáng)調(diào)對(duì)學(xué)習(xí)內(nèi)容進(jìn)行后測(cè)試,檢驗(yàn)教學(xué)成果,因此教學(xué)團(tuán)隊(duì)特意在每次理論授課環(huán)節(jié)設(shè)計(jì)了一些課后習(xí)題,考查學(xué)生對(duì)理論授課的掌握水平。這些習(xí)題包括Verilog HDL語(yǔ)言的常見(jiàn)錯(cuò)誤的糾錯(cuò)、綜合約束條件的設(shè)置、布局布線的端口擺放規(guī)則等。通過(guò)對(duì)學(xué)生答題情況進(jìn)行評(píng)閱,教師能準(zhǔn)確掌握學(xué)生對(duì)知識(shí)的接受水平和學(xué)習(xí)進(jìn)度,并及時(shí)對(duì)后續(xù)教學(xué)內(nèi)容進(jìn)行調(diào)整。
(二)教學(xué)內(nèi)容改革
VLSI設(shè)計(jì)是一個(gè)發(fā)展非常迅速的行業(yè),新的設(shè)計(jì)方法和驗(yàn)證技術(shù)不斷出現(xiàn),同時(shí)設(shè)計(jì)也面臨著各種新的挑戰(zhàn),教學(xué)團(tuán)隊(duì)緊跟業(yè)界最新發(fā)展趨勢(shì),對(duì)教學(xué)內(nèi)容進(jìn)行改革,具體如下。
首先,以UVM驗(yàn)證方法學(xué)為代表新型驗(yàn)證技術(shù)已成為業(yè)界事實(shí)上的驗(yàn)證標(biāo)準(zhǔn)[5],相比于傳統(tǒng)激勵(lì)測(cè)試反饋的驗(yàn)證模式,UVM驗(yàn)證方法學(xué)的效率更高,對(duì)代碼的覆蓋更為全面。因此課程教學(xué)引入了UVM驗(yàn)證方法學(xué)的內(nèi)容,以工程實(shí)踐中某軍用DSP中DMA部件的UVM驗(yàn)證平臺(tái)為案例向?qū)W生詳細(xì)講解了UVM驗(yàn)證的過(guò)程,并要求學(xué)生在實(shí)驗(yàn)環(huán)節(jié)增加UVM驗(yàn)證平臺(tái)的實(shí)現(xiàn)。其次,隨著VLSI集成度的提升,功耗已成為限制芯片規(guī)模的最重要因素,低功耗設(shè)計(jì)越來(lái)越受到業(yè)界的重視[6]。課程教學(xué)中增加了低功耗設(shè)計(jì)的內(nèi)容,包括體系結(jié)構(gòu)級(jí)的低功耗設(shè)計(jì)技術(shù)、RTL編碼級(jí)的低功耗設(shè)計(jì)和邏輯綜合中的低功耗設(shè)計(jì)。通過(guò)這些內(nèi)容的學(xué)習(xí),初步培養(yǎng)了學(xué)生進(jìn)行低功耗設(shè)計(jì)的相關(guān)能力。最后,在課程早期教學(xué)中,比較重視對(duì)學(xué)生掌握EDA工具能力的培養(yǎng),忽視了對(duì)設(shè)計(jì)的微結(jié)構(gòu)進(jìn)行探索的能力,為此,教學(xué)團(tuán)隊(duì)在課程教學(xué)和實(shí)驗(yàn)環(huán)節(jié)增加了對(duì)微結(jié)構(gòu)進(jìn)行探索的內(nèi)容。比如,要求學(xué)生比較采用寄存器文件和Memory Compiler生成的存儲(chǔ)單元實(shí)現(xiàn)不同規(guī)模FIFO的面積、功耗和延遲開(kāi)銷。又如,要求學(xué)生實(shí)現(xiàn)不同的加法器算法,并比較它們?cè)诟鞣N不同綜合約束條件下面積、功耗和時(shí)序的關(guān)系。
(三)實(shí)驗(yàn)設(shè)置改革
課程早期教學(xué)將課程分成四講,每講設(shè)計(jì)單獨(dú)的實(shí)驗(yàn)環(huán)節(jié),學(xué)生在做完每一講的實(shí)驗(yàn)后,較難將其與以前的實(shí)驗(yàn)串聯(lián)起來(lái),導(dǎo)致知識(shí)視野缺乏全局觀,理解掌握不牢固。為此教學(xué)團(tuán)隊(duì)在課程中引入了大作業(yè)環(huán)節(jié)。大作業(yè)內(nèi)容的選取緊跟業(yè)界發(fā)展趨勢(shì),針對(duì)神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)已成為業(yè)界熱點(diǎn)[7],教學(xué)團(tuán)隊(duì)2017年設(shè)計(jì)的大作業(yè)是要求學(xué)生實(shí)現(xiàn)一個(gè)卷積運(yùn)算加速器,包括RTL設(shè)計(jì)驗(yàn)證、邏輯綜合、布局布線和物理驗(yàn)證。在深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中,卷積運(yùn)算占所有操作的絕大部分。比如,在圖2給出的典型LeNet-5神經(jīng)網(wǎng)絡(luò)中,兩個(gè)卷積層的運(yùn)算占所有運(yùn)算的85%[8]。卷積運(yùn)算涉及到對(duì)大量數(shù)據(jù)的操作,如在圖2的LeNet-5神經(jīng)網(wǎng)絡(luò)中包含大量的輸入特征圖、輸出特征圖和卷積核。因此,卷積運(yùn)算加法器設(shè)計(jì)面臨的主要挑戰(zhàn)是存儲(chǔ)體系和數(shù)據(jù)搬移機(jī)制的設(shè)計(jì),通過(guò)完成這個(gè)大作業(yè)也提升了學(xué)生進(jìn)行芯片體系結(jié)構(gòu)設(shè)計(jì)的能力。
大作業(yè)以2人一組的方式進(jìn)行,其中一人負(fù)責(zé)前端RTL設(shè)計(jì)驗(yàn)證以及邏輯綜合工作,一人負(fù)責(zé)后端布局布線和物理驗(yàn)證。在第一次課的時(shí)候教師就將大作業(yè)題目布置給所有學(xué)生,學(xué)生按照自愿原則分組,在最后一次課之前每個(gè)組提交一份大作業(yè)報(bào)告,并在最后一次課的時(shí)候進(jìn)行匯報(bào)和演示,教師和其他學(xué)生進(jìn)行點(diǎn)評(píng)。從現(xiàn)場(chǎng)情況看,由于所選取的大作業(yè)是業(yè)界熱點(diǎn),學(xué)生參與積極性很高,討論氣氛熱烈,參與報(bào)告的同學(xué)獲得了一次在教師和同學(xué)面前展示自己學(xué)習(xí)成果的鍛煉機(jī)會(huì),其他同學(xué)也從中學(xué)習(xí)了更好的思路和方法,達(dá)到了以作業(yè)促學(xué)習(xí)的目的。對(duì)于做得比較好的小組,在課程結(jié)束后教師鼓勵(lì)他們繼續(xù)將工作完善,力爭(zhēng)發(fā)表一篇學(xué)術(shù)論文或申請(qǐng)一篇國(guó)家發(fā)明專利。由于所選取的大作業(yè)題目是一個(gè)研究熱點(diǎn),與很多學(xué)生的研究課題有一定的吻合,因此大部分同學(xué)都完成得較好,其中有兩個(gè)小組以大作業(yè)設(shè)計(jì)為基礎(chǔ)發(fā)表了學(xué)術(shù)論文,有一個(gè)小組的同學(xué)將自己的設(shè)計(jì)申請(qǐng)了國(guó)家發(fā)明專利,較好地達(dá)到了教學(xué)目標(biāo)。
(四)實(shí)驗(yàn)環(huán)境的改革
課程早期教學(xué)中使用基于VMware Workstations虛擬機(jī)的實(shí)驗(yàn)環(huán)境,雖然方便學(xué)生課外進(jìn)行實(shí)驗(yàn),但是安裝的EDA軟件版本普遍偏舊,同時(shí)受限于學(xué)生個(gè)人PC的性能,不能展開(kāi)較大規(guī)模的設(shè)計(jì)。此外,虛擬機(jī)中包含的是0.13 um的工藝庫(kù),雖然足以用于課堂實(shí)驗(yàn),但是用于大規(guī)模VLSI設(shè)計(jì)相對(duì)比較落伍,尤其是學(xué)生需要以大作業(yè)為基礎(chǔ)發(fā)表學(xué)術(shù)論文時(shí),工藝庫(kù)的落伍會(huì)在一定程度阻止論文被接收。為了方便學(xué)生開(kāi)展大作業(yè)實(shí)驗(yàn),教學(xué)團(tuán)隊(duì)申請(qǐng)微電子與微處理器研究所開(kāi)放了部分高性能EDA服務(wù)器的賬號(hào)供學(xué)生使用,這些高性能服務(wù)器上安裝了更為先進(jìn)的EDA軟件和更為先進(jìn)的工藝庫(kù),足以滿足學(xué)生完成大作業(yè),甚至發(fā)表學(xué)術(shù)論文的需求,學(xué)生可以通過(guò)校園內(nèi)部網(wǎng)連接到這些服務(wù)器上。
五、教學(xué)效果
課程通過(guò)將理論講授與實(shí)驗(yàn)環(huán)節(jié)交叉設(shè)置的方式,既提升了學(xué)生從事VLSI設(shè)計(jì)的理論水平,又提高他們的實(shí)踐能力。課程自開(kāi)設(shè)以來(lái)受到越來(lái)越多學(xué)生的歡迎,選修該課程的學(xué)生數(shù)量也從最初2012年的30人左右增加到2017年的70人左右。選修該課程的學(xué)生類型從2012年最初開(kāi)設(shè)時(shí)所面向的非軍人工程碩士研究生擴(kuò)展到軍人和非軍人工學(xué)碩士研究生,甚至部分低年級(jí)軍人博士研究生也選修了這門(mén)課程。選修課程的學(xué)生專業(yè)類型也從微電子專業(yè)擴(kuò)展到計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),甚至學(xué)院一些從事計(jì)算機(jī)體系結(jié)構(gòu)研究的導(dǎo)師要求自己的研究生必須選修本課程。學(xué)生通過(guò)學(xué)習(xí)本課程收獲了VLSI設(shè)計(jì)實(shí)踐的第一手經(jīng)驗(yàn),也熟悉了大量EDA軟件的使用方法,對(duì)于后續(xù)的工程實(shí)踐和科學(xué)研究都有較大的幫助。比如,對(duì)于工程碩士而言,本課程的學(xué)習(xí)相當(dāng)于進(jìn)行了一個(gè)崗前培訓(xùn)。又如,對(duì)于從事計(jì)算機(jī)體系結(jié)構(gòu)研究的學(xué)生而言,本課程使用的Design Compiler等工具是其從事研究時(shí)必須掌握的工具,通過(guò)學(xué)習(xí)本課程,提前熟悉了該工具的原理和使用方法,對(duì)于其后續(xù)科研工作很有幫助。教學(xué)團(tuán)隊(duì)持續(xù)對(duì)課程授課方式、授課內(nèi)容等進(jìn)行改革,課程教學(xué)團(tuán)隊(duì)每年都對(duì)選修本課程的學(xué)生進(jìn)行調(diào)查,絕大部分學(xué)生都對(duì)課程的教學(xué)方式和教學(xué)內(nèi)容表示出認(rèn)同,也表示自己通過(guò)選修本課程學(xué)習(xí)到很多對(duì)自己今后學(xué)習(xí)工作有用的知識(shí)。
六、結(jié)語(yǔ)
本文對(duì)國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院開(kāi)設(shè)的《VLSI設(shè)計(jì)綜合實(shí)踐》課程的教學(xué)實(shí)踐與改革情況進(jìn)行了描述。該課程著眼于提升學(xué)生的VLSI設(shè)計(jì)工程實(shí)踐能力,課程內(nèi)容涵蓋自前端RTL設(shè)計(jì)與驗(yàn)證到后端布局布線的VLSI設(shè)計(jì)的完整流程,課程教學(xué)采用理論講授與實(shí)驗(yàn)實(shí)踐交叉設(shè)置的方式加深學(xué)生對(duì)理論知識(shí)的理解和運(yùn)用。在5年的教學(xué)實(shí)踐中,課程教學(xué)團(tuán)隊(duì)緊跟業(yè)界最新發(fā)展趨勢(shì),對(duì)課程教學(xué)方法、教學(xué)內(nèi)容、實(shí)驗(yàn)設(shè)置和實(shí)驗(yàn)環(huán)境等多方面進(jìn)行了改革,取得了良好的教學(xué)效果。
參考文獻(xiàn):
[1]袁宇丹.集成電路設(shè)計(jì)人才培養(yǎng)之實(shí)踐教學(xué)探索[J].常州工學(xué)院學(xué)報(bào),2014,(4):87-89.
[2]Pat Pattison,Russell Day.Instruction Skills Workshop(ISW) Handbook for Participants[M].Vancouver.The Instruction Skills Workshop International Advisory Committee,2006.
[3]譚春嬌,周海芳,劉越,等.結(jié)合加拿大模式開(kāi)展我國(guó)教師教學(xué)技能培訓(xùn)[J].計(jì)算機(jī)教育,2014,(4):47-50.
[4]羅宇,付紹靜,李暾.從BOPPPS教學(xué)模型看課堂教學(xué)改革[J].計(jì)算機(jī)教育,2015,(6):16-18.
[5]張強(qiáng).UVM實(shí)戰(zhàn)(卷1)[M].北京:機(jī)械工業(yè)出版社,2014:1-48.
[6]Nell H.Weste,David M.Harris. CMOS VLSI Design:A Circuits and Systems Perspective[M].Boston:Addison-Wesley,2011:181-210.
[7]杜子?xùn)|.神經(jīng)網(wǎng)絡(luò)加速器研究[D].北京:中國(guó)科學(xué)院計(jì)算技術(shù)研究所,2016:1-140.
[8]Y.LeCun,L.Bottou,Y.Bengio,P.Haner.Gradient-Based Learning Applied to Document Recognition[J].Proceedings of the IEEE,1998,(86):2278–2324.