張惠國,潘啟勇,華 強(qiáng),顧 涵
(常熟理工學(xué)院 物理與電子工程學(xué)院,江蘇 常熟 215500)
半導(dǎo)體技術(shù)、集成技術(shù)以及計算機(jī)技術(shù)的發(fā)展引發(fā)了電子系統(tǒng)設(shè)計手段與方法的革新,EDA(Electronic Design Automation,)設(shè)計技術(shù)已滲透到電子系統(tǒng)設(shè)計的各個領(lǐng)域,其核心是利用計算機(jī)完成電路設(shè)計的全程自動化,特征是采用高級語言描述,具有系統(tǒng)級仿真和綜合能力。EDA技術(shù)作為專業(yè)課已經(jīng)在高校電子類本科專業(yè)中普遍開設(shè),本文就課程內(nèi)容的安排和教學(xué)實(shí)施進(jìn)行了一些探索。
EDA課程包含了PCB設(shè)計、可編程芯片設(shè)計、大規(guī)模集成電路設(shè)計等方面。而根據(jù)不同的專業(yè)方向,課程內(nèi)容有不同的側(cè)重。EDA是一門具有連續(xù)性、不斷深入的課程,一般在本科階段開設(shè)相應(yīng)的EDA技術(shù)基礎(chǔ)課程,在碩士和博士階段則開設(shè)比較精專的課題,如專用集成電路的設(shè)計等[1-3]。
對于電子類本科專業(yè),EDA技術(shù)課程范圍限于現(xiàn)場可編程門陣列(FPGA)的設(shè)計[4,5]。這是由于FPGA器件應(yīng)用廣泛,實(shí)驗(yàn)開設(shè)成本相對較低以及其設(shè)計方法在EDA設(shè)計中具有典型性和通用性。本科的EDA技術(shù)基礎(chǔ)課程范圍可界定為:以硬件描述語言為設(shè)計語言,以可編程器件為載體,以ASIC/SOC芯片為目標(biāo)器件進(jìn)行必要的元件建模和仿真的電子產(chǎn)品自動化過程。教學(xué)過程中,主要講授基于FPGA平臺的設(shè)計開發(fā)。
隨著技術(shù)的進(jìn)步,電子系統(tǒng)的復(fù)雜度迅速提高,其設(shè)計方法也由傳統(tǒng)的基于PCB的設(shè)計方法向基于芯片的微電子電路設(shè)計方法演變。體現(xiàn)在以前利用分立元件搭建電路,其工作重點(diǎn)在各個分立元器件的匹配調(diào)試上。而基于芯片的設(shè)計方法,則是將一個系統(tǒng)(或核心部分)用一塊芯片來實(shí)現(xiàn),工作的關(guān)鍵在于充分利用現(xiàn)有的EDA軟件功能,完成實(shí)際電路的建模仿真并實(shí)現(xiàn)。
EDA課程作為一門專業(yè)課,具有本科、碩士、博士階段的連續(xù)性,本科階段的教學(xué)內(nèi)容要注意課程體系的銜接,強(qiáng)調(diào)設(shè)計流程。實(shí)際教學(xué)中,我們側(cè)重于基于FPGA的設(shè)計,強(qiáng)調(diào)學(xué)會使用“一類器件、一種語言、一種軟件、一個實(shí)驗(yàn)系統(tǒng)”,其中器件指主流的FPGA器件,語言指一種硬件描述語言(VHDL或Verilog),軟件是相應(yīng)的集成開發(fā)環(huán)境,實(shí)驗(yàn)系統(tǒng)是相應(yīng)的硬件平臺。課程內(nèi)容的設(shè)計是一個分級加深的過程,我們專門開設(shè)了兩類課程,一是EDA技術(shù)基礎(chǔ)課程;二是基于FPGA嵌入式系統(tǒng)設(shè)計?;A(chǔ)課程注重于基本理論和基本系統(tǒng)的講解,而嵌入式系統(tǒng)設(shè)計偏重于嵌入式內(nèi)核的移植以及實(shí)際項(xiàng)目的講解分析。
講課的過程是一個逐層深入的過程,先從集成環(huán)境中基于原理圖的設(shè)計演示開始,然后過渡到簡單的硬件描述語言,進(jìn)而講整個軟件環(huán)境的構(gòu)成原理,至此學(xué)生應(yīng)該具備了進(jìn)行復(fù)雜設(shè)計的基礎(chǔ)必備知識。之后,進(jìn)一步深入講一些硬件描述語言中的高級語法,以及復(fù)雜系統(tǒng)的設(shè)計和相應(yīng)的應(yīng)用實(shí)例講習(xí)。講完這部分之后,EDA的主體已經(jīng)介紹完畢。根據(jù)以往的教學(xué),此時學(xué)生已基本掌握了FPGA的設(shè)計方法。但要達(dá)到學(xué)以致用,還需要器件原理以及FPGA器件應(yīng)用方面知識的學(xué)習(xí)。在我們構(gòu)建的課程結(jié)構(gòu)中,還加入了基于PCB的設(shè)計講習(xí)。主要講Protel的基本用法,原理圖、印制電路板(PCB)、庫的用法。目的是讓學(xué)生直接了解FPGA的應(yīng)用方法,促進(jìn)對FPGA設(shè)計方法的理解。教學(xué)中,這些內(nèi)容圍繞自制FPGA實(shí)驗(yàn)系統(tǒng)而展開,給學(xué)生舉例和做實(shí)驗(yàn)時畫的板子是自制實(shí)驗(yàn)系統(tǒng)的電路。學(xué)生經(jīng)過這個層次的訓(xùn)練后,便對實(shí)際應(yīng)用系統(tǒng)的開發(fā)有了系統(tǒng)的認(rèn)識和直接的經(jīng)驗(yàn)。
EDA課程內(nèi)容的主線是“原理圖設(shè)計—HDL設(shè)計—狀態(tài)機(jī)—復(fù)雜數(shù)字電路計—器件原理—PCB設(shè)計—FPGA應(yīng)用系統(tǒng)設(shè)計”。在我們的教學(xué)中,器件原理以點(diǎn)到為止,只從結(jié)構(gòu)層次上分清什么是可編程,配置的過程是怎么一回事,而不去具體深入的講解可編程存儲點(diǎn)的具體SRAM單元的組成原理。而講課時,我們區(qū)別于通常的講課順序,將器件原理部分的授課推遲,放在PCB設(shè)計之前。這主要考慮了兩點(diǎn):一是和后面FPGA應(yīng)用系統(tǒng)的設(shè)計直接銜接;二是避免一開始學(xué)生就糾纏于FPGA的細(xì)節(jié)而增加理解的難度。教學(xué)安排中,前半部分的教學(xué)講清硬件描述語言以及相應(yīng)的設(shè)計流程。之后講授FGPA的實(shí)際應(yīng)用,這同時也能加深前半部分的理解。
學(xué)生學(xué)習(xí)過程中的難點(diǎn)是軟件平臺的復(fù)雜性,容易產(chǎn)生機(jī)械式的點(diǎn)擊各種菜單來完成設(shè)計。所以在講課過程中,需要講清軟件設(shè)計的各個環(huán)節(jié)[6],然后每次實(shí)驗(yàn)都要讓學(xué)生知道他們所作的每一個步驟在整個流程中的地位。對于這個知識點(diǎn),我們在教學(xué)中講的比較具體。因?yàn)榛谛酒腅DA設(shè)計中的一些關(guān)鍵概念類似,關(guān)鍵流程節(jié)點(diǎn)是相通的。掌握流程后,學(xué)生就可以理解如何用不同的工具組建一個最優(yōu)的FPGA設(shè)計平臺。同時,這也為后續(xù)更深入的學(xué)習(xí)FPGA設(shè)計乃至集成電路設(shè)計打下扎實(shí)的基礎(chǔ)。
現(xiàn)在的EDA課程實(shí)驗(yàn)設(shè)備比較多,有各種儀器廠商提供的實(shí)驗(yàn)箱、實(shí)驗(yàn)板,以及相應(yīng)的成套系統(tǒng)。但現(xiàn)有的開發(fā)板或?qū)嶒?yàn)箱,成本相對較高,功能難于控制,不是太簡單,就是太復(fù)雜。對于簡單的實(shí)驗(yàn)箱,僅能開設(shè)一些基礎(chǔ)性的實(shí)驗(yàn),對于課程設(shè)計或者畢業(yè)設(shè)計就不能使用。而比較完善成熟的開發(fā)板又太復(fù)雜,其復(fù)雜性令普通學(xué)生不知所措。同時,實(shí)驗(yàn)箱和開發(fā)板損壞后,維修也相對麻煩。在建設(shè)實(shí)驗(yàn)平臺時,根據(jù)以往出現(xiàn)的問題,在新一輪的實(shí)驗(yàn)室建設(shè)中,我們采用購買現(xiàn)成的SOC開發(fā)板以及自制實(shí)驗(yàn)開發(fā)板的方式建設(shè)實(shí)驗(yàn)室。利用現(xiàn)成的SOC開發(fā)板構(gòu)建SOC實(shí)驗(yàn)室,目標(biāo)是大型嵌入式數(shù)字系統(tǒng)的設(shè)計,用作學(xué)生畢業(yè)前的崗前培訓(xùn)訓(xùn)練平臺以及教師橫向項(xiàng)目使用的開發(fā)平臺。自主開發(fā)的實(shí)驗(yàn)板,可完成常規(guī)的基礎(chǔ)教學(xué)實(shí)驗(yàn)、課程設(shè)計以及相應(yīng)的畢業(yè)設(shè)計。
圍繞教學(xué)內(nèi)容,相關(guān)實(shí)驗(yàn)類課程按層次開設(shè)。按側(cè)重點(diǎn)可分為基本實(shí)驗(yàn)、擴(kuò)展實(shí)驗(yàn)、課程設(shè)計、畢業(yè)設(shè)計、項(xiàng)目研究、創(chuàng)新設(shè)計。
基本實(shí)驗(yàn)、課程設(shè)計是所有的電子類學(xué)生都須學(xué)習(xí)的?;緦?shí)驗(yàn)是與理論課教學(xué)結(jié)合在一起的,本身按層次開設(shè),分為8個實(shí)驗(yàn)(16個學(xué)時),1個原理圖設(shè)計實(shí)驗(yàn),3個硬件描述語言基本實(shí)驗(yàn),1個綜合性設(shè)計實(shí)驗(yàn)和3個FPGA實(shí)驗(yàn)系統(tǒng)的PCB設(shè)計實(shí)驗(yàn)。課程設(shè)計是設(shè)計性實(shí)驗(yàn)(1周時間),側(cè)重于綜合性較強(qiáng)的實(shí)驗(yàn),讓學(xué)生利用實(shí)驗(yàn)系統(tǒng)完成較為完整的系統(tǒng)設(shè)計。課程設(shè)計按組進(jìn)行,每組不超過四人,實(shí)驗(yàn)題目也按難度分為不同層次。選題時,學(xué)生從預(yù)先準(zhǔn)備的16個題目中選擇相應(yīng)的設(shè)計課題。
擴(kuò)展實(shí)驗(yàn)是學(xué)生的選做實(shí)驗(yàn),針對的是對本課程感興趣的學(xué)生,實(shí)驗(yàn)的難度介于基本實(shí)驗(yàn)和課程設(shè)計之間,目的是使學(xué)生更加熟練的掌握FPGA基本設(shè)計方法。
畢業(yè)設(shè)計、項(xiàng)目研究、創(chuàng)新設(shè)計,也是針對部分對EDA感興趣的學(xué)生開設(shè),實(shí)驗(yàn)具有一定的難度,主要是面向?qū)嶋H的應(yīng)用和一些橫向項(xiàng)目。目前,我們學(xué)院在本科學(xué)生中推廣了導(dǎo)師制,而EDA這些實(shí)踐內(nèi)容是和導(dǎo)師制配合在一起的。學(xué)生直接跟隨導(dǎo)師進(jìn)實(shí)驗(yàn)室,盡可能的參與項(xiàng)目,達(dá)到相應(yīng)的訓(xùn)練效果。
EDA課程強(qiáng)調(diào)實(shí)踐訓(xùn)練,實(shí)驗(yàn)較多,這和有限的實(shí)驗(yàn)室產(chǎn)生了一定矛盾。實(shí)際教學(xué)中,我們采取開放實(shí)驗(yàn)室完成密集實(shí)驗(yàn)課程的安排。同時通過外借開發(fā)板的方式鼓勵學(xué)生利用課余時間學(xué)習(xí)FPGA的使用,完成對應(yīng)的擴(kuò)展實(shí)驗(yàn)。
從2002年開始,我校在本二及本三的電子信息工程與電子科學(xué)與技術(shù)專業(yè)中開設(shè)了EDA課程教學(xué),采用了多種實(shí)驗(yàn)系統(tǒng),使用了不同廠商的可編程器件(如Altera公司、Xilinx公司以及Lattice公司的器件),并與Xilinx公司成立了聯(lián)合實(shí)驗(yàn)室。EDA教學(xué)中,課程實(shí)驗(yàn)、實(shí)踐內(nèi)容及實(shí)驗(yàn)平臺按照分層的原則設(shè)置構(gòu)建,初步形成了分層的教學(xué)體系。EDA教研組在教學(xué)過程中不斷改進(jìn)教學(xué)方法,并著力于應(yīng)用型EDA技術(shù)培養(yǎng)體系的探索。幾年的教學(xué)實(shí)踐表明,這些改革探索是成功的。近年來,我校學(xué)生在有關(guān)電子設(shè)計大賽中頻頻獲獎,畢業(yè)生在EDA相關(guān)領(lǐng)域的就業(yè)數(shù)量也成倍增加。
教師及實(shí)驗(yàn)技術(shù)人員的學(xué)術(shù)及教學(xué)水平直接影響著實(shí)驗(yàn)教學(xué)效果及學(xué)生創(chuàng)新能力的培養(yǎng),而EDA技術(shù)的飛速發(fā)展對任課教師也提出了很高的要求?,F(xiàn)有實(shí)驗(yàn)教師需要不斷提高自身的學(xué)術(shù)、技能水平,不斷改革創(chuàng)新實(shí)驗(yàn)內(nèi)容[7]。這就要求教師要經(jīng)常參加EDA相關(guān)學(xué)術(shù)會議、研討班,積極爭取EDA方面的科研項(xiàng)目,參與同社會企業(yè)的合作。
目前,EDA技術(shù)已經(jīng)滲透到電子工業(yè)的各個領(lǐng)域,EDA課程的教學(xué)會直接影響到其他課程如微電子類、計算機(jī)類學(xué)科的教學(xué)。對于本科電子類學(xué)生,具備扎實(shí)的EDA知識和技能,是將來走上工作崗位的必備能力。隨著EDA技術(shù)的快速發(fā)展,EDA課程的教學(xué)內(nèi)容及教學(xué)方法也要不斷的更新、發(fā)展,EDA課程的改革探索任重道遠(yuǎn)。
[1]王浩,丁文霞.高等院校電類專業(yè)引入EDA教學(xué)的幾點(diǎn)思考[C].第十五屆電工理論學(xué)術(shù)研討會論文集,武漢,2003:193-195.
[2]劉志軍.關(guān)于在高校開展EDA教學(xué)的設(shè)想[J].電氣電子教學(xué)學(xué)報,1997,20(3):30-32.
[3]竇衡.加強(qiáng)EDA教學(xué),培養(yǎng)電子系統(tǒng)集成設(shè)計人才[J].電子科技大學(xué)學(xué)報社科版,2005,7(suppl):107-109.
[4]譚會生,張昌海.EDA技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004:1-15.
[5]劉江海.EDA技術(shù)[M].武漢:華中科技大學(xué)出版社,2009.
[6]Vauthn Betz,Jonathan Rose,Alexander Marquardt.Architecture and CAD for deep-submicron FPGAs[M].Norwell,Massachusetts:Kluwer academic publishers,1999:37-103.
[7]覃琴.對EDA技術(shù)及其應(yīng)用實(shí)驗(yàn)教學(xué)體系改革的一些建議[J].價值工程,2011(1):284.