多工器(Multiplexer, MUX)

  • 一個 \(2^n\text{ to }1\) 多工器,需要有 n 個控制項(選項器)
    • \(\begin{array}{c|c|l} \text{MUX}&\text{sel}&\text{Output}\\\hline \text{2 to 1}&1&A’ I_0+AI_1\\\hline \text{4 to 1}&2&A’ B’ I_0+A’ BI_1+AB’ I_2+ABI_3\\\hline \text{8 to 1}&3&A’ B’ C’ I_0+A’ B’ CI_1+…\\\hline 2^n\text{ to 1}&n&\sum_{k=0}^{2^n-1}m_kI_k \end{array}\)
  • quad multiplexer
    • 多了一個致能(enable, en)來控制多工器 quadMUX
  • 用 4-1 多工器實現三個變數函式 sample
    • 代數展開
      \(\begin{array}{rl} F(A,B,C)&=A’ B’+AC\\ &=A’ B’(C+C’)+A(B+B’)C\\ &=A’ B’\cdot1+A’ B\cdot0+AB’ C+ABC \end{array}\)
    • 真值表法
      \(\begin{array}{|cccc:cc|}\hline &A&B&C&F\\\hline &0&0&0&1\\ I_0&0&0&1&1&1\\\hline &0&1&0&0\\ I_1&0&1&1&0&0\\\hline &1&0&0&0\\ I_2&1&0&1&1&C\\\hline &1&1&0&0\\ I_3&1&1&1&1&C\\\hline \end{array}\)
    • Verilog

三態緩衝器(Three state buffer)

buffer

  • 緩衝器(Buffers)的用途:
    • 用來增加閘輸出的趨動力(driving force)
    • 因為閘並聯而造成電容增加(fan out),電容增加充電變慢,使電路變慢
    • 總體而言,可用來調節電路的速度。
  • 三態緩衝器: tristate
    • Three-state buffer 或 tri-state buffer
    • 真值表
      \(\begin{array}{|cc|c|}\hline B&A&C\\\hline 0&0&Z\\\hline 0&1&Z\\\hline 1&0&0\\\hline 1&1&1\\\hline \end{array}\)
    • 利用 tri-state buffer 實現 2-to-1 MUX tristateMUX
    • tri-state buffer 並聯
      • 真值表
        \(\begin{array}{|c|c|c|c|c|}\hline &X&0&1&Z\\\hline X&X&X&X&X\\\hline 0&X&0&X&0\\\hline 1&X&X&1&1\\\hline Z&X&0&1&Z\\\hline \end{array}\)
    • 應用
      • Bus 匯流排 bus
      • Chip I/O IO

解碼器(Decoder)

  • \(n 個 \text{input} 可以對應到 2^n 個 \text{output}\) decoder
  • 事實上,n 個 input 在編碼器前成生各種 minterm 的組合,後面面編碼器就是將 minterm \(OR\) 起來。 2to4decoder
  • 7442 編碼器,數字 1 到 9 產生對應位置的輸出為 0。
  • 這樣的設計可以使雜訊的干擾變輕。
  • 配合 \(\text{NAND Gate}\),其實就跟前面的編碼器一樣,是產生 minterm 再 \(OR\) 起來的過程。 7442
  • \(F_1=m_1+m_2+m_4 \qquad F_2=m_4+m_7+m_9\) 7442a
  • Verilog

編碼器(Encoder)

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

唯讀記憶體(Read only memories, ROMs)

  • 唯讀記憶體就是一個編寫好的編碼器,輸入就像是位址(address)。 ROM
  • General Form
  • \(\text{n inputs}\rightarrow 2^n 個 \text{words} \rightarrow \text{m outputs}\) ROMa
  • 可以把 ROM 看成 decoder 加上 memory array ROMa
  • 用二極體形成 \(OR\) 的效果,一般也會將二極體極化成黑點。
  • 二極體在這邊使電流為單向流動,一般二極體的壓降為 0.7V。
  • 整個矩陣稱為 OR-plane。
  • word line 用於控制儲存單元與 bit line 的連通
  • bit line 用於讀寫儲存單元。(此處只有讀) ROMlogic

ROM 的變形

可程式化邏輯元件(programmable logic devices)

可程式化邏輯矩陣(Programmable Logic Array, PLA)

可程式化矩陣邏輯(Programmable Array Logic, PAL)

現場可程式化邏輯閘陣列(Field programmable gate arrays, FPGAs)