本溪市機(jī)電工程學(xué)校 欒 迪
數(shù)字電路教學(xué)中EDA工具的應(yīng)用
本溪市機(jī)電工程學(xué)校 欒 迪
本文介紹將 QuartusII 軟件應(yīng)用到數(shù)字邏輯電路的教學(xué)中,利用QuartusII設(shè)計(jì)工具通過(guò)具體實(shí)例闡述了EDA技術(shù)在數(shù)字電子技術(shù)實(shí)驗(yàn)中的應(yīng)用,體現(xiàn)了EDA技術(shù)相對(duì)于傳統(tǒng)數(shù)字電路教學(xué)優(yōu)越性,激發(fā)學(xué)生學(xué)習(xí)數(shù)字電路的興趣,有良好的教學(xué)效果。
數(shù)字電路;QuartusII
在傳統(tǒng)的數(shù)字電子系統(tǒng)設(shè)計(jì)中,手工設(shè)計(jì)占有較大的比例。手工設(shè)計(jì)一般先按電子系統(tǒng)的具體功能要求進(jìn)行功能劃分,然后對(duì)每個(gè)子模塊畫出真值表,用卡諾圖進(jìn)行手工邏輯簡(jiǎn)化,寫出布爾表達(dá)式,畫出相應(yīng)的邏輯線路圖,再據(jù)此選擇元器件,設(shè)計(jì)電路板,最后進(jìn)行實(shí)測(cè)與調(diào)試。手工設(shè)計(jì)方法缺點(diǎn)是:(1)復(fù)雜電路的設(shè)計(jì)、調(diào)試十分困難。(2)由于無(wú)法進(jìn)行硬件系統(tǒng)仿真,如果某一過(guò)程存在錯(cuò)誤,查找和修改十分不便。(3)設(shè)計(jì)過(guò)程中產(chǎn)生大量文檔,不易管理。(4)只有在設(shè)計(jì)出樣機(jī)或生產(chǎn)出芯片后才能進(jìn)行實(shí)測(cè)。
傳統(tǒng)的數(shù)字電路的理論教學(xué)大多采用黑板板書和 PPT 的形式進(jìn)行, 在這種單向的教學(xué)模式中,學(xué)生只能依靠教師的講解,被動(dòng)的接受知識(shí),而不能形象、直觀的看到電路內(nèi)部實(shí)際的信號(hào)流動(dòng)、處理過(guò)程以及電路的作用,因此,理解電路內(nèi)部工作原理比較困難,教學(xué)效果不佳。傳統(tǒng)數(shù)字電路實(shí)驗(yàn)部分的教學(xué)還要受到實(shí)驗(yàn)儀器和設(shè)備,元器件種類和數(shù)量的限制,有電接觸不穩(wěn)定、實(shí)驗(yàn)功能單一等缺點(diǎn)。
進(jìn)入21世紀(jì),隨著電子技術(shù)的飛速發(fā)展, EDA技術(shù)也得到了長(zhǎng)足的發(fā)展,同時(shí)也沖擊和改變著傳統(tǒng)數(shù)字電子技術(shù)實(shí)驗(yàn)教學(xué)的方法和模式, EDA已經(jīng)成為數(shù)字電子技術(shù)系統(tǒng)設(shè)計(jì)的重要手段。EDA不但在整個(gè)設(shè)計(jì)流程上充分利用計(jì)算機(jī)的自動(dòng)設(shè)計(jì)能力、在各個(gè)設(shè)計(jì)層次上利用計(jì)算機(jī)完成不同內(nèi)容的仿真模擬,而且在系統(tǒng)板設(shè)計(jì)結(jié)束后仍可利用計(jì)算機(jī)對(duì)硬件系統(tǒng)進(jìn)行完整的測(cè)試。隨著計(jì)算機(jī)硬件技術(shù)和軟件技術(shù)發(fā)展起來(lái)的軟件技術(shù),如 EWB、Multisim、Proteus、QuartusⅡ等EDA技術(shù)為數(shù)字電路課程的教學(xué)提供了新的思路和方法,利用QuartusⅡ軟件可以不受上述條件的限制,方便學(xué)生對(duì)集成電路功能的理解、電路的仿真和設(shè)計(jì)。
QuartusⅡ是 Altera 公司的綜合性 PLD 開發(fā)軟件,支持原理圖、VHDL、VerilogHDL 以及 AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整 PLD 設(shè)計(jì)流程[1]。
(1)QuartusII軟件的元器件庫(kù)提供了數(shù)千種電子元器件,包括:基本元件庫(kù)、宏功能元件庫(kù)、工作庫(kù)、參數(shù)可設(shè)置兆功能庫(kù)等。豐富的元器件為學(xué)生了解各類數(shù)字電路元器件打下了堅(jiān)實(shí)的基礎(chǔ),也可了解各類元器件的參數(shù)和性能。
(2) QuartusII軟件可提供電路仿真和測(cè)試功能,還可進(jìn)行時(shí)序分析。能使仿真分析易于理解,仿真結(jié)果一目了然。
(3)QuartusII軟件可設(shè)計(jì)、測(cè)試和演示時(shí)序邏輯電路等各種電路,還可對(duì)被仿真電路設(shè)置各種故障,從而可以在教學(xué)中模擬各種故障,提高學(xué)生對(duì)實(shí)際電路分析和排故的能力[2]。
表1 4選1數(shù)據(jù)分配器的功能
數(shù)據(jù)分配器是將一路輸入數(shù)據(jù)根據(jù)地址選擇碼分配給多路數(shù)據(jù)輸出中的某一路輸出[3]。它的作用相當(dāng)于多個(gè)輸出的單刀多擲開關(guān)。數(shù)據(jù)分配器的用途比較多,比如用它將一臺(tái)PC機(jī)與多臺(tái)外部設(shè)備連接,將計(jì)算機(jī)的數(shù)據(jù)分送到外部設(shè)備中,組成脈沖分配器,用它 與數(shù)據(jù)選擇器連接組成分時(shí)數(shù)據(jù)傳送系統(tǒng)。
3.1 Verilog HDL 語(yǔ)言描述
硬件描述語(yǔ)言(HDL)是EDA技術(shù)的重要組成部分,目前常用的HDL主要有VHDL、VerilogHDL、System Verilog和System C。其中,VHDL和Verilog HDL在目前的EDA設(shè)計(jì)中使用得最多,也得到幾乎所有主流EDA工具的支持。Verilog 的部分語(yǔ)法是參照C語(yǔ)言的語(yǔ)法設(shè)立的。采用 Verilog HDL 語(yǔ)言的輸入方式進(jìn)行設(shè)計(jì),4選1數(shù)據(jù)分配器的程序如下[4]:
module MUX41a(A,B,C,D,S1,S0,Y);
input A,B,C,D,S1,S0;
output Y;
reg Y;
always @ (A or B or C or D or S1 or S0)
begin
case ({S1,S0})
2'b00 : Y<=A;
2'b01 : Y<=B;
2'b10 : Y<=C;
2'b11 : Y<=D;
default: Y=A;
endcase
end
endmodule
3.2 波形仿真
在QuartusII平臺(tái),對(duì)上面的程序進(jìn)行編輯、編譯、綜合、適配、仿真之后,可得到圖1所示的仿真波形。
3.3 RTL電路
通過(guò)QuartusII軟件還可以觀察該四選一數(shù)據(jù)分配器的RTL電路圖,了解線路連接和數(shù)據(jù)傳輸情況。
圖2 四選一數(shù)據(jù)分配器RTL電路圖
用Verilog HDL對(duì)數(shù)字系統(tǒng)進(jìn)行抽象的行為與功能描述以及具體的內(nèi)部線路結(jié)構(gòu)描述,從而可以在電子設(shè)計(jì)的各個(gè)階段、各個(gè)層次進(jìn)行計(jì)算機(jī)模擬驗(yàn)證,保證設(shè)計(jì)過(guò)程的正確性,大大降低設(shè)計(jì)成本,縮短設(shè)計(jì)周期。
利用 QuartusⅡ軟件對(duì)數(shù)字電路進(jìn)行設(shè)計(jì)仿真,突破傳統(tǒng)數(shù)字電路教學(xué)的局限性,有利于學(xué)生對(duì) Verilog HDL 硬件描述語(yǔ)言和數(shù)字邏輯電路的理解,將 QuartusⅡ應(yīng)用到數(shù)字電路的教學(xué)中來(lái), 可以將數(shù)字電路中理論的 0、1 關(guān)系更直觀的展現(xiàn)到學(xué)生面前,激發(fā)學(xué)生學(xué)習(xí)的興趣,提高學(xué)生學(xué)習(xí)的積極性,有很好的教學(xué)效果,起到事半功倍的作用。
[1]趙艷華,曹丙霞,張睿.基于 QuartusII 的 FPGA/CPLD 設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2009.
[2]江國(guó)強(qiáng).EDA技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2004.
[3]蔣立平.數(shù)字邏輯電路與系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.
[4]潘松,黃繼業(yè),陳龍.EDA技術(shù)與Verilog HDL[M].北京:清華大學(xué)出版社,2010.