大俠好,歡迎來到FPGA技術江湖。本系列將帶來FPGA的系統(tǒng)性學習,從最基本的數(shù)字電路基礎開始,最詳細操作步驟,最直白的言語描述,手把手的“傻瓜式”講解,讓電子、信息、通信類專業(yè)學生、初入職場小白及打算進階提升的職業(yè)開發(fā)者都可以有系統(tǒng)性學習的機會。
系統(tǒng)性的掌握技術開發(fā)以及相關要求,對個人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對大家有所幫助。后續(xù)會陸續(xù)更新 Xilinx 的 Vivado、ISE 及相關操作軟件的開發(fā)的相關內容,學習FPGA設計方法及設計思想的同時,實操結合各類操作軟件,會讓你在技術學習道路上無比的順暢,告別技術學習小BUG卡破腦殼,告別目前忽悠性的培訓誘導,真正的去學習去實戰(zhàn)應用,這種快樂試試你就會懂的。話不多說,上貨。
數(shù)字電路中的組合邏輯
根據(jù)邏輯功能的不同特點,可以將數(shù)字電路分為兩大類,一類稱為組合邏輯電路(簡稱組合電路),另一類稱為時序邏輯電路(簡稱時序電路)。
在組合邏輯電路中,任何時刻的輸出僅僅取決于該時刻的輸入,與電路原來的狀態(tài)無關。這就是組合邏輯電路在邏輯功能上的共同特點。在上一節(jié)中,設計的三人表決器就是組合邏輯電路,輸出與輸入一一對應,和其他無關,輸入發(fā)生改變,輸出立刻跟著改變。
組合邏輯的設計方法在邏輯代數(shù)基礎中有一定的簡單的敘述。
根據(jù)現(xiàn)有的資源做出合理的假設(通過為1、還是為0,不同的硬件可能會是不同的結構)。
根據(jù)設計要求和假設,列出真值表。
根據(jù)真值表得出表達式,并化簡(公式化,卡諾圖)。有時需要化簡為與非的形式或者其他形式。
根據(jù)化簡后的布爾表達式做出電路結構,并且驗證。
如果最后結果出現(xiàn)錯誤,上述所有步驟都要檢查,如果上述步驟都沒有問題,可以考慮電路結構中的連接問題或者器件的損壞。
下面利用一個三人表決器的電路設計來說明一些問題。此電路有三個輸入(A、B、C),一個輸出(Y),只有當兩個及兩個以上輸入贊成時,Y輸出贊成。
設贊成為1,不贊成為0。根據(jù)設計要求得出如下真值表:
圖1 :三人表決器真值表
根據(jù)真值表中Y為1的項列出來,對應的A、B、C為1,則留下變量,為0,則留下反變量。
Y = A'BC+AB’C+ABC’+ABC;
根據(jù)上述布爾表達式,我們得出邏輯電路圖:
圖2 :三人表決器的邏輯電路圖
如果所有的邏輯都按照這種寫法的話,那么很多的邏輯就會變的很復雜,并且會浪費很多的資源。我們考慮一下,電路既然是按照布爾表達式做出來的,那么布爾表達式能不能化簡一下呢?
Y = A'BC+AB’C+ABC’+ABC;
= A'BC+ ABC +AB’C+ ABC+ ABC’+ABC;
= BC(A' + A) + AC(B+B') + AB(C+C')
= BC+AC+AB
上述布爾表達式所對應的邏輯電路圖如下:
圖3 :化簡后的布爾表達式所對應的電路圖
思考 :半加器、全加器、多路選擇器、乘法器、除法器等常用組合邏輯電路的設計與實現(xiàn)?
在設計組合邏輯時,分析和設計都是在輸入、輸出處于穩(wěn)定的邏輯電平下進行的。為了保證系統(tǒng)工作的可靠性,有必要再觀察一下當輸入信號邏輯電平發(fā)生變化的瞬間電路的工作情況。
在圖1-28所示的與門電路中,穩(wěn)態(tài)下無論A=1、B=0還是A=0、B=1,輸出都應該是Y=0;但是輸入信號A從1變?yōu)?時,如果B從0變?yōu)?,由于某些原因(布線的寬度、厚度、溫度等),B先從0變?yōu)?了,這樣在極短的時間內出現(xiàn)了A和B都是1的情況,與門電路就會輸出一個極窄的Y=1的尖峰脈沖,或稱為電壓毛刺。這個尖峰脈沖不符合門電路穩(wěn)態(tài)下的邏輯功能,因而它是系統(tǒng)內部的一種噪聲。
圖4 :與門由于競爭而產(chǎn)生的尖峰脈沖
將門電路兩個輸入信號同時向相反的邏輯電平跳變(一個從1變?yōu)?,另一個從0變?yōu)?)的現(xiàn)象稱為競爭。
在有競爭時,不一定都會產(chǎn)生尖峰脈沖。例:在上述的與門中,如果A先于B發(fā)生了改變,此時就不會產(chǎn)生尖峰脈沖。
思考:可以嘗試分析一下或門,分析或門是否有可能會產(chǎn)生尖峰脈沖?
與門和或門在競爭時,都有可能產(chǎn)生尖峰脈沖。與門和或門是復雜數(shù)字邏輯電路中的兩個基本門電路,A、B經(jīng)過不同的傳輸途徑達到,那么在設計時往往難于準確知道A、B到達次序的先后,以及它們在上升時間和下降時間上的細微差異。因此,我們只能說只要存在競爭現(xiàn)象,輸出就有可能出現(xiàn)違背穩(wěn)態(tài)下邏輯關系的尖峰脈沖。
由于競爭而在電路輸出端可能產(chǎn)生尖峰脈沖的現(xiàn)象稱為競爭-冒險。
如果后續(xù)電路是一個對尖峰脈沖敏感的電路,那么這種尖峰脈沖將可能使后續(xù)電路發(fā)生誤動作。
思考:如果存在競爭冒險現(xiàn)象的話,應該怎么避免?
可以在輸出端接入濾波電容;由于競爭-冒險而產(chǎn)生的尖峰脈沖一般都很窄,所以在輸出端并接一個很小的濾波電容就足以把尖峰脈沖的幅度削弱至門電路的閾值電壓一下。這種方法簡單易行,而缺點是增加了輸出電壓波形的上升時間和下降時間,使波形變壞。
引入選通脈沖;由于電路的延遲產(chǎn)生的尖峰脈沖是極窄的,如果在輸入(輸出)信號穩(wěn)定后,我們再去選取結果作為輸出,此時的結果就是正確的。那么此時的選通脈沖就必須要要在穩(wěn)定后再能出現(xiàn),否則也無濟于事。
修改邏輯設計;此方法的局限性比較大,不再做過多介紹。
通過對組合邏輯的認識,感覺自己已經(jīng)可以設計任何電路。只要按照標準的設計流程,我們都可以很快的做出電路。
思考 :目前需設計一個自動售貨機,販賣售價為三元的飲料,要求每次只能投入一個一元的硬幣。可想而知,我們投入第一個硬幣沒有反應;投入第二個硬幣沒有反應;當我們投入第三個硬幣時,售貨機會給我們一瓶飲料。如果內部是組合邏輯的話,三次投硬幣的輸入并沒有任何改變,但是產(chǎn)生了不同的結果,顯然內部結構不是單純的組合邏輯。內部的功能有一定的記憶性功能,能夠清楚的記得之前我們投入的硬幣的數(shù)量。此時我們應該如何去設計電路。
組合邏輯電路中,任一時刻的輸出信號僅取決于當時的輸入信號。
更多熱點文章閱讀
-
電子技術
+關注
關注
18文章
891瀏覽量
56071 -
電子發(fā)燒友論壇
+關注
關注
4文章
197瀏覽量
1101
原文標題:【教程分享】FPGA零基礎學習:數(shù)字電路中的組合邏輯
文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發(fā)燒友論壇】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論