胡偉
(湖南第一師范學(xué)院,湖南 長沙 410205)
組合邏輯電路中競爭冒險的虛擬仿真實驗設(shè)計
胡偉
(湖南第一師范學(xué)院,湖南 長沙 410205)
競爭冒險現(xiàn)象是組合邏輯電路工作狀態(tài)轉(zhuǎn)換過程中經(jīng)常出現(xiàn)的現(xiàn)象,而實驗檢測法是最為可靠的競爭冒險檢測方法,通過以Multisim軟件為平臺進行虛擬的仿真實驗,可以形象生動地展示競爭冒險現(xiàn)象及其消除方法。
組合邏輯電路;競爭冒險;Multisim;虛擬仿真
1.1 組合邏輯電路中競爭冒險
我們在進行邏輯電路的設(shè)計和制作時,常常出現(xiàn)設(shè)計上沒有原理性錯誤,但實際構(gòu)成的電路輸出端卻出現(xiàn)違背穩(wěn)態(tài)下邏輯關(guān)系的尖峰脈沖,這是由于在進行邏輯設(shè)計時都是將構(gòu)成邏輯的元件作為理想的元件進行設(shè)計的。但在實際中所有的邏輯門都存在傳輸延遲,且不同通路上門的級數(shù)也不同,所有的信號從輸入到穩(wěn)定也需要一定的上升時間和下降時間。因此,在組合邏輯電路的輸出波形中就出現(xiàn)了違反原設(shè)計的尖脈沖波形的現(xiàn)象,即競爭冒險。
在組合邏輯電路中,如果由于競爭冒險而產(chǎn)生干擾脈沖,勢必會對敏感負載產(chǎn)生不良影響,甚至導(dǎo)致誤操作,如干擾脈沖可以使寄存器產(chǎn)生誤操作,丟失儲存的數(shù)據(jù),還可以使計數(shù)器產(chǎn)生錯誤計數(shù)等等。競爭冒險有可能引起控制對象的誤動作,導(dǎo)致系統(tǒng)癱瘓,造成事故,所以必須采取措施予以消除。
1.2 組合邏輯電路中競爭冒險的檢測方法
1.2.1 邏輯函數(shù)法
1.2.2 逐級真值表法
若是單輸入變量的較大規(guī)模電路,最直觀的方法就是逐級列出電路的真值表,并找出哪些門的輸入信號會發(fā)生競爭。然后判斷是否會在電路的輸出端產(chǎn)生干擾脈沖。這種方法雖然簡單,但局限性太大,因為多數(shù)情況下都有兩個以上輸入變量同時改變狀態(tài)的可能性。如果輸入變量的數(shù)目很多,就更難于從邏輯函數(shù)式上簡單地找出所有產(chǎn)生競爭冒險現(xiàn)象的情況。
1.2.3 卡諾圖法
在組合邏輯電路的輸入變量為多個變量的情況下,可以利用卡諾圖來判斷當兩個以上的變量同時改變狀態(tài)時,電路是否存在競爭冒險現(xiàn)象。把邏輯函數(shù)化為最小項之和形式,然后得到該邏輯函數(shù)的卡諾圖。若在卡諾圖中存在兩個相切但不相交的圈(可以是“1”構(gòu)成的圈,也可以是“0”構(gòu)成的圈),則會產(chǎn)生競爭冒險現(xiàn)象[1]。
1.2.4邏輯模擬法
若輸入變量較多,電路規(guī)模較大,人工進行分析非常復(fù)雜,可以采取計算機輔助分析的方法(CAA)。即通過編寫程序代碼,在計算機上運行數(shù)字電路的模擬程序,以實現(xiàn)在計算機上數(shù)字電路運行的模擬,迅速地判斷出電路是否會出現(xiàn)競爭冒險現(xiàn)象而輸出尖峰脈沖。
1.2.5 實驗觀察法
將組合邏輯電路輸入端的信號應(yīng)包含的所有可能的輸入狀態(tài)的變化都輸入到示波器,用示波器來觀察電路的輸出端是否存在因競爭冒險現(xiàn)象而產(chǎn)生的尖峰脈沖。
以上幾種方法雖然提供了檢查各種電路競爭冒險的途徑,但即使使用計算機輔助分析手段檢查過的電路,往往還需要經(jīng)過實驗的方法檢驗,才能最終確定電路是否存在競爭冒險現(xiàn)象。因為在用計算機軟件模擬數(shù)字電路時,只能采用標準化的典型參數(shù),有時還要做一些近似,得到的模擬結(jié)果有時和實際電路的工作狀態(tài)會有差異。因此,只有實驗檢查的結(jié)果才能得出最終的結(jié)論,但是真正的實驗觀察法所需實驗設(shè)備較多,操作相對比較繁瑣,我們可以Multisim為平臺,方便靈活地進行虛擬仿真實驗,可以更好地檢測到冒險競爭現(xiàn)象,同時,也有利于教師進行形象生動地課堂教學(xué)活動,幫助學(xué)生將理論與實際聯(lián)系起來。
Multisim仿真軟件是一種專門用于電子電路設(shè)計與仿真的EDA工具軟件,它改變了以往以變量估算和電路實驗為基礎(chǔ)的電路設(shè)計方法,能完成從電路的仿真設(shè)計到電路版圖生成的全過程,從而為電子系統(tǒng)的設(shè)計、電子產(chǎn)品的開發(fā)和電子系統(tǒng)工程提供了一種全新的手段和便捷的途徑。與其他EDA軟件相比,Multisim仿真軟件具有如下特點[2]:
(一)Multisim具有直觀友好的仿真界面,將電路原理圖的創(chuàng)建、電路的仿真分析和分析結(jié)果的輸出都集成在一起,采用直觀的圖形界面創(chuàng)建電路,在計算機屏幕上模仿真實實驗室的工作臺,繪制電路圖需要的元器件、電路仿真需要的測試儀器均可直接從屏幕上選取,整個操作界面就像一個實驗工作臺,與實際操作近乎相同。無論是對工程設(shè)計的模擬還是對現(xiàn)場的檢測都體現(xiàn)出了強大的功能。
(二)Multisim擁有龐大的元器件庫(如信號源、電路基本元器件、模擬集成電路、數(shù)字集成電路、指示部件、控制部件等)和大量的仿真測試儀表(如示波器、萬用表、瓦特計、掃描儀、失真儀、網(wǎng)絡(luò)分析儀、邏輯轉(zhuǎn)換儀、字信號發(fā)生器等),另外,Multisim 10還增加一些3D虛擬原件,可組成三維立體仿真電路,不僅可以進行分析研究,而且這些儀器儀表的外觀和使用與真實儀器極為相似,可以方便地用于教學(xué)演示。
(三)Multisim具有完備的分析手段??蓪δM、數(shù)字和射頻電路進行各種分析,包括直流工作點分析、交流分析、瞬態(tài)分析、傅里葉分析、噪聲分析、失真分析、參數(shù)掃描分析、溫度掃描分析、零極點分析、傳輸函數(shù)分析、靈敏度分析、最壞情況分析、蒙特卡羅分析、直流掃描分析、批處理分析、用戶定義分析、噪聲圖形分析和射頻分析等17種仿真分析方法,基本上能滿足一般電子電路的分析設(shè)計要求。
(四)Multisim具有超強的仿真能力。支持模擬電路、數(shù)字電路、模擬/數(shù)字混合電路以及射頻電路的設(shè)計仿真。既可以分別對模擬電子系統(tǒng)和數(shù)字電子系統(tǒng)進行仿真,也可以對數(shù)字電路和模擬電路混合在一起的電子系統(tǒng)進行仿真分析。Multisim 10還引入了單片機仿真內(nèi)容,支持匯編語言和C語言,使得虛擬仿真顯得更加靈活實用。
在數(shù)字電路中競爭冒險對數(shù)字電路有諸多的危害,那么我們可以通過以下幾種方法消除競爭冒險。
3.1 修改邏輯設(shè)計消除法的虛擬仿真實驗
在圖1a中,根據(jù)組合邏輯電路輸出F=AB+BC,由于A=C=1,則F=B+B=1,即無論輸入信號如何變化,輸出F應(yīng)恒為高電平。但是通過虛擬仿真實驗可以發(fā)現(xiàn),在輸入信號的下降沿,電路有負的窄脈沖輸出,此為競爭冒險現(xiàn)象,如圖1b所示。我們可以通過增加冗余項AC,將其函數(shù)修改為F=AB+BC+AC,如圖1c所示。同樣,在A=C=1的情況下,無論信號如何變化,輸出始終保持為高電平,并且通過實驗可以觀察到,經(jīng)過增加冗余項,改變邏輯設(shè)計后的輸出已經(jīng)沒有窄脈沖了,而是恒定的電平,如圖1d所示[3]。
圖1 修改邏輯設(shè)計消除法的虛擬仿真實驗
用增加多余項的方法修改邏輯設(shè)計,可以消除一些競爭冒險現(xiàn)象,但是,這種方法的適用范圍是有限的,修改后的電路有可能會出現(xiàn)新的冒險競爭現(xiàn)象。
3.2 引入脈沖消除法的虛擬仿真實驗
引入脈沖可以分為引入封鎖脈沖和引入選通脈沖兩種方式。引入封鎖脈沖是通過在門電路的輸入端加一封鎖脈沖,要求封鎖脈沖與輸入信號的狀態(tài)轉(zhuǎn)換同步,且封鎖脈沖的寬度大于或等于電路從一個穩(wěn)定狀態(tài)到另一個穩(wěn)定所需要的時間。那么,在信號狀態(tài)轉(zhuǎn)換的時間內(nèi),將可能產(chǎn)生尖峰脈沖輸出的門封鎖,電路的輸出就不會出現(xiàn)競爭冒險現(xiàn)象。而引入選通脈沖,則是在電路的輸入端引入一個取樣脈沖,由于取樣脈沖的作用時間取在電路達到新的穩(wěn)定狀態(tài)之后,使電路的輸出端不會出現(xiàn)尖峰脈沖。在此,我們通過Multisim仿真通過引入封鎖脈沖來消除競爭冒險現(xiàn)象。
如圖2a組合邏輯電路,邏輯函數(shù)F=AB·AC,由于B=C=1,所以F=A·A=1,說明輸出端的電平應(yīng)恒為1,保持高電平。通過虛擬實驗觀察,發(fā)現(xiàn)輸出信號有窄負脈沖,如圖2b所示,說明有競爭冒險現(xiàn)象,我們可通過圖2c中的方式引入封鎖脈沖來消除。通過圖2b可以觀察到競爭冒險現(xiàn)象是出現(xiàn)在信號脈沖源V3變化的負邊沿時刻,若在此時刻的或門的一輸入端輸入高電平,那無論此時或門的另外一輸入端(即圖2a原輸出端)為何值,輸出端都為高電平,這就完成了此時刻對輸出的封鎖,即使有競爭現(xiàn)象也能保證在最終的輸出端維持高電平。因此,在虛擬實驗中,我們在圖2c中加入了封鎖脈沖源V1,該脈沖源僅在信號脈沖源V3的負邊沿時刻(即出現(xiàn)競爭時刻)的前后短時間內(nèi)產(chǎn)生窄脈沖來封鎖或門,使最終輸出維持在高電平,從而達到消除競爭冒險的效果,實驗結(jié)果如圖2d所示。
圖2 引入脈沖消除法的虛擬仿真實驗
通過引入脈沖消除競爭冒險的方法簡單易行,而且不需要增加電路元件,但選通信號的作用時間和極性等一定要合適,若時間過長,會影響到電路的非競爭冒險時間段正常輸出而產(chǎn)生錯誤的結(jié)果。
另外,對于速度較慢的組合邏輯電路,由于競爭冒險而產(chǎn)生的尖峰脈沖一般情況下很窄,所以可采用在電路輸出端并聯(lián)電容的方法消除尖峰脈沖,并用門電路的輸出端電阻和電容構(gòu)成低通濾波器,對很窄的尖峰脈沖能起到平波的作用,消除干擾脈沖。雖然此方法簡單易行,但增加了輸出電壓波形的上升時間和下降時間,是波形變壞,接入電容具體值較難確定,要通過實驗來測試[4]。
利用軟件Multisim構(gòu)建虛擬仿真模擬實驗平臺,可讓學(xué)生模擬操作使用。該實驗不但簡單易行,具有交互性、可操作性,真實感與實際的儀器基本相同,元件選擇范圍廣泛,數(shù)修改方便。通過該實驗不但能夠清晰地觀察到實際實驗中難以觀察到的競爭冒險現(xiàn)象,而且可以方便地通過實驗方法消除競爭冒險現(xiàn)象,理論聯(lián)系實際,能極大地提高教學(xué)效果。也為真實的實驗打下基礎(chǔ),避免實際操作中元件的損耗,使電路調(diào)試快捷方便,減少儀器設(shè)備的損壞,提高了教學(xué)質(zhì)量[5]。
[1]張京英.組合邏輯電路中的競爭冒險現(xiàn)象的判斷和消除 [J].青海師范大學(xué)學(xué)報:自然科學(xué)版,2003,(2):43-44.
[2]黃培根,任清褒.Multisim 10計算機虛擬仿真實驗室[M].北京:電子工業(yè)出版社,2008.
[3]從宏壽,李紹銘.電子設(shè)計自動化——Multisim在電子電路與單片機中的應(yīng)用[M].北京:清華大學(xué)出版社,2008.
[4]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第四版)[M].北京:高等教育出版社,1998.
[5]田野,孫宏寧,祖大鵬.基于Multismi V7平臺的組合邏輯電路中競爭冒險的分析[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報,2004,(4).
Design of Virtual Simulation for Race and Hazard in Combinational Logic Circuit
HU Wei
(Hunan First Normal University,Changsha,Hunan 410205)
Race and hazard is a common phenomenon in the working state transition process of combinational logic circuit.The method of experiment examination is the most reliable one.By virtual simulation based on Multisim,the race and hazard phenomenon and elimination are displayed vividly.
combinational logic circuit;race and hazard;Multisim;virtual simulation
TN791
A
1674-831X(2010)05-0152-05
2010-08-20
湖南第一師范學(xué)院院級課題(XYS09N06)
胡 偉(1978- ),男,湖南瀏陽人,湖南第一師范學(xué)院講師,碩士。
[責任編輯:葛春蕃]