◆邵平凡
(武漢科技大學計算機科學與技術學院)
淺談Proteus VSM在數(shù)字邏輯課程教學中的應用
◆邵平凡
(武漢科技大學計算機科學與技術學院)
本文從數(shù)字邏輯課程的特點、現(xiàn)狀及教學需求出發(fā),介紹了引入Proteus VSM的必要性及其在實際教學過程中取得的效果,充分說明了Proteus VSM在該課程教學中的作用。
組合邏輯 時序邏輯 虛擬系統(tǒng)模型
數(shù)字邏輯是數(shù)字電路邏輯設計的簡稱,是計算機及相關專業(yè)的一門必修的專業(yè)基礎課,其主要內容是用數(shù)字電路進行數(shù)字系統(tǒng)邏輯設計,包括組合邏輯電路、時序邏輯電路及其混合邏輯電路的分析與設計技術。不管是什么樣的電子數(shù)字計算機,無非是由具有各種邏輯功能的邏輯部件組成的,但在設計過程中一定需要進行各種單元電路和系統(tǒng)整體的實驗和測試,以確保邏輯正確,時序無誤,并且性能良好。
需要實驗和測試,就需要相應的邏輯元器件來構建電路,還需要測量、測試及輔助分析用的儀器設備,當然也需要相應的電源、信號源等。如果一切都需要真材實料,毫無疑問是一般學習者無法解決的問題。因為學校的教學資源有限,即使是在校的大學生,實驗室的資源也不可能滿足其所有需求,對于校外的其他學習者就更加困難。因此,尋找一種接近實際的虛擬系統(tǒng)作為實現(xiàn)數(shù)字邏輯電路的分析與設計、實驗和測試的工具,會對學習者有很大的幫助,只有通過理論與實踐的結合,才可能加深學習印象,提高學習效果,減少設計錯誤,明確電路的設計性能。
Proteus VSM(Virtual System Model,虛擬系統(tǒng)模型)正好可以滿足學習者的這些需求,它是由英國Labcenter Electronics公司開發(fā)的一款EDA軟件,是目前世界上最先進、最完整的仿真平臺。Proteus軟件具有多種元件庫,其中的元器件大多均可直接用于實際電路的搭建,而且該軟件提供了多種與實際儀器儀表用法相似的虛擬儀器設備,還有各種信號源,幾乎可以完成各類數(shù)字邏輯電路的設計、測試和輔助分析工作。由于這些虛擬元器件、儀器設備和信號源可以隨意取用,既不需要花錢購買,又接近實際實物的效果,而且不需要維護,不會因為學習者的誤操作或使用不當而造成元器件和儀器設備的損壞,更不會影響到人身安全,而且仿真效果非常逼真。因此,不僅使任課老師可在課堂上以形象生動的仿真演示提高學生的學習興趣,而且可引導學生將相應實驗推廣至課外的任何地點。學習者可根據(jù)自己的需要,自行設計實驗項目,從系統(tǒng)提供的元件庫中找到相應的虛擬元件,形成自己的實驗電路,從系統(tǒng)提供的虛擬儀器中找出自己需要的儀器設備,從系統(tǒng)提供的信號源中隨意取得所需使用的各種信號源,從而實現(xiàn)對所需電路進行設計、測試和分析,有效地解決學習過程中的各種疑難問題,提高自己的實際設計能力。
組合邏輯電路是由與門、或門和非門等門電路組合形成的邏輯電路,對于一些常用的組合邏輯電路,許多IC芯片制造商已經提供了相應的集成電路芯片,即使是一些復雜的組合邏輯關系也可以通過常用IC芯片和一些輔助門電路組合而成。
所謂組合邏輯電路的分析,就是根據(jù)已知邏輯電路圖,找出組合邏輯電路的輸入與輸出關系,確定在什么樣的輸入取值下對應的輸出為1。當然,輸入通常是多個邏輯量,而輸出可以是1個或多個。
在對組合邏輯電路進行分析時,Proteus VSM提供了很好的仿真手段,如圖1(a)所示的組合電路,如果需要分析其輸入與輸出的邏輯關系,可以設計一些輔助電路如圖1(b),通過三個開關的按下與彈起為電路的三個輸入端A、B、C提供不同的輸入組合,觀察不同輸入所對應的兩個輸出端的邏輯電平,可列出真值表如表1所示。圖中所示的情況是:輸入A、B、C的值是1、0、1,而輸出 F2 的值是1,F(xiàn)1 的值是0。

圖1 組合電路及其分析方法

表1 圖1電路真值表
根據(jù)真值表可以寫出邏輯表達式:

從公式1可見,F(xiàn)1是在奇數(shù)個輸入為1時才輸出為1,而F2是兩個或三個輸入為1時才輸出1,這正是一位全加器的邏輯表達式。其中,F(xiàn)1為本位和,F(xiàn)2為向高位的進位。對以上邏輯表達式進行化簡可得:

