
多工器(Multiplexer, MUX)#
- 一個 2n to 1 多工器,需要有 n 個控制項(選項器)
- MUX2 to 14 to 18 to 12n to 1sel123nOutputA’I0+AI1A’B’I0+A’BI1+AB’I2+ABI3A’B’C’I0+A’B’CI1+…∑k=02n−1mkIk
- quad multiplexer
- 多了一個致能(enable, en)來控制多工器

- 用 4-1 多工器實現三個變數函式

- 代數展開
F(A,B,C)=A’B’+AC=A’B’(C+C’)+A(B+B’)C=A’B’⋅1+A’B⋅0+AB’C+ABC - 真值表法
I0I1I2I3A00001111B00110011C01010101F1100010110CC - Verilog
三態緩衝器(Three state buffer)#

- 緩衝器(Buffers)的用途:
- 用來增加閘輸出的趨動力(driving force)
- 因為閘並聯而造成電容增加(fan out),電容增加充電變慢,使電路變慢
- 總體而言,可用來調節電路的速度。
- 三態緩衝器:

- Three-state buffer 或 tri-state buffer
- 真值表
B0011A0101CZZ01 - 利用 tri-state buffer 實現 2-to-1 MUX

- tri-state buffer 並聯
- 真值表
X01ZXXXXX0X0X01XX11ZX01Z
- 應用
- Bus 匯流排

- Chip I/O

解碼器(Decoder)#
- n個input可以對應到2n個output

- 事實上,n 個 input 在編碼器前成生各種 minterm 的組合,後面面編碼器就是將 minterm OR 起來。

- 7442 編碼器,數字 1 到 9 產生對應位置的輸出為 0。
- 這樣的設計可以使雜訊的干擾變輕。
- 配合 NAND Gate,其實就跟前面的編碼器一樣,是產生 minterm 再 OR 起來的過程。

- F1=m1+m2+m4F2=m4+m7+m9

- Verilog
編碼器(Encoder)#
- Priority Encoder
- 8-to-3 編碼,將輸入將對應的數字編到 abc 中。
- 若 input 端有兩個以上為 1,則輸出數字較高的數(MSB)。
- d 的作用,用來表示輸入是否含有 1,否則為 0。

唯讀記憶體(Read only memories, ROMs)#
- 唯讀記憶體就是一個編寫好的編碼器,輸入就像是位址(address)。

- General Form
- n inputs→2n個words→m outputs

- 可以把 ROM 看成 decoder 加上 memory array

- 用二極體形成 OR 的效果,一般也會將二極體極化成黑點。
- 二極體在這邊使電流為單向流動,一般二極體的壓降為 0.7V。
- 整個矩陣稱為 OR-plane。
- word line 用於控制儲存單元與 bit line 的連通
- bit line 用於讀寫儲存單元。(此處只有讀)

ROM 的變形#
可程式化邏輯元件(programmable logic devices)#
可程式化邏輯矩陣(Programmable Logic Array, PLA)#
可程式化矩陣邏輯(Programmable Array Logic, PAL)#
現場可程式化邏輯閘陣列(Field programmable gate arrays, FPGAs)#