作者doom8199 (~口卡口卡 修~)
看板Grad-ProbAsk
标题Re: [理工] [计概]-组合电路
时间Wed Aug 19 01:35:56 2009
※ 引述《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
1F:推 icrts:推~ 08/19 09:26
2F:推 owenroy:推 08/19 11:43
3F:推 chenbojyh:好工整呀 08/19 16:41