為什麼這篇flip flop電路鄉民發文收入到精華區:因為在flip flop電路這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者doom8199 (~口卡口卡 修~)看板Grad-ProbAsk標題Re: [理工] [計概]...
※ 引述《gn00618777 (123)》之銘言:
: 定義:輸出只與現在的輸入有關,與過去的輸入無關。=.=
: 有講跟沒講一樣,能有個範例圖說明嗎感恩?
---
combinational circuit: (組合電路)
組合電路就把它想成是單向電路
不受 clock 控制
假設 out 為 1 bit 、 in 為 2 bit
若 out = in[1] && in[0]
那這就是一個標準的 combinational circuit
若 in 分別丟波型訊號為 00 01 10 11
則 out 會分別傳出 0 0 0 1
若 in 分別丟波型訊號為 00 10 11 01
則 out 會分別傳出 0 0 1 0
所以像是 and、 or、inverter gate 等等都是屬於 combinational logic
sequential circuit: (好像翻作 循序電路 or 序向電路 )
相對的以上面為例,若分別傳兩組訊號:
in: 00 01 10 11 → out: 0 0 0 1
in: 00 10 11 01 → out: 0 1 0 1
會發現上面的電路邏輯為 out = in[1] and in[0]
但下面的邏輯卻為 out = in[1] xor in[0]
可見 out 會隨著 input pattern 不同,output可能有邏輯上的差異
這就是 sequential circuit 的特點之ㄧ
由定義可知
sequential circuit 的 output 會受到以前的 input訊號影響
表示一定至少要有一個 register(暫存器) 來記錄以前的 input 值
這樣才能利用暫存器的輸出值拉到 組合電路,再跟 output 接
達到此邏輯電路
要達成這件事是需要有 clock 來控制 register開關
所以 sequential circuit 需要由 clock 來控制才行
而 sequential circuit 像是 Latch、Flip Flop 、 Finite State Machine 皆屬之
----
至於為何要有 clock 來控制電路?
主要原因之ㄧ是可以讓電路 "同步化"
大家應該都知道真實的 logic 本身一定會有 delay
不可能輸入訊號一丟,馬上就傳出 輸出訊號
若真辦的到的話,那我們電腦開機也不用等了 ==
所以 clock 控制就相對重要了
若沒有 clock 控制
那電路一龐大,肯定會有不同步的現象發生
說白一點就是某些訊號線的運算比其它的快,產生"偷跑" 的現象
造成輸出的訊號並非自己想要的,即使電路邏輯都沒接錯。
因此,一個電路
我們就會將之切成 combinational circuit + sequential circuit 這兩個區塊 ...
這兩者做比較,希望能讓原po比較了解XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.97.70