郭家榮++陳年生
摘 要:Verilog HDL是用于邏輯設(shè)計(jì)的硬件描述語言,并且已成為IEEE標(biāo)準(zhǔn)?!禫erilog HDL 程序設(shè)計(jì)》課程是電子類及計(jì)算機(jī)工程類學(xué)生的重要課程,不僅可以使同學(xué)們對(duì)數(shù)字電路設(shè)計(jì)技術(shù)有更進(jìn)一步的了解,而且可以為以后學(xué)習(xí)高級(jí)的行為綜合、物理綜合、IP設(shè)計(jì)和復(fù)雜系統(tǒng)設(shè)計(jì)和驗(yàn)證打下堅(jiān)實(shí)的基礎(chǔ)。針對(duì)《Verilog HDL 程序設(shè)計(jì)》課程教學(xué)中存在的問題,提出了適合該課程的教學(xué)方法。
關(guān)鍵詞:邏輯電路及系統(tǒng) Verilog HDL 程序設(shè)計(jì) 教學(xué)方法
中圖分類號(hào):G64 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2017)09(c)-0166-02
硬件描述語言(HDL,hardware description language)是一種用形式化方法來描述數(shù)字電路和系統(tǒng)的語言,數(shù)字電路系統(tǒng)的設(shè)計(jì)者利用這種語言可以從上層到下層(從抽象到具體)逐步描述自己的設(shè)計(jì)思想,用一系列分層次的模塊來表示極其復(fù)雜的數(shù)字系統(tǒng)。采用Verilog HDL設(shè)計(jì)方法比采用電路圖輸入的方法更有優(yōu)越性,這就是為什么美國(guó)等國(guó)家在進(jìn)入20世紀(jì)90年代以后紛紛采用HDL設(shè)計(jì)方法的原因。Verilog HDL適用于復(fù)雜數(shù)字邏輯電路和系統(tǒng)的總體仿真、子系統(tǒng)仿真和具體電路綜合等各個(gè)設(shè)計(jì)階段。Verilog HDL 不但作為學(xué)習(xí)HDL設(shè)計(jì)方法的入門和基礎(chǔ)是比較合適的,而且對(duì)于ASIC設(shè)計(jì)專業(yè)人員而言,也是必須掌握的基本技術(shù)?!禫erilog HDL程序設(shè)計(jì)》課程是大學(xué)里的電子和計(jì)算機(jī)工程系的重要課程,本課程的目標(biāo)是學(xué)習(xí)掌握Verilog HDL建模、仿真、綜合、重用和驗(yàn)證技術(shù),為以后學(xué)習(xí)高級(jí)的行為綜合、物理綜合、IP設(shè)計(jì)和復(fù)雜系統(tǒng)設(shè)計(jì)和驗(yàn)證打下堅(jiān)實(shí)的基礎(chǔ)。
1 教學(xué)中存在的問題
1.1 學(xué)生學(xué)習(xí)興趣不足
現(xiàn)在大學(xué)生普遍認(rèn)為大學(xué)里學(xué)的課程知識(shí)在以后的工作中用不到,認(rèn)為學(xué)習(xí)大學(xué)課程是在浪費(fèi)自己的時(shí)間。所以有些學(xué)生去校外兼職或者創(chuàng)業(yè),有部分學(xué)生終日在宿舍里沉迷游戲。即使到了上課時(shí)間,為了出勤率到了教室上課,也是要么睡覺要么玩手機(jī)。對(duì)自己所學(xué)課程是毫無興趣,來上課也只是為了最后能順利通過這門課進(jìn)而拿到畢業(yè)所規(guī)定的學(xué)分。更重要的是對(duì)于計(jì)算機(jī)工程系的學(xué)生來說,他們一致認(rèn)為計(jì)算機(jī)工程主要是做軟件開發(fā)的,同時(shí)軟件方面的學(xué)習(xí)又很容易入門,而對(duì)于硬件這塊知識(shí),相比較軟件來說,比較難學(xué),又比較枯燥。加上硬件前期基礎(chǔ)課程較少,所以學(xué)生更傾向于軟件方面知識(shí)的獲取。而對(duì)于硬件方面尤其底層部件電路設(shè)計(jì)方面更是很少有興趣。
1.2 學(xué)生知識(shí)儲(chǔ)備不足
學(xué)習(xí)《Verilog HDL程序設(shè)計(jì)》課程,前期必須先修的課程有數(shù)字邏輯電路基礎(chǔ)、計(jì)算機(jī)組成原理和C語言等。但有些學(xué)生在學(xué)習(xí)這些先修課程時(shí)并沒有認(rèn)真學(xué)習(xí),或者根本沒有去選擇這些課程,或者在同一學(xué)期同時(shí)選擇這幾門課程,結(jié)果導(dǎo)致學(xué)生由于數(shù)字電路基礎(chǔ)知識(shí)的缺乏,在學(xué)習(xí)《Verilog HDL程序設(shè)計(jì)》課程時(shí)非常吃力,挫傷了學(xué)生學(xué)習(xí)這門課程的積極性。
1.3 課程內(nèi)容多課時(shí)少
隨著社會(huì)快速發(fā)展,不同領(lǐng)域?qū)I(yè)需要學(xué)習(xí)的東西不斷增加和更新。這樣導(dǎo)致每門課程的課時(shí)不斷減少。而對(duì)于《Verilog HDL程序設(shè)計(jì)》課程,本身時(shí)實(shí)踐性較強(qiáng)的課程,但是由于內(nèi)容較多,為了完成理論課時(shí)講解,分配給實(shí)踐的課程就少了。這就會(huì)導(dǎo)致理論不能及時(shí)與實(shí)踐相結(jié)合,新學(xué)的知識(shí)無法消化應(yīng)用,不能真正掌握。
1.4 課程實(shí)驗(yàn)內(nèi)容及環(huán)境單一
該課程時(shí)實(shí)踐性較強(qiáng)的課程,必須通過大量的實(shí)踐才能掌握這門課程的設(shè)計(jì)技術(shù)及設(shè)計(jì)方法。目前關(guān)于本課程的實(shí)驗(yàn)內(nèi)容都是一些驗(yàn)證性實(shí)驗(yàn),按照實(shí)驗(yàn)書上的羅列步驟進(jìn)行實(shí)驗(yàn)以對(duì)所學(xué)知識(shí)點(diǎn)進(jìn)行驗(yàn)證。而設(shè)計(jì)性實(shí)驗(yàn)較少,學(xué)生無法真正學(xué)會(huì)知識(shí)點(diǎn)的應(yīng)用。但學(xué)生學(xué)習(xí)這門課程的關(guān)鍵是會(huì)應(yīng)用所學(xué)知識(shí)設(shè)計(jì)出數(shù)字邏輯電路及系統(tǒng)。同時(shí)由于學(xué)校費(fèi)用問題,實(shí)驗(yàn)環(huán)境包括EDA工具、計(jì)算機(jī)等不能隨著集成電路的發(fā)展和工藝的快速發(fā)展而及時(shí)更新,限制了學(xué)生學(xué)習(xí)新的知識(shí)步伐。
針對(duì)以上存在的問題,本文對(duì)《Verilog HDL程序設(shè)計(jì)》課程教學(xué)方法進(jìn)行研究,激發(fā)學(xué)生學(xué)習(xí)該課程的主動(dòng)性,培養(yǎng)社會(huì)需要的Verilog HDL數(shù)字電路及系統(tǒng)設(shè)計(jì)人才。
2 教學(xué)方法研究
2.1 合并教學(xué)內(nèi)容突出重點(diǎn)
本課程內(nèi)容多、課時(shí)較少,由需要大量的實(shí)踐才能掌握課程知識(shí)。本課程是先將語法知識(shí),再介紹數(shù)字電路及系統(tǒng)的設(shè)計(jì)和驗(yàn)證。眾所周知語法知識(shí)的講解枯燥無味。筆者在教學(xué)過程中將語法這部分知識(shí)分解到“組合邏輯電路設(shè)計(jì)”和“時(shí)序邏輯電路設(shè)計(jì)”兩部分中講解。這樣做的好處是不僅避免了單獨(dú)學(xué)習(xí)語法的枯燥,而且把語法與實(shí)際電路設(shè)計(jì)相結(jié)合,能很快的學(xué)以致用,更牢靠的掌握語法知識(shí)。同時(shí)節(jié)省課堂理論課時(shí),增加了實(shí)踐機(jī)會(huì)。
2.2 補(bǔ)充知識(shí)點(diǎn)減輕學(xué)習(xí)壓力
對(duì)于簡(jiǎn)單組合邏輯電路設(shè)計(jì)和驗(yàn)證的講解,不僅要用Verilog HDL描述電路,還要綜合出門級(jí)電路結(jié)構(gòu)。由于學(xué)生對(duì)計(jì)算機(jī)組成原理、數(shù)字邏輯電路課程沒有認(rèn)真學(xué)習(xí),或者在同一學(xué)期上這門課,沒有相應(yīng)的基礎(chǔ)知識(shí),很難理解這些組合邏輯電路的原理。筆者在講授這部分內(nèi)容前,用了4個(gè)課時(shí)向?qū)W生補(bǔ)充了數(shù)字邏輯基礎(chǔ)和計(jì)算機(jī)中的計(jì)算部件的底層電路結(jié)構(gòu)。而且對(duì)于其中的每個(gè)組合邏輯電路還會(huì)講出在計(jì)算機(jī)硬件里所起的作用,以加深學(xué)生的理解掌握。
2.3 建立分層遞進(jìn)的實(shí)驗(yàn)課程體系
《Verilog HDL程序設(shè)計(jì)》課程屬于實(shí)踐性較強(qiáng)的課程。學(xué)生不僅上課要吸收理論知識(shí),更需要更多的時(shí)間上機(jī)練習(xí),由簡(jiǎn)單到復(fù)雜,由典型到一般,循序漸進(jìn)的學(xué)習(xí)Verilog HDL 基礎(chǔ)知識(shí)。但是熟練掌握利用該語言進(jìn)行數(shù)字電路及系統(tǒng)的設(shè)計(jì)技術(shù)和設(shè)計(jì)方法還需更多的高層次的實(shí)踐性實(shí)驗(yàn)。實(shí)驗(yàn)課應(yīng)遵循“由淺入深,循序漸進(jìn)”教學(xué)規(guī)律[1]。開展認(rèn)知實(shí)驗(yàn)、驗(yàn)證性實(shí)驗(yàn)、設(shè)計(jì)與綜合性實(shí)驗(yàn)的分層式實(shí)踐教學(xué),形成與理論教學(xué)相互協(xié)調(diào)、相互滲透的有機(jī)體系[1]。
2.4 應(yīng)用項(xiàng)目教學(xué)法
項(xiàng)目教學(xué)法是基于企業(yè)項(xiàng)目的方式使學(xué)生學(xué)習(xí)應(yīng)用所學(xué)知識(shí)解決實(shí)際問題。通過工程項(xiàng)目的分配、信息收集、方案設(shè)計(jì)、項(xiàng)目實(shí)施及最終評(píng)價(jià)等實(shí)踐過程完成相應(yīng)課程的授課過程[2-3]。針對(duì)《Verilog HDL程序設(shè)計(jì)》課程的項(xiàng)目教學(xué)法具體表現(xiàn)為:(1)選擇的項(xiàng)目要涵蓋課程知識(shí)點(diǎn),適用自頂向下的設(shè)計(jì)方法,且具有一定難度,通過該項(xiàng)目的開發(fā)能鍛煉學(xué)生具備企業(yè)項(xiàng)目開發(fā)實(shí)踐能力。(2)針對(duì)數(shù)字電路及系統(tǒng)設(shè)計(jì)的項(xiàng)目過程包括系統(tǒng)分析、子任務(wù)劃分、電路設(shè)計(jì)、仿真和驗(yàn)證。項(xiàng)目的劃分和實(shí)施要按照知識(shí)點(diǎn)的層次進(jìn)行劃分。同時(shí)有能夠讓每個(gè)學(xué)生具有獨(dú)立完成的子項(xiàng)目。在實(shí)施時(shí),根據(jù)學(xué)生的興趣愛好分配任務(wù)(3)要定期檢查和評(píng)估。在項(xiàng)目實(shí)施過程中,老師要定期檢查學(xué)生的進(jìn)度,遇到的問題及時(shí)溝通解決,積極給予指導(dǎo),讓學(xué)生順利完成項(xiàng)目設(shè)計(jì)。利用項(xiàng)目教學(xué),學(xué)生會(huì)在項(xiàng)目實(shí)踐中養(yǎng)成的應(yīng)用知識(shí)能力,做事專注細(xì)心、踏實(shí)穩(wěn)健、科學(xué)的態(tài)度和創(chuàng)新意識(shí)都會(huì)給以后的學(xué)習(xí)和工作帶來輕松和更大的興趣。
4 結(jié)語
本文針對(duì)《Verilog HDL程序設(shè)計(jì)》課程教學(xué)中的問題,提出了克服這些教學(xué)問題的教學(xué)方法,創(chuàng)建了一種教與學(xué)相結(jié)合、學(xué)與用相結(jié)合、動(dòng)手與動(dòng)腦相結(jié)合的教學(xué)模式,通過該教學(xué)方法的實(shí)踐,達(dá)到了不錯(cuò)的教學(xué)效果。
參考文獻(xiàn)
[1] 朱軍,熊聰聰,張賢.物聯(lián)網(wǎng)工程專業(yè)實(shí)踐教學(xué)體系探究[J].天津市教科院學(xué)報(bào),2014.
[2] 張際看.項(xiàng)目教學(xué)法初探[J].內(nèi)蒙古教育(職教版),2013.
[3] 沈鵬.項(xiàng)目驅(qū)動(dòng)在高職Java教學(xué)中的應(yīng)用研究[J].軟件導(dǎo)刊,2013.
[4] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)[M].3版.北京:北京航空航天大學(xué)出版社,2013.endprint