趙 凱
(安陽工學(xué)院計算機科學(xué)與信息工程學(xué)院,河南 安陽455000)
計算機科學(xué)與技術(shù)專業(yè)應(yīng)用型人才,需要有一定的系統(tǒng)設(shè)計能力,以適應(yīng)以后的工作需要,增強差異化競爭能力?!禘DA技術(shù)及應(yīng)用》以理論講授、實際操作和技能考核為教學(xué)手段,重點對學(xué)生進行EDA設(shè)計和測試方法的訓(xùn)練。通過學(xué)習(xí)這門課程,使學(xué)生掌握利用軟件設(shè)計開發(fā)硬件電路的基本技能,為以后進行片上系統(tǒng)(SOC)集成的系統(tǒng)能力培養(yǎng)打下基礎(chǔ)。因此,對《EDA技術(shù)及應(yīng)用》課程進行教學(xué)改革是培養(yǎng)計算機科學(xué)與技術(shù)類專業(yè)應(yīng)用型人才的一個重要方面。[1]
《EDA技術(shù)及應(yīng)用》課程共32學(xué)時(理論20+實驗12),共16周,每周一次課。理論課介紹基于FPGA/CPLD的EDA設(shè)計流程、QuartusⅡ軟件的使用、VHDL的基本語法、可編程邏輯器件的原理和使用方法。實驗課通過稍有難度的實驗以培養(yǎng)學(xué)生的實踐能力。
經(jīng)過幾年的教學(xué)實踐,我們發(fā)現(xiàn)部分學(xué)生甚至到了最后一次實驗,還沒有完全理解課程的實質(zhì),僅僅認為是在學(xué)習(xí)一門新的語言。我們認為部分同學(xué)存在不理解EDA設(shè)計的真正用途,存在不了解該技術(shù)應(yīng)用驗實踐的問題。為此,進行《EDA技術(shù)及應(yīng)用》的課程教學(xué)改革,變換教學(xué)模式,將由理論為主、實驗為輔的培養(yǎng)模式變?yōu)轫椖框?qū)動的教學(xué)模式。在課程開始就向?qū)W生強調(diào),要使用該技術(shù)制作出自己的專用芯片,在后續(xù)的課程設(shè)計中還要制作自己的片上計算機系統(tǒng),為此給出項目庫,確保每位學(xué)生獲取不同的項目。同時兼顧計算機科學(xué)與技術(shù)的特點,項目題目多為設(shè)計VGA接口、USB接口等計算機系統(tǒng)常用外設(shè)接口,為后續(xù)設(shè)計片上計算機系統(tǒng)做準(zhǔn)備。
結(jié)合本校學(xué)生的特點以及EDA技術(shù)的發(fā)展應(yīng)用,剛開始選擇張昌凡和潭會生先生的《EDA技術(shù)及應(yīng)用》,該教材內(nèi)容詳實,容易上手;但涉及的內(nèi)容多,且使用的實驗系統(tǒng)與本校不符,不利于學(xué)生自己研習(xí)。后來選擇楊旭和劉盾先生《EDA技術(shù)基礎(chǔ)與實驗教程》,該教材簡單,并且?guī)в休^多的實驗項目,既適合課堂教學(xué)又可以滿足學(xué)生課下自學(xué)的需求。
根據(jù)教學(xué)目的的要求,針對培養(yǎng)學(xué)生的特點,在教學(xué)內(nèi)容上做了些大膽的嘗試。根據(jù)數(shù)字電路教學(xué)內(nèi)容的安排,在講授數(shù)字電路課程時適當(dāng)介紹VHDL語言的語法和簡單器件的編程實現(xiàn)。在此基礎(chǔ)上,將《EDA技術(shù)及應(yīng)用》授課內(nèi)容劃分成三個大的模塊:(1)QuartusII軟件的使用;(2)如何用VHDL語言描述數(shù)字邏輯電路;(3)如何在實驗平臺上完成設(shè)計的硬件驗證。這三個模塊互相聯(lián)系,組成了數(shù)字電路設(shè)計的整個過程。[2]
QuartusII軟件的使用,首先通過用原理圖輸入方法設(shè)計加法器這個實驗,使學(xué)生應(yīng)用已知的數(shù)字電路的知識了解和掌握如何使用QuartusII軟件,從而在沒有任何硬件描述語言的基礎(chǔ)上了解現(xiàn)代數(shù)字電路設(shè)計,掌握基于QuartusⅡ的數(shù)字電路設(shè)計流程。同時,可以讓學(xué)生在后續(xù)的學(xué)習(xí)中,通過QuartusII軟件平臺仿真驗證設(shè)計的正誤,并且逐漸熟悉軟件。實踐驗證,這個方法能夠很好地激發(fā)學(xué)生的學(xué)習(xí)興趣。
使用何種硬件描述語言來描述硬件電路,使很多人感到困惑。我們認為用VHDL或是VerilogHDL都無關(guān)緊要,重要的是學(xué)會數(shù)字電路設(shè)計的思路和方法,等到一種語言學(xué)會之后,可以通過很短的時間學(xué)會另一種語言。因此,不主張兩種語言一起學(xué)習(xí)。實踐證明:如果同時講解兩種語言,很多同學(xué)會很迷惑,容易混淆?;趪鴥?nèi)關(guān)于VHDL教材較多而Verilog HDL教材較少,為了交流學(xué)習(xí)的方便,選擇VHDL語言來設(shè)計數(shù)字電路。
結(jié)合應(yīng)用型人才培養(yǎng)的目標(biāo)和本校學(xué)生動手能力較強的特點,在教學(xué)中應(yīng)該注重案例教學(xué)。例如:在先修課程中,學(xué)生對數(shù)字電路進行了學(xué)習(xí),對譯碼器、編碼器等了解較多,同時在開設(shè)本課的學(xué)期,同時有單片機課程,學(xué)生也會對LED驅(qū)動譯碼有一定了解,因此可以設(shè)定案例——LED顯示接口芯片的設(shè)計。通過先設(shè)計4-16的譯碼器,再擴充添加共陽極LED驅(qū)動顯示模塊,即可構(gòu)成該專用芯片的結(jié)構(gòu)體。通過使用學(xué)習(xí)的知識,制作專用芯片很容易激發(fā)學(xué)生的積極性和好奇心。再進一步,引導(dǎo)學(xué)生設(shè)計4×4鍵盤接口芯片,簡單的輸入輸出系統(tǒng)就初步展現(xiàn),因為課堂時間有限,可以將PS2接口芯片放入到項目庫中進行設(shè)計。
EDA應(yīng)用課程屬于理論與實踐并重的課程,所以在學(xué)生從課堂上掌握FPGA/CPLD器件開發(fā)的整體流程后,必須要通過實驗進行理論知識的鞏固,而且還要掌握利用這些理論知識進行實際應(yīng)用的方法技巧。
EDA應(yīng)用課程中一共安排了6個實驗,前5個實驗都是一些較為簡單的設(shè)計性實驗,只給學(xué)生提供需要設(shè)計的題目及要求。實驗中設(shè)計、編譯、仿真和下載驗證的各個環(huán)節(jié)都要求學(xué)生自行完成。每節(jié)實驗課都在題目設(shè)計要求之外,設(shè)置一些思考題,這些思考題有些是針對實驗中容易出現(xiàn)問題的地方,希望以思考題的方式提醒學(xué)生注意,還有一些是與當(dāng)次實驗設(shè)計題目類似或相關(guān)的設(shè)計題目,可以起到對課堂實驗的一個補充作用。這些思考題的設(shè)置目的是讓學(xué)生對課堂講解的設(shè)計方法和技巧進行鞏固。第6個實驗則是貼近實際生活的小型數(shù)字系統(tǒng)綜合設(shè)計,如交通燈控制電路、日歷等。
考試形式對教學(xué)具有重要的影響。以往考核方式中,按照平時成績(20%)+實驗成績(30%)+期末理論考試(50%)的比例為學(xué)生打成績。這種考核方式看起來很合理,但由于課時較少,又需要向應(yīng)用實踐傾斜,結(jié)果理論考試變成了語法考試。實驗之后也沒有相應(yīng)的應(yīng)用實例,致使效果不好。為此,我們改革考核方式,學(xué)生最后的成績由平時成績(20%)+實驗成績(30%)+實踐項目(50%)組成。平時和實驗成績包括實驗考勤、實驗操作、實驗提問三項。最后實踐項目是學(xué)期初在項目庫中選取的項目,用一個學(xué)期的時間完成并在期末進行驗收和答辯,有效解決課時量少,實踐不充分的問題。實踐表明,這種考核方式可以有效地引起學(xué)生對獨立操作實驗的重視,且能夠比較公正全面地考核學(xué)生的學(xué)習(xí)情況。
《EDA技術(shù)及應(yīng)用》課程是計算機科學(xué)與技術(shù)專業(yè)專業(yè)基礎(chǔ)課程,對該課程進行教學(xué)改革是培養(yǎng)應(yīng)用型人才的重要環(huán)節(jié)。本課程目的是要求學(xué)生學(xué)會如何用軟件設(shè)計開發(fā)硬件電路,向前銜接先修課程數(shù)字電路,向后為計算機組成原理設(shè)計片上系統(tǒng)做準(zhǔn)備。我們對《EDA技術(shù)及應(yīng)用》課程進行了改革的探索,目的是有效調(diào)動學(xué)生學(xué)習(xí)積極性,促進課程之間的銜接,提高學(xué)生的系統(tǒng)設(shè)計能力,為培養(yǎng)計算機科學(xué)與技術(shù)類應(yīng)用型人才做進一步的努力。
[1]朱正偉,周炯如.EDA技術(shù)在硬件課程體系教學(xué)改革中的應(yīng)用[J].電氣電子教學(xué)學(xué)報,2010(12).
[2]楊旭,劉盾.EDA技術(shù)基礎(chǔ)與實驗教程[M].北京:清華大學(xué)出版社,2010(7).