苗長新,李桂林
摘 要:“數(shù)字電路”課程中的“組合邏輯電路中的競爭與冒險現(xiàn)象”這部分內(nèi)容是課堂講解的一個重點和難點。為了加深學(xué)生對該抽象知識點的理解和掌握,以最簡單的2輸入與門為例,通過設(shè)計輸入、編譯、時序仿真、查看定時關(guān)系等操作步驟,介紹一種將Max+plus Ⅱ引入這一講的具體教學(xué)方法。合理設(shè)置輸入波形以后,通過Max+plus Ⅱ時序仿真的結(jié)果,不僅可以觀察到輸出端產(chǎn)生的“毛刺”,還可以通過計算找到產(chǎn)生的原因并采取有效的方法消除。課堂實踐證明,此方法取得了良好的教學(xué)效果,大大提高了授課效率。 關(guān)鍵詞:組合電路;競爭與冒險現(xiàn)象;毛刺;Max+plus Ⅱ;時序仿真
中圖分類號:TN702文獻標(biāo)識碼:A
文章編號:1004-373X(2009)19-128-03
Application of Max+plus Ⅱ in Class Teaching of the Phenomenon of Race and Competition
MIAO Changxin1,LI Guilin2
(1.Information and Electrical Engineering,China University of Mining and Technology,Xuzhou,221008,China;
2.Electronic Engineering and Automation,Xuzhou Normal University,Xuzhou,221116,china)
Abstract:The phenomenon of the race and competition is very important and difficult in teaching the″Digital Circuit″course.In order to improve the students′ understanding and griping on the abstract point,taking an ″2 gate″ as example,through the steps of design input,compiler,time sequence simulation and timing.An assistant method by applying Max+plus Ⅱ to the class teaching is introduced.Through the timing simulation result,it can not only view the ″hurr″ in the output,but also find the reason by computing and avoid it effectively.It proves that this method has improved the teaching quality greatly.
Keywords:combinational circuit;phenomenon of the race and competition;burr;Max+plus Ⅱ;time sequence simulation
0 引 言
組合邏輯電路中的“競爭與冒險”現(xiàn)象是“數(shù)字電路”課程中的一個重要知識點,對該知識點的正確理解和掌握,有助于學(xué)生在設(shè)計復(fù)雜數(shù)字系統(tǒng)時,正確判斷是否存在冒險及如何避免冒險。對該內(nèi)容的講解,一般方法是:在假設(shè)存在一定傳輸延遲時間的基礎(chǔ)上,分析當(dāng)多路信號同時發(fā)生變化時,輸出產(chǎn)生 “毛刺”的原因。這種教學(xué)方法只能讓學(xué)生對該知識點的理解停留在表面,為了加深學(xué)生對該內(nèi)容的理解和掌握,更大地提高授課效率,筆者嘗試以Max+plus Ⅱ軟件為工具,采用直接演示操作的方式[1,2]來講解該部分內(nèi)容。教學(xué)實踐證明,由于Max+plus Ⅱ軟件操作簡單,并且它提供了很好的仿真及定時分析的作用,使得學(xué)生能夠理論聯(lián)系實際地加以學(xué)習(xí)和思考,從而對組合電路競爭與冒險現(xiàn)象的成因及消除有了更清晰的認識。
1 組合邏輯電路的競爭與冒險現(xiàn)象與Max+plus Ⅱ
“競爭與冒險現(xiàn)象”產(chǎn)生的關(guān)鍵原因是導(dǎo)線和單元器件造成的信號傳輸延時,同時當(dāng)輸入多路信號的電平值發(fā)生變化時,在信號變化的瞬間造成組合邏輯的輸出有先后順序,并不是同時變化,往往會出現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為“毛刺”, 如果一個組合邏輯電路中有“毛刺”出現(xiàn),就說明該電路存在“競爭冒險”現(xiàn)象[3-5]。
Max+plus Ⅱ是美國Altera公司推出的PLD開發(fā)系統(tǒng),利用該軟件系統(tǒng)提供的原理圖編輯器、編譯器、仿真器及定時分析器,可以很方便地觀察輸出電路中的“毛刺”,找出產(chǎn)生的原因并消除它[6,7]。
2 Max+plus Ⅱ在“競爭與冒險現(xiàn)象”的課堂教學(xué)中的應(yīng)用
課堂上以最簡單的與門為例進行操作演示說明。
2.1 原理圖輸入
打開Max+plus Ⅱ軟件,新建一個原理圖文件(Graphic Editor),將兩輸入與門(and2)及兩個輸入端口(input)及一個輸出端口(output)從Symbol Libraries 中調(diào)出,連線,并將端口分別命名為A,B,C,如圖1所示。電路設(shè)計好之后,保存文件并檢查錯誤(“File”→“Projec”“t”→“save✓”)。
圖1 兩輸入與門設(shè)計原理圖
2.2 設(shè)計編譯
首先打開菜單“Assign”→“Device”,為所設(shè)計的電路指定某個目標(biāo)器件為FLEX10K系列,型號為EPF10k10lc84-4,如圖2所示。然后打開“Assign”→“Pin/Location/Chip”給節(jié)點A,B,C分別分配引腳為1,2,3,如圖3所示。
圖2 選擇器件(Device)對話框
圖3 分配引腳對話框
然后運行編譯器(Compiler),因為只有進行時序仿真才能觀察到“毛刺”現(xiàn)象,所以,在編譯前要設(shè)定時序仿真(Processing→Timing SNF Extractor),編譯器將進行錯誤檢查、網(wǎng)表提取、邏輯綜合、器件適配,并產(chǎn)生仿真文件。
2.3 時序仿真
Max+plus Ⅱ支持功能仿真和時序仿真。時序仿真是在選擇了具體器件并完成布局布線后進行的包含定時關(guān)系的仿真[8],只有通過時序仿真才可能查看到競爭與冒險現(xiàn)象。
新建一個波形圖文件(Waveform Editor),因為要觀察由于競爭而產(chǎn)生的“毛刺”現(xiàn)象,所以這里要注意設(shè)置一個信號同時發(fā)生變化的時刻,然后運行仿真器(Simulator),添加的輸入波形及仿真運行結(jié)果如圖4所示。
圖4 時序仿真波形圖
由仿真結(jié)果可以很清楚地看到,輸出C的波形有一處為“毛刺”,即理論應(yīng)該為邏輯0,可它卻為邏輯1。
2.4 毛刺產(chǎn)生的原因及寬度計算
Max+plus Ⅱ提供的定時分析器(Timing Analyzer)可以用來分析所設(shè)計電路的時間性能,打開其中的延時矩陣分析模式,見圖5,可以查看源節(jié)點和目標(biāo)節(jié)點之間的傳播延時。
圖5 傳播延時矩陣
由圖5可得知:由A傳輸?shù)紺所造成的傳輸延遲時間為123 ns,由B輸出到C所造成的傳輸延遲時間為12.8 ns,假設(shè)與門的內(nèi)部延時是0.2 ns,則,對信號A進行簡單計算:
信號A傳輸?shù)紺的總延遲時間=與門內(nèi)部延遲時間+連線延遲時間=12.3 ns
連線延遲時間=12.1 ns
對信號B進行簡單計算:
信號B傳輸?shù)紺的總延遲時間=與門內(nèi)部延遲時間+連線延遲時間=12.8 ns
連線延遲時間 = 12.7 ns
那么,如果假定在time=0.0時刻,信號A由邏輯0值向邏輯1值跳變,信號B由邏輯1值向邏輯0值跳變,則當(dāng)time=12.1 ns時,與門輸入端A的值為1,輸入端B的值也為1,這使得輸出C在time=12.1+0.2=12.3 ns時刻出現(xiàn)邏輯值1,即為圖5上的“毛刺”,該邏輯1值維持的時間為time=12.7-12.1=0.6 ns(即毛刺寬度為0.6 ns)。
2.5 毛刺消除
消除毛刺的方法很多,比如輸出端引入D觸發(fā)器、輸入端引入選通脈沖等[9,10],圖6即為引入選通脈沖后,仿真得出的波形。從圖6可以看出,通過控制選通脈沖P的低電平時間,并保證在信號進入穩(wěn)態(tài)時,在P高電平期間可使門電路有正常的輸出,能很好地消除“毛刺 ”。
圖6 引入選通脈沖P后的仿真波形
3 結(jié) 語
在同一個教學(xué)內(nèi)容的學(xué)習(xí)中,可能有若干個學(xué)習(xí)環(huán)節(jié), 而不同的學(xué)習(xí)環(huán)節(jié)其學(xué)習(xí)任務(wù)和目標(biāo)是不同的,這
就帶來了教學(xué)方法的多樣性和綜合性。有針對性的、多樣化的教學(xué)手段與方法可以大大提高與改善教學(xué)效果,開拓學(xué)生思路。本文即介紹了一種將Max+plus Ⅱ引入數(shù)字電路“組合電路競爭與冒險現(xiàn)象”這一講的教學(xué)方法,實踐證明,該方法取得了良好的教學(xué)效果。
參考文獻
[1]劉磊.Matlab在“數(shù)字電路”課程教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報,2008,30(5):79-81.
[2]王珺.NS-2網(wǎng)絡(luò)仿真在“寬帶交換技術(shù)”教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報,2008,30(5):73-75.
[3]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].5版.北京:高等教育出版社,2008.
[4]劉軍,楊悅,于湘珍.數(shù)字電路設(shè)計中競爭冒險的分析與研究[J].現(xiàn)代電子技術(shù),2007,30(20):182-186.
[5]宣麗萍.FPGA 器件的競爭與冒險現(xiàn)象及消除方法[J].現(xiàn)代電子技術(shù),2005,28(10):119-121.
[6]東方華人.Max+plus Ⅱ入門與提高[M].北京:清華大學(xué)出版社,2004.
[7]老虎工作室.Max+plus Ⅱ入門與提高[M].北京:人民郵電出版社,2002.
[8]王金明.數(shù)字系統(tǒng)設(shè)計與Verilog HDL[M].2版.北京:電子工業(yè)出版社,2005.
[9]江曉安.數(shù)字電子技術(shù)[M].西安:西安電子科技大學(xué)出版社,2002.
[10]林濤.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2005.
[11]劉軍,楊悅,于湘珍.數(shù)字電路設(shè)計中競爭冒險的分析與研究[J].現(xiàn)代電子技術(shù),2007,30(20):182-186.