趙天翔+何金枝
摘要:針對傳統(tǒng)數(shù)字邏輯課程中的落后方法和陳舊內(nèi)容,進行了以VerilogHDL和FPGA為重點的數(shù)字邏輯教學(xué)改革與實踐,并探討了實驗驅(qū)動的教學(xué)新模式。不但使學(xué)生接觸到最新的數(shù)字電路設(shè)計方法,而且使其掌握了一門有廣泛應(yīng)用前景的新技能。使學(xué)生在學(xué)完這門課程后,真正能做設(shè)計,做應(yīng)用。
關(guān)鍵詞:數(shù)字邏輯;VerilogHDL;FPGA;EDA;教學(xué)改革
中圖分類號:TP302 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)35-0177-02
The teaching reform and practice of digital logic taking verilogHDL as the key points
ZHAO Tian-xiang, HE Jin-zhi
(Nanyang Institute of Technology, Nanyang 473000, China)
Abstract:Aiming at the backward methods and old content in the traditional digital logic course, the reform and practice of the digital logic teaching with VerilogHDL and FPGA as the key points are carried out, and the new teaching mode of the experiment drive is discussed. Not only make the students come into contact with the latest digital circuit design method, but also make it have a wide range of application prospects of the new skills. The students in the completion of this course, can really do the design, application.
Key words: Digital logic; VerilogHDL; FPGA; EDA; teaching reform
承擔(dān)《數(shù)字邏輯》這門課兩個學(xué)期了,我發(fā)現(xiàn)傳統(tǒng)的教學(xué)內(nèi)容已經(jīng)不適合現(xiàn)在社會的發(fā)展,并對此進行了教學(xué)內(nèi)容的改革。在傳統(tǒng)的教學(xué)內(nèi)容中,邏輯表達式、真值表和波形圖等這些老舊的數(shù)字電路設(shè)計方法,是教學(xué)的重點。而CPLD、FPGA和VHDL、VerilogHDL等現(xiàn)代化的數(shù)字電路設(shè)計方法僅僅是一個簡單的介紹。這樣的數(shù)字邏輯課程學(xué)完后,學(xué)生僅僅是對數(shù)字電路的設(shè)計有所了解,至于設(shè)計是無從談起的,現(xiàn)在用邏輯表達式、真值表和波形圖等去設(shè)計一個數(shù)字電路簡直是可笑的。于是,我決定把基于VerilogHDL和FPGA的現(xiàn)代化的設(shè)計方法作為教學(xué)的重點,這樣使學(xué)生學(xué)完這門課程后,真正能做設(shè)計,做應(yīng)用。
1 VerilogHDL簡單易學(xué)
VerilogHDL是一種硬件描述語言,使用這種語言只需要把我們想設(shè)計的數(shù)字電路的功能或結(jié)構(gòu)描述出來,然后由計算機輔助電路設(shè)計軟件綜合出實際可用的數(shù)字電路出來。完全不用像傳統(tǒng)的設(shè)計方法那樣,用邏輯表達式或真值表那樣一個邏輯門一個邏輯門的去設(shè)計。傳統(tǒng)的設(shè)計方法,費時費力,在門數(shù)比較少的時候還可以。但在現(xiàn)在動輒數(shù)億門的集成電路設(shè)計中幾乎是不可能的。使用計算機輔助電路設(shè)計軟件進行數(shù)字電路設(shè)計是時代發(fā)展的必然。
使用計算機輔助電路設(shè)計軟件進行數(shù)字電路設(shè)計就必須要用硬件描述語言,現(xiàn)在主流的硬件描述語言主要有兩種,一種是VHDL,一種是VerilogHDL。VerilogHDL的風(fēng)格非常接近計算機軟件語言中的C語言,因此VerilogHDL比前者更容易被計算機專業(yè)的學(xué)生接受和理解。VerilogHDL和VHDL都是IEEE標(biāo)準(zhǔn),功能和性能上沒有太大的差異,在國內(nèi)使用Verilog HDL的用戶也比較多,因此我決定以VerilogHDL作為這門課的編程語言。VerilogHDL在語法,數(shù)據(jù)類型,控制語句等方面和C語言都有較多的相似性,學(xué)過C語言的計算機專業(yè)的學(xué)生很容易就可以理解和掌握這門語言。
VerilogHDL需要在計算機輔助電路設(shè)計軟件中使用,現(xiàn)在這種軟件已經(jīng)非常成熟。我們使用的是Altera公司開發(fā)的Quartus II軟件,Altera公司是世界第二大FPGA廠商,其產(chǎn)品在國內(nèi)有廣泛應(yīng)用。FPGA是現(xiàn)場可編程邏輯陣列,可以通過編程變成我們想要的任意電路。我們用VerilogHDL做出設(shè)計,由Quartus II綜合出電路,如圖1所示。然后下載到FPGA,由FPGA實現(xiàn)驗證,最后由半導(dǎo)體企業(yè)生產(chǎn)出來使用。也可以直接使用FPGA,使用FPGA和使用專用芯片幾乎沒什么差別。
圖1 Quartus II綜合VerilogHDL設(shè)計生成的電路原理圖
2 實驗驅(qū)動的教學(xué)模式
我在教學(xué)中采用實驗驅(qū)動的教學(xué)模式,即通過大量可驗證的實驗,逐步把知識傳授給學(xué)生。在傳統(tǒng)的教學(xué)模式中,教師往往從基本的語法,原理講起,等語法,原理講完了,再講復(fù)雜的應(yīng)用。結(jié)果,前期講理論時,學(xué)生覺得非??菰铮笃谥v應(yīng)用時,前面的理論又忘得差不多了,教學(xué)效果不理想。實驗驅(qū)動的教學(xué)模式即把理論教學(xué)和應(yīng)用教學(xué)結(jié)合起來,穿插起來。前期不純講理論,而是以簡單的實驗,把理論融入實驗,一一驗證。每一個實驗都是一個較為完整的應(yīng)用,都可以通過軟硬件驗證,這樣可以引發(fā)學(xué)生的學(xué)習(xí)興趣。由簡單到復(fù)雜,每一次實驗都會有一些收獲,跨度也不大,逐步深入,而且每一次實驗都印證了學(xué)科的實用性,增強學(xué)生學(xué)習(xí)的信心和動力。
這些實驗可以通過軟件或硬件來驗證,在Altera公司的Quartus II軟件中自帶了一個由Mentor Graphics公司為Altera定制的ModelSim-Altera軟件。ModelSim-Altera是一個仿真分析軟件。VerilogHDL包括分析測試的功能,我們寫出的實驗例程可以包含一個測試模塊。在測試模塊中,我們可以通過對輸入端口賦值,設(shè)置時間點,對實驗進行充分的測試驗證。在ModelSim-Altera仿真過程中,可以輸出虛擬示波器波形,對這些波形進行分析可以查找錯誤,驗證功能。ModelSim-Altera還提供了豐富的系統(tǒng)任務(wù)和系統(tǒng)函數(shù)幫助我們分析電路功能,可以按時間點輸出監(jiān)控的參數(shù)數(shù)值。
ModelSim-Altera雖然是一個簡單實用的好工具,但仿真還是有一些局限性的。這時候,一塊FPGA的開發(fā)板就非常重要了。我們寫的VerilogHDL設(shè)計,下載到FPGA開發(fā)板中,以硬件的方式進行驗證,親眼看到,非常有說服力。使用FPGA開發(fā)板還可以進行非常實用的應(yīng)用開發(fā),比如紅外遙控、視頻編碼、VGA輸出等。
3 FPGA應(yīng)用前景廣泛
使用VerilogHDL和FPGA不僅使數(shù)字電路設(shè)計簡單方便,而且對于小規(guī)模的應(yīng)用,我們根本就不需要把電路生產(chǎn)出來,直接把設(shè)計寫入FPGA,直接用FPGA就行了。FPGA相對于單片機等傳統(tǒng)控制器,有很多優(yōu)點。例如:FPGA可以生成任何電路,大大簡化了控制器周邊的復(fù)雜度,一些譯碼器、編碼器等外圍芯片不需要了,降低了成本,提高了可靠度。FPGA純硬件運行,沒有CPU執(zhí)行延時,響應(yīng)速度非常快。在一些實時性要求非常高的場合有著傳統(tǒng)控制器無法比擬的優(yōu)勢。比如:實時的視頻采集,高速運動裝置的控制等。
4 結(jié)束語
以VerilogHDL和FPGA為重點的數(shù)字邏輯課程教學(xué)改革,經(jīng)過我這兩個學(xué)期的實踐,使原本邊緣化的一門傳統(tǒng)課程,煥發(fā)出新的活力。不但使學(xué)生接觸到最新的數(shù)字電路設(shè)計方法,而且使學(xué)生掌握了一門有廣泛應(yīng)用前景的新技能,為其以后的發(fā)展又增添了一條新的選擇。今后我將繼續(xù)在實用化,現(xiàn)代化的教學(xué)實踐中探索前進。
參考文獻:
[1] 馬朝,李穎,楊明.用Verilog-HDL設(shè)計數(shù)字邏輯系統(tǒng)[J].計算機工程,2015,26(12):110-112.
[2] 何清平,劉佐濂,江建鈞.Verilog語言綜合問題研究[J].廣州大學(xué)學(xué)報,2006,5(5):58-61.
[3] 徐瑩雋. 基于開放教學(xué)模式的數(shù)字邏輯電路實驗教學(xué)改革[J].電氣電子教學(xué)學(xué)報,2006,28(6):64-66.
[4] 艾明晶. 基于自動設(shè)計方法的數(shù)字邏輯課程改革研究與實踐[J].實驗技術(shù)與管理,2012,29(9):151-154.
[5] 唐志強. 計算機專業(yè)數(shù)字邏輯實驗的改革與創(chuàng)新[J].實驗室研究與探索,2013,32(10):182-183.
[6] 羅杰,康華光. 兩種硬件描述語言VHDL/Verilog的發(fā)展及其應(yīng)用[J].電氣電子教學(xué)學(xué)報,2002,24(4):1-5.
[7] 詹瑾瑜,廖建明. 數(shù)字邏輯課程教學(xué)方法研究與探討[J].計算機教育,2011(2):94-91.
[8] 盛建倫. 數(shù)字邏輯實驗教學(xué)改革探索[J].計算機教育,2010(17):41-43.