這樣就與電路完全一致了。
組合邏輯電路的設計是組合邏輯電路分析的逆過程,即根據(jù)輸入與輸出的邏輯關系要求,設計出滿足符合要求的組合邏輯電路。
常用的組合邏輯電路包括譯碼器、編碼器、多路選擇器、比較器、加法器等,這些電路通常都有多種型號的IC芯片可供選擇。在實際應用中,組合邏輯電路的設計通常都采用常用的IC芯片來構建,必要時再配合一些輔助門電路,這樣的設計簡單可靠,設計方法可按常規(guī)方式進行,但對于設計出的組合邏輯電路是否正確,就必須通過實驗測試才能進一步確認,有了Proteus VSM,只需按設計電路圖將所設計的電路在Proteus的ISIS(Intelligent Schematic Input System,智能原理圖輸入系統(tǒng))中繪制出來,再配合一些輔助電路進行仿真,就可實現(xiàn)正確性的驗證了。
比如,設計一個8位二進制加法器,可以用兩片74LS283來實現(xiàn),如圖2(a)所示,具體電路的仿真結果如圖2(b)所示,在圖2(b)中兩個8位二進數(shù)分別為:A=00001111B=0FH,B=10011111B=9FH,相加的結果通過兩個數(shù)碼管顯示為AEH。用鼠標點擊構成數(shù)據(jù)輸入端的每一個LAGICSTATE圖標,就可以像改變圖1(b)的輸入開關狀態(tài)一樣,使每一位的值在0和1之間切換,從而實現(xiàn)對不同的兩組8位二進制數(shù)據(jù)進行相加運算,并將相應結果通過LED數(shù)碼管顯示出來。其實,即使不用LED數(shù)碼管,通過仿真電平的顏色顯示也可判斷其值(紅顏色為1,藍顏色為0)。比如,從圖2(b)可見,其輸出引腳8位的值,其從高位到低位的二進制數(shù)為1010 1110,所以顯示的十六進制值為AEH。從U2的C4腳輸出電平可見(用LOGIC PROB)顯示,沒有向高位進位。

圖2 8位加法器的設計與仿真
時序邏輯電路是由觸發(fā)器和門電路組成的具有記憶功能的邏輯電路,對時序邏輯電路的分析與設計采用Proteus VSM作為輔助手段,更能起到事半功倍的效果。
下面以設計一個六十進制計數(shù)器為例,簡要介紹其分析與設計過程。首先已知常用IC中有BCD計數(shù)器功能的IC芯片,如74HC160是同步預置數(shù),異步清0的十進制加法計數(shù)器,對于六十進制計數(shù),只需用兩片74HC160再配以少量輔助門電路即可完成。但在設計過程中,方式方法可以有多種,比如兩個BCD計數(shù)之間的計數(shù)過程是同步還是異步、如何處理進位等。

圖3 六十進制計數(shù)器設計之一
以圖3(a)為例,其計數(shù)過程就是異步方式,其十位的計數(shù)脈沖單純由個位的進位提供。這種方式在仿真時,有可能出現(xiàn)錯誤。其原因有二:一是由于個位的進位RCO經反相后給十位作為計數(shù)脈沖。剛開始工作時,由于個位的RCO為0,所以經反相后為1,這就使得十位得到一個不應有的進位而產生了一個誤計數(shù),其仿真如圖3(b)所示,還沒有按過按鈕時,其計數(shù)顯示結果居然是10,顯然這就是由于十位的誤計數(shù)造成的;二是由于個位的進位RCO=D3&D0&T,當計數(shù)值由0111(1000時,因電路中的競爭冒險可能存在短暫的D3=D0=1的時刻,也可能導致十位計數(shù)器誤計數(shù)。因此需要對電路進行改進,將十位的計數(shù)脈沖改成同步方式,即計數(shù)脈沖同時供給個位和十位,而十位的計數(shù)使能信號由個位的RCO輸出提供,十位的回零裝入信號LOAD設置為個位的RCO和十位的Q2、Q0三者的與非提供。改進后的電路如圖4所示,在剛開始仿真時,計數(shù)結果顯示為00,每按一次按鈕,計數(shù)值加1,計到59時,再按一下按鈕,則計數(shù)顯示回零,這樣就達到了預期的設計要求。

圖4 六十進制計數(shù)器設計之二
課程設計是數(shù)字邏輯課程的一次綜合應用實訓,是對本課程的各個知識點的溶匯貫通,在以往的課程設計中,由于實驗箱的數(shù)量有限,元器件也不可能滿足所有課程設計者的要求,所以學生的課程設計大多停留在理論設計上,無法進行真實的正確性驗證。通過引入Proteus VSM后,可以滿足所有愿意參與在該虛擬平臺上進行課程設計的學生要求。在課程設計的驗收過程中,十多個題目都有人參與,設計結果多種多樣,但都可以保證在虛擬系統(tǒng)環(huán)境下的運行正確,學生的興趣很大,設計完全可達到預定的要求。如圖5所示為某個學生設計的數(shù)字時鐘的仿真運行效果。

圖5 數(shù)字時鐘設計方案之一
數(shù)字邏輯是一門實踐性很強的課程,以往由于實驗器材和實驗設備的不足,使學生的動手能力不能得到充分的發(fā)揮。采用了Proteus VSM后,可以很大程度彌補這一缺失,使教學過程與實踐環(huán)節(jié)有效結合,既提高了學生的學習興趣,同時也鍛煉了學生的實踐操作能力。這得益于Proteus軟件擁有豐富的元器件庫、強大的原理圖繪制功能、逼真的仿真效果和品種齊全而且精確可靠的各種虛擬儀器儀表,因此大大地提高了教學效果,緩解的實驗室的壓力。特別是對于改善電類課程的遠程教育和多媒體教育效果,更是有著不可估量的好處。
實際上,Proteus VSM不僅可以實現(xiàn)諸如數(shù)字邏輯這樣的硬件電路的設計與仿真,而且可以軟、硬件結合,因為Proteus軟件還提供了對多種系列的單片機系統(tǒng)的支持,并且還支持第三方軟件的編譯和調試環(huán)境,如KeilμVision2~4。因此,在數(shù)字邏輯課程中就掌握了Proteus軟件的應用,也就為諸如計算機組成原理、單片機技術、接口技術、嵌入式系統(tǒng)等后續(xù)課程打下了良好的基礎。