曹立杰,李松松
摘 要:針對目前電子信息工程專業《數字電子技術》課程和《EDA技術》課程相結合的研究比較少的現狀,對兩課程相結合的益處進行了探討。通過介紹常用的EDA軟件Max+Plus Ⅱ,結合例子,通過仿真分析得出EDA技術與數字電子技術相結合具有如下三點益處:實現硬件電路設計軟件化,分析疑難電路現象,實現“開放”的數字電路實驗室。通過將兩課程相結合,可以使教師對理論知識的講解更透徹,使學生有更多的機會設計并驗證電路,對“教”與“學”都具有積極作用。
關鍵詞:數字電子技術;EDA技術;結合;仿真
中圖分類號:TP331.2文獻標識碼:A
文章編號: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
在信息社會中,數字化是電子產業發展的必然趨勢,因此在電子信息及相關專業的教學中也越來越看重數字技術,數字電子技術作為數字技術中一門極其重要的學科基礎課在本科教學中很受重視。EDA(Electronic Design Automation)技術作為數字電子技術的延伸,已經引入到電子信息類本科教學中[1-3]。目前,單獨針對數字電子技術課程和EDA課程的教學改革比較多,但是對于將兩門課程結合起來有何優勢的研究還有待教師探索[4-6]。因此,通過使用常用的EDA工具軟件,結合實例,就數字電子技術與EDA技術相結合做一探討。
1 常用EDA工具軟件簡介
常用的EDA軟件有加拿大IIT公司推出的EWB(Electronics WorkBench),在EWB基礎上形成的Multisim以及美國Altera公司開發的Max+Plus Ⅱ [7]。
目前,我校EDA實驗室所使用的軟件是美國Altera公司開發的Max+Plus Ⅱ,所以本文中的例子都是基于此平臺進行的。
Max+Plus Ⅱ(Multiple Array and Programming Logic User System)具有Windows操作系統的程序界面,采用全菜單操作和鼠標操作方式,是一個方便、易學易用、功能全面的EDA工具。Max+Plus Ⅱ支持原理圖、VHDL語言和Verilog語言文本文件,以及波形EDIF等格式化的文件作為設計輸入[7]。使用Max+Plus Ⅱ進行電路設計的流程簡單,經過設計輸入、設計編譯、設計仿真、下載即可完成。
2 數字電子技術與EDA技術相結合的幾點益處
2.1 將數字電子技術中難以實現的硬件設計轉換為軟件設計
在傳統的數字電子技術教學中,講授組合邏輯電路設計時,首先分析設計要求,按照要求列出真值表;然后進行邏輯函數表達式的化簡,得出表達形式最簡的輸出函數表達式,最后畫出邏輯圖。當輸入變量比較少時,這種方法無疑是簡單有效的,但是,當輸入變量比較多時,這種方法就顯得很吃力。下面以設計8位奇校驗電路為例進行說明。
若采用傳統的設計方案,首先需要畫出8變量真值表,8變量真值表需要28行(即256行),這就非常麻煩,而邏輯函數的化簡更是難上加難。如果借助Max+Plus Ⅱ軟件,使用VHDL語句,按照8位奇校驗邏輯功能,用軟件方法來實現硬件設計。8位奇校驗電路的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位輸入信號;y表示奇校驗輸出,通過觀察該程序可以發現,程序邏輯性強,簡單易讀。
對上述程序進行仿真,仿真波形如圖1所示。
圖1 8位奇校驗電路仿真波形
通過觀察可以看出,該仿真波形完全符合奇校驗邏輯功能。在Max+Plus Ⅱ軟件下進行綜合,可以得到8位奇校驗電路的邏輯符號,當其他的設計工作中需要用到8位奇校驗功能時,可以直接調用此元器件,不必重新設計,簡化了設計工作。
通過EDA技術實現數字電路設計,可以讓學生嘗試用軟件代替硬件,實現硬件電路軟件化。學生應用EDA技術除了可以實現小規模的電子電路設計,還可以通過對CPLD,FPGA編程,設計復雜的電路系統。
2.2 應用Max+Plus Ⅱ 分析電路現象
在日常生活中,數字電路隨處可見,這就要求理論教學必須與實踐教學相結合,達到理論聯系實際的目的。但是通過總結學生的學習情況發現,學生并不能很好地將理論與實際聯系起來,特別是當學生設計好電路進行實驗時,經常出現與他們自己分析的理論結果不一致的現象。如果單純的進行理論講解,難以讓學生理解清楚。如何把電路的工作過程形象地展示給學生,對于學生對電路現象的理解至關重要。
例如,在實驗課中使用集成電路74160設計一個模4計數器,模為4即說明計數器中應有4個狀態,共占有4個時鐘周期。在實驗過程中,采用異步清零法設計的學生發現,他們所設計的電路輸出狀態為000,001,010,011,100,其中,前4個狀態中每個狀態占用一個時鐘周期,第五個狀態中100的持續時間非常短,而后計數器的輸出狀態為000。面對這種實驗現象,單純從理論的角度出發講解,學生接受起來很困難。下面,以此為例,通過在Max+Plus Ⅱ平臺下進行原理圖設計和仿真分析,幫助學生進行電路現象的觀察。
圖2是使用74160的異步清零功能設計的模4計數器。其中,A,B,C,D是并行數據輸入端;ENT和ENP是使能端;LDN是同步置數端;CLRN是異步清零端;QA,QB,QC,QD為計數器的輸出[9,10],仿真波形如圖3所示。
圖2 模4計數器電路原理圖
圖3 模4計數器輸出波形圖
從圖3中可以看出,當ENT和ENP 接高電平時,第一個計數脈沖到來時計數器從000開始計數,此后每來一個計數脈沖,計數器的輸出狀態加1,當第五個計數脈沖(例如在170 ns時)到來時,計數器的輸出為100,由于通過非門將QC信號反饋給CLRN,CLRN此時得到低電平,74160的異步清零端有效,則計數器立即被清零,計數器的輸出狀態為000,回到計數器的初始狀態。在此工作過程中,100狀態持續的時間非常短,與隨后出現的000狀態共同占有一個時鐘周期。通過對仿真波形的分析,學生能夠比較形象地理解“異步清零”的工作過程,也能夠解釋在實驗過程中所觀察到的實驗現象。
2.3 “開放的”數字電子技術實驗室
目前,我校數字電子技術課程的實踐環節主要是由實驗課、課程設計構成的。由于課時固定,學生的實際動手機會有限,而數字電子技術課程是一門實踐性很強的課程,它主要是為學生今后從事電子設計打好基礎。如果學生沒有機會進行實際操作,就無法進行電子設計,更談不上“設計好電路”。
將EDA技術與數字電子技術結合起來,相當于將數字電子技術實驗箱“搬移”到電腦上,學生可以根據自身的情況,依托Max+Plus Ⅱ軟件平臺,結合所學習的內容,及時地進行接近于實際電路的設計、仿真、分析,加深對理論的理解,若仿真結果不正確,學生可以在電腦上修改電路,不會造成硬件資源的浪費。當仿真結果完全正確時,學生就可以非常放心地進行實際電路的搭接、使用,這一過程可以將理論與實際真正聯系起來。通過這個“開放的”數字電子技術實驗室,可以激發學生的電子設計創作靈感,提高學生的創新能力和綜合素質。
3 結 語
將數字電子技術與EDA技術結合,可以使學生不拘泥于只有靠“芯片+連線”才能設計數字電路的想法,開闊了學生的設計思路。 通過EDA工具對電路進行仿真,教師可以對學生難以理解的電路現象進行直觀的講解,加深學生對理論知識的掌握。同時,引入EDA技術,可以使學生有更多的機會動手設計電路,驗證自己的想法,激發了學生的熱情,為設計復雜的數字系統打下基礎。充分發揮數字電子技術與EDA技術相輔相成的特點,對“教”與“學”都有積極作用。
參考文獻
[1]李東生,尹學忠.改革傳統課程教學,強化EDA和集成電路設計[J].實驗技術與管理,2005,22(4):1-2,5.
[2]曾湘英.在數字電路教學中應用EDA技術[J].實驗技術與管理,2006,23(5):87-89.
[3]袁新娣,楊漢祥.EDA在《數字電路》教學中的應用[J].現代電子技術,2006,29(4):47-48,51.
[4]覃善華,歐陽義芳,吳偉明,等.EWB在《數字電路》教學中的應用[J].現代電子技術,2004,27(1):100-102.
[5]楊漢祥.數字電路課程交叉知識的教學研討與實踐[J].贛南師范學院學報,2005(6):107-109.
[6]徐魯雄.數字電路課程建設的新觀點[J].計算機教育,2007(8):35-37.
[7]趙剛,張志亮,張菁,等.EDA技術簡明教程[M].成都:四川大學出版社,2004.
[8]劉愛榮,王振成.EDA技術與CPLD/FPGA開發應用簡明教程[M].北京:清華大學出版社,2007.
[9]楊志忠.數字電子技術基礎[M].北京:高等教育出版社,2004.
[10]閻石.數字電子技術基礎[M].北京:高等教育出版社,1998.