看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《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
icrts:推~ 08/19 09:26
owenroy:推 08/19 11:43
chenbojyh:好工整呀 08/19 16:41