組合邏輯電路&時序邏輯電路

邏輯電路根據是否包含記憶元件,分爲組合邏輯電路和時序邏輯電路。組合邏輯電路不包含記憶元件,某時間點的輸出(邏輯函數值)僅取決於當時的輸入。含有記憶元件的邏輯電路被稱爲時序邏輯電路。在組合邏輯電路中,當前的輸出只取決於當前的輸入。而在時序邏輯電路中,只知道當前的輸入並不足以確定當前的輸出。也就是說,時序邏輯電路是一種過去的電路狀態也會對輸出產生影響的邏輯電路。

時序邏輯電路分爲同步時序邏輯電路和異步時序邏輯電路兩種。同步時序邏輯電路中,輸入和內部狀態的變化由時鐘信號控制同步進行,而異步時序邏輯電路則不需要時鐘信號。FPGA電路設計一般使用同步時序邏輯電路。

 

https://blog.csdn.net/HEN_MAN/article/details/6923155

邏輯電路:

以二進制爲原理、實現數字信號邏輯運算和操作的電路。分組合邏輯電路時序邏輯電路。前者的邏輯功能與時間無關,即不具記憶和存儲功能,後者的操作按時間程序進行。由於只分高、低電平,抗干擾力強,精度和保密性佳。廣泛應用於計算機、數字控制、通信、自動化和儀表等方面。 最基本的有與電路 或電路 和非電路。簡單的邏輯電路通常是由門電路構成,也可以用三極管來製作,比如,一個NPN三極管的集電極和另一個NPN三極管的發射極連接,這就可以看作是一個簡單的與門電路,即:當兩個三極管的基極都接高電平的時候,電路導通,而只要有一個不接高電平,電路就不導通……

組合邏輯電路:

組合邏輯電路在邏輯功能上的特點是任意時刻的輸出僅僅取決於該時刻的輸入,與電路原來的狀態無關。組合邏輯電路可以有若個輸入變量和若干個輸出變量,其每個輸出變量是其輸入的邏輯函數,其每個時刻的輸出變量的狀態僅與當時的輸入變量的狀態有關,與本輸出的原來狀態及輸入的原狀態無關,也就是輸入狀態的變化立即反映在輸出狀態的變化。組合邏輯電路沒有記憶功能。

在VHDL編程設計中,程序一般分爲時序邏輯(Sync_process)和組合邏輯(Async_process)兩部分。時序邏輯是具有記憶功能的,在時序部分的賦值會產生寄存器以供後續邏輯使用。但是,在組合邏輯部分,應該只產生控制信號,在該控制信號的控制下,在時序部分賦值產生寄存器。如果在組合邏輯部分進行了下面類似的運算:

when st1 =>

a <= *&^&^&;

NextState <= st2;

when st2 =>

b <= *&%&*;

NextState <= st3;

when st3 =>

c <= a+b;

 

那麼,在仿真中雖然能看到c確實被賦值爲a+b,但是,燒板子之後,c的值仍舊爲0。這是因爲\在組合邏輯中,一個signal又被放在等式左邊又被放在等式右邊,會產生memory,但是,其實組合邏輯是無記憶性的,是不允許產生memory的,所以沒有寄存器(只在時序部分clk控制下產生)生成,a和b的生命週期只有在各自被賦值的狀態中有效,跳出該狀態之後,該信號就被重新置0。所以,正確的做法是在組合邏輯部分發送控制信號,enable時序部分的計算與賦值。

時序邏輯電路:

時序邏輯電路在邏輯功能上的特點是任意時刻的輸出不僅取決於當時的輸入信號,而且還取決於電路原來的狀態,或者說,還與以前的輸入有關。時序電路具有記憶功能。

同步時序電路:時序邏輯電路可以分爲同步時序電路和異步時序電路兩大類。其中同步時序電路是指各觸發器的時鐘端全部連接在一起,並接系統時鐘端;只有當時鍾脈衝到來時,電路的狀態才能改變;改變後的狀態將一直保持到下一個時鐘脈衝的到來,此時無論外部輸入x有無變化;狀態表中的每個狀態都是穩定的.

異步時序電路:

時序邏輯電路可以分爲同步時序電路和異步時序電路兩大類。其中異步時序電路是指電路中除以使用帶時鐘的觸發器外,還可以使用不帶時鐘的觸發器和延遲元件作爲存儲元件;電路中沒有統一的時鐘;電路狀態的改變由外部輸入的變化直接引起.可將異步時序邏輯電路分爲脈衝異步時序電路和電平異步時序電路.

同步時序邏輯設計中整個電路可看做由組合邏輯和寄存器相間隔而成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章