曹立杰,李松松
摘 要:針對(duì)目前電子信息工程專業(yè)《數(shù)字電子技術(shù)》課程和《EDA技術(shù)》課程相結(jié)合的研究比較少的現(xiàn)狀,對(duì)兩課程相結(jié)合的益處進(jìn)行了探討。通過(guò)介紹常用的EDA軟件Max+Plus Ⅱ,結(jié)合例子,通過(guò)仿真分析得出EDA技術(shù)與數(shù)字電子技術(shù)相結(jié)合具有如下三點(diǎn)益處:實(shí)現(xiàn)硬件電路設(shè)計(jì)軟件化,分析疑難電路現(xiàn)象,實(shí)現(xiàn)“開(kāi)放”的數(shù)字電路實(shí)驗(yàn)室。通過(guò)將兩課程相結(jié)合,可以使教師對(duì)理論知識(shí)的講解更透徹,使學(xué)生有更多的機(jī)會(huì)設(shè)計(jì)并驗(yàn)證電路,對(duì)“教”與“學(xué)”都具有積極作用。
關(guān)鍵詞:數(shù)字電子技術(shù);EDA技術(shù);結(jié)合;仿真
中圖分類號(hào):TP331.2文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2009)20-120-03
Discussion on Combination of Digital Electronic Technique and EDA Technique
CAO Lijie,LI Songsong
(Dalian Fisheries University,Dalian,116023,China)
Abstract:Because of research on the combination of "Digital Electronic Technique"and "EDA Technique" is shortage,advantages of the combination between them are investigated.Common EDA software Max+Plus Ⅱ is introduced,and advantages of the combination of digital electronic technique and EDA technique are analyzed with examples and simulation.From the analysis,it is clearly that the combination of two classes has advantages such as:realization of hardware design with software,analysis ofthe circuit condition,realization of the "open" digital circuit laboratory.Through the combination of two classes,teachers can explain the theory clearly,students have more chance to examine circuit.It has positive effect in teaching and learning.
Keywords:digital electronic technique;EDA technique;combination;simulation
在信息社會(huì)中,數(shù)字化是電子產(chǎn)業(yè)發(fā)展的必然趨勢(shì),因此在電子信息及相關(guān)專業(yè)的教學(xué)中也越來(lái)越看重?cái)?shù)字技術(shù),數(shù)字電子技術(shù)作為數(shù)字技術(shù)中一門極其重要的學(xué)科基礎(chǔ)課在本科教學(xué)中很受重視。EDA(Electronic Design Automation)技術(shù)作為數(shù)字電子技術(shù)的延伸,已經(jīng)引入到電子信息類本科教學(xué)中[1-3]。目前,單獨(dú)針對(duì)數(shù)字電子技術(shù)課程和EDA課程的教學(xué)改革比較多,但是對(duì)于將兩門課程結(jié)合起來(lái)有何優(yōu)勢(shì)的研究還有待教師探索[4-6]。因此,通過(guò)使用常用的EDA工具軟件,結(jié)合實(shí)例,就數(shù)字電子技術(shù)與EDA技術(shù)相結(jié)合做一探討。
1 常用EDA工具軟件簡(jiǎn)介
常用的EDA軟件有加拿大IIT公司推出的EWB(Electronics WorkBench),在EWB基礎(chǔ)上形成的Multisim以及美國(guó)Altera公司開(kāi)發(fā)的Max+Plus Ⅱ [7]。
目前,我校EDA實(shí)驗(yàn)室所使用的軟件是美國(guó)Altera公司開(kāi)發(fā)的Max+Plus Ⅱ,所以本文中的例子都是基于此平臺(tái)進(jìn)行的。
Max+Plus Ⅱ(Multiple Array and Programming Logic User System)具有Windows操作系統(tǒng)的程序界面,采用全菜單操作和鼠標(biāo)操作方式,是一個(gè)方便、易學(xué)易用、功能全面的EDA工具。Max+Plus Ⅱ支持原理圖、VHDL語(yǔ)言和Verilog語(yǔ)言文本文件,以及波形EDIF等格式化的文件作為設(shè)計(jì)輸入[7]。使用Max+Plus Ⅱ進(jìn)行電路設(shè)計(jì)的流程簡(jiǎn)單,經(jīng)過(guò)設(shè)計(jì)輸入、設(shè)計(jì)編譯、設(shè)計(jì)仿真、下載即可完成。
2 數(shù)字電子技術(shù)與EDA技術(shù)相結(jié)合的幾點(diǎn)益處
2.1 將數(shù)字電子技術(shù)中難以實(shí)現(xiàn)的硬件設(shè)計(jì)轉(zhuǎn)換為軟件設(shè)計(jì)
在傳統(tǒng)的數(shù)字電子技術(shù)教學(xué)中,講授組合邏輯電路設(shè)計(jì)時(shí),首先分析設(shè)計(jì)要求,按照要求列出真值表;然后進(jìn)行邏輯函數(shù)表達(dá)式的化簡(jiǎn),得出表達(dá)形式最簡(jiǎn)的輸出函數(shù)表達(dá)式,最后畫出邏輯圖。當(dāng)輸入變量比較少時(shí),這種方法無(wú)疑是簡(jiǎn)單有效的,但是,當(dāng)輸入變量比較多時(shí),這種方法就顯得很吃力。下面以設(shè)計(jì)8位奇校驗(yàn)電路為例進(jìn)行說(shuō)明。
若采用傳統(tǒng)的設(shè)計(jì)方案,首先需要畫出8變量真值表,8變量真值表需要28行(即256行),這就非常麻煩,而邏輯函數(shù)的化簡(jiǎn)更是難上加難。如果借助Max+Plus Ⅱ軟件,使用VHDL語(yǔ)句,按照8位奇校驗(yàn)邏輯功能,用軟件方法來(lái)實(shí)現(xiàn)硬件設(shè)計(jì)。8位奇校驗(yàn)電路的VHDL程序如下所示[8]:
library ieee;
use ieee.std_logic_1164.all;
entity p_check is
port(a:in std_logic_vector (7 downto 0);
y:out std_logic);
end p_check;
architecture art of p_check is
begin
process(a)
variable tmp:std_logic;
begin
tmp:='1';
for i in 0 to 7 loop
tmp:=tmp xor a(i);
end loop;
y<=tmp;
end process;
end art;
其中:a表示8位輸入信號(hào);y表示奇校驗(yàn)輸出,通過(guò)觀察該程序可以發(fā)現(xiàn),程序邏輯性強(qiáng),簡(jiǎn)單易讀。
對(duì)上述程序進(jìn)行仿真,仿真波形如圖1所示。
圖1 8位奇校驗(yàn)電路仿真波形
通過(guò)觀察可以看出,該仿真波形完全符合奇校驗(yàn)邏輯功能。在Max+Plus Ⅱ軟件下進(jìn)行綜合,可以得到8位奇校驗(yàn)電路的邏輯符號(hào),當(dāng)其他的設(shè)計(jì)工作中需要用到8位奇校驗(yàn)功能時(shí),可以直接調(diào)用此元器件,不必重新設(shè)計(jì),簡(jiǎn)化了設(shè)計(jì)工作。
通過(guò)EDA技術(shù)實(shí)現(xiàn)數(shù)字電路設(shè)計(jì),可以讓學(xué)生嘗試用軟件代替硬件,實(shí)現(xiàn)硬件電路軟件化。學(xué)生應(yīng)用EDA技術(shù)除了可以實(shí)現(xiàn)小規(guī)模的電子電路設(shè)計(jì),還可以通過(guò)對(duì)CPLD,FPGA編程,設(shè)計(jì)復(fù)雜的電路系統(tǒng)。
2.2 應(yīng)用Max+Plus Ⅱ 分析電路現(xiàn)象
在日常生活中,數(shù)字電路隨處可見(jiàn),這就要求理論教學(xué)必須與實(shí)踐教學(xué)相結(jié)合,達(dá)到理論聯(lián)系實(shí)際的目的。但是通過(guò)總結(jié)學(xué)生的學(xué)習(xí)情況發(fā)現(xiàn),學(xué)生并不能很好地將理論與實(shí)際聯(lián)系起來(lái),特別是當(dāng)學(xué)生設(shè)計(jì)好電路進(jìn)行實(shí)驗(yàn)時(shí),經(jīng)常出現(xiàn)與他們自己分析的理論結(jié)果不一致的現(xiàn)象。如果單純的進(jìn)行理論講解,難以讓學(xué)生理解清楚。如何把電路的工作過(guò)程形象地展示給學(xué)生,對(duì)于學(xué)生對(duì)電路現(xiàn)象的理解至關(guān)重要。
例如,在實(shí)驗(yàn)課中使用集成電路74160設(shè)計(jì)一個(gè)模4計(jì)數(shù)器,模為4即說(shuō)明計(jì)數(shù)器中應(yīng)有4個(gè)狀態(tài),共占有4個(gè)時(shí)鐘周期。在實(shí)驗(yàn)過(guò)程中,采用異步清零法設(shè)計(jì)的學(xué)生發(fā)現(xiàn),他們所設(shè)計(jì)的電路輸出狀態(tài)為000,001,010,011,100,其中,前4個(gè)狀態(tài)中每個(gè)狀態(tài)占用一個(gè)時(shí)鐘周期,第五個(gè)狀態(tài)中100的持續(xù)時(shí)間非常短,而后計(jì)數(shù)器的輸出狀態(tài)為000。面對(duì)這種實(shí)驗(yàn)現(xiàn)象,單純從理論的角度出發(fā)講解,學(xué)生接受起來(lái)很困難。下面,以此為例,通過(guò)在Max+Plus Ⅱ平臺(tái)下進(jìn)行原理圖設(shè)計(jì)和仿真分析,幫助學(xué)生進(jìn)行電路現(xiàn)象的觀察。
圖2是使用74160的異步清零功能設(shè)計(jì)的模4計(jì)數(shù)器。其中,A,B,C,D是并行數(shù)據(jù)輸入端;ENT和ENP是使能端;LDN是同步置數(shù)端;CLRN是異步清零端;QA,QB,QC,QD為計(jì)數(shù)器的輸出[9,10],仿真波形如圖3所示。
圖2 模4計(jì)數(shù)器電路原理圖
圖3 模4計(jì)數(shù)器輸出波形圖
從圖3中可以看出,當(dāng)ENT和ENP 接高電平時(shí),第一個(gè)計(jì)數(shù)脈沖到來(lái)時(shí)計(jì)數(shù)器從000開(kāi)始計(jì)數(shù),此后每來(lái)一個(gè)計(jì)數(shù)脈沖,計(jì)數(shù)器的輸出狀態(tài)加1,當(dāng)?shù)谖鍌€(gè)計(jì)數(shù)脈沖(例如在170 ns時(shí))到來(lái)時(shí),計(jì)數(shù)器的輸出為100,由于通過(guò)非門將QC信號(hào)反饋給CLRN,CLRN此時(shí)得到低電平,74160的異步清零端有效,則計(jì)數(shù)器立即被清零,計(jì)數(shù)器的輸出狀態(tài)為000,回到計(jì)數(shù)器的初始狀態(tài)。在此工作過(guò)程中,100狀態(tài)持續(xù)的時(shí)間非常短,與隨后出現(xiàn)的000狀態(tài)共同占有一個(gè)時(shí)鐘周期。通過(guò)對(duì)仿真波形的分析,學(xué)生能夠比較形象地理解“異步清零”的工作過(guò)程,也能夠解釋在實(shí)驗(yàn)過(guò)程中所觀察到的實(shí)驗(yàn)現(xiàn)象。
2.3 “開(kāi)放的”數(shù)字電子技術(shù)實(shí)驗(yàn)室
目前,我校數(shù)字電子技術(shù)課程的實(shí)踐環(huán)節(jié)主要是由實(shí)驗(yàn)課、課程設(shè)計(jì)構(gòu)成的。由于課時(shí)固定,學(xué)生的實(shí)際動(dòng)手機(jī)會(huì)有限,而數(shù)字電子技術(shù)課程是一門實(shí)踐性很強(qiáng)的課程,它主要是為學(xué)生今后從事電子設(shè)計(jì)打好基礎(chǔ)。如果學(xué)生沒(méi)有機(jī)會(huì)進(jìn)行實(shí)際操作,就無(wú)法進(jìn)行電子設(shè)計(jì),更談不上“設(shè)計(jì)好電路”。
將EDA技術(shù)與數(shù)字電子技術(shù)結(jié)合起來(lái),相當(dāng)于將數(shù)字電子技術(shù)實(shí)驗(yàn)箱“搬移”到電腦上,學(xué)生可以根據(jù)自身的情況,依托Max+Plus Ⅱ軟件平臺(tái),結(jié)合所學(xué)習(xí)的內(nèi)容,及時(shí)地進(jìn)行接近于實(shí)際電路的設(shè)計(jì)、仿真、分析,加深對(duì)理論的理解,若仿真結(jié)果不正確,學(xué)生可以在電腦上修改電路,不會(huì)造成硬件資源的浪費(fèi)。當(dāng)仿真結(jié)果完全正確時(shí),學(xué)生就可以非常放心地進(jìn)行實(shí)際電路的搭接、使用,這一過(guò)程可以將理論與實(shí)際真正聯(lián)系起來(lái)。通過(guò)這個(gè)“開(kāi)放的”數(shù)字電子技術(shù)實(shí)驗(yàn)室,可以激發(fā)學(xué)生的電子設(shè)計(jì)創(chuàng)作靈感,提高學(xué)生的創(chuàng)新能力和綜合素質(zhì)。
3 結(jié) 語(yǔ)
將數(shù)字電子技術(shù)與EDA技術(shù)結(jié)合,可以使學(xué)生不拘泥于只有靠“芯片+連線”才能設(shè)計(jì)數(shù)字電路的想法,開(kāi)闊了學(xué)生的設(shè)計(jì)思路。 通過(guò)EDA工具對(duì)電路進(jìn)行仿真,教師可以對(duì)學(xué)生難以理解的電路現(xiàn)象進(jìn)行直觀的講解,加深學(xué)生對(duì)理論知識(shí)的掌握。同時(shí),引入EDA技術(shù),可以使學(xué)生有更多的機(jī)會(huì)動(dòng)手設(shè)計(jì)電路,驗(yàn)證自己的想法,激發(fā)了學(xué)生的熱情,為設(shè)計(jì)復(fù)雜的數(shù)字系統(tǒng)打下基礎(chǔ)。充分發(fā)揮數(shù)字電子技術(shù)與EDA技術(shù)相輔相成的特點(diǎn),對(duì)“教”與“學(xué)”都有積極作用。
參考文獻(xiàn)
[1]李東生,尹學(xué)忠.改革傳統(tǒng)課程教學(xué),強(qiáng)化EDA和集成電路設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2005,22(4):1-2,5.
[2]曾湘英.在數(shù)字電路教學(xué)中應(yīng)用EDA技術(shù)[J].實(shí)驗(yàn)技術(shù)與管理,2006,23(5):87-89.
[3]袁新娣,楊漢祥.EDA在《數(shù)字電路》教學(xué)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2006,29(4):47-48,51.
[4]覃善華,歐陽(yáng)義芳,吳偉明,等.EWB在《數(shù)字電路》教學(xué)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2004,27(1):100-102.
[5]楊漢祥.數(shù)字電路課程交叉知識(shí)的教學(xué)研討與實(shí)踐[J].贛南師范學(xué)院學(xué)報(bào),2005(6):107-109.
[6]徐魯雄.數(shù)字電路課程建設(shè)的新觀點(diǎn)[J].計(jì)算機(jī)教育,2007(8):35-37.
[7]趙剛,張志亮,張菁,等.EDA技術(shù)簡(jiǎn)明教程[M].成都:四川大學(xué)出版社,2004.
[8]劉愛(ài)榮,王振成.EDA技術(shù)與CPLD/FPGA開(kāi)發(fā)應(yīng)用簡(jiǎn)明教程[M].北京:清華大學(xué)出版社,2007.
[9]楊志忠.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2004.
[10]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1998.