• 沒有找到結果。

第三章 高速資料轉換器對之設計

3.1.8 編碼電路(Encoder)

在討論分析編碼器電路的設計之前,必須要先決定要使用什麼編碼方 式,表 3-1 列出了四位元十進位碼、十六進位碼、二進位碼、格雷瑪之轉 換關係,由表中我們可以看出格雷碼(Gray code)的一個重要特性就是其 任意相鄰的兩個數碼之間只有一個位元不同,所以Gray code 輸出的電路每 個位元轉態的次數比起常的二進位碼(Binary code)會少上許多,從電路的觀

點來看就是充放電(charge/discharge)的次數會降低,因此 Gray code 的編 解碼方式相當有利於高速訊號的操作而常被應用於高速的系統當中。再來 就是要知道比較器電路中常見的metastability 現象,當比較器的輸入訊號與 參考電壓差值太小時,使比較器輸出無法在很短的時間平衡至有效的邏輯

接下來討論若是使用邏輯閘為基礎(logic gate based)的溫度計碼轉二 進碼編碼器(Thermometer-to-Binary Encoder)之情形,如圖 3-33 所示當 metastability 的問題發生於三位元溫度計碼轉二進碼編碼器,若比較器輸出 T4 發生 metastability 的現象,輸出呈現 unknown(X)的狀態,而由式 3.26

之三位元溫度計碼轉二進碼的布林函數(boolean function)可知 T4 的 unknown 狀態將導致整個三位元二進碼輸出 B2、B1、B0 的結果都為 unknown 的狀態。因此可知使用 binary-encoding 方式的編碼器相當容易因 為metastability 造成輸出產生多位元的錯誤輸出碼。

(3.26)

既然metastability 對使用 binary-encoding 方式影響很大,我們就來討論 Flash 架構 ADC 中另一種以邏輯閘為基礎且常用的編碼為溫度計碼轉格雷

碼(Thermometer-to-Gray Encoding)的方式。如前面所提到的,格雷碼相 鄰的碼只會有一個位元不同,在同樣三位元溫度計碼轉格雷碼的編碼機制 中,如圖3-34 所示的例子,同樣假設比較器輸出 T4 發生了 metastability,

再由式3.27 的 3 位元溫度計碼轉格雷碼的布林函數可知,輸出結果將只會 有G3 一個位元是 unknown 的,且無論 metastability 發生在哪個比較器上,

輸 出 的 數 位 碼 最 多 都 只 會 有 一 個 位 元 受 到 影 響 。 因 此 可 知 使 用 Gray encoding 方式的編碼器發生兩個以上錯誤輸出的機率相對會小得許多[37]。

(3.27)

7 5 3 1 0

6 2 1

4 2

T T T T G

T T G

T G

圖3- 34 Metastability 的問題發生於三位元溫度計碼轉格雷碼編碼器之例子

綜何以上討論我們最後使用Gray encoding 方式的編碼器。然後由溫度 延遲時間(gate delay),所以額外加入了一些 CML 的 buffer 來使每條訊號 路徑都經過相同級數的邏輯閘而具有差不多的延遲時間。

表3- 2 四位元溫度計碼轉格雷碼之轉換關係 Thermometer code

T15 T14 T13 T12 T11 T10 T9 T8 T7 T6 T5 T4 T3 T2 T1

圖3- 35 四位元溫度計碼轉格雷碼(Thermometer-to-Gray)之編碼電路

3.2 10GS/s 6-bit 數位類比轉換器(DAC)之設計

接下來便是討論如何設計10GS/s 6-bit DAC,在各種 DAC 的架構中,

Current-Steering 是操作速度最快的一種[38],因此我們便是選用此種架構來 設計。如圖3-36 所示,為我們所設計的 10GS/s 6-bit 數位類比轉換器(DAC)

之方塊圖。

圖3- 36 10GS/s 6-bit 數位類比轉換器(DAC)之方塊圖

DAC 的數位輸入訊號首先會進入 CML Latch 作時序上的校正,以確保 輸入訊號的同步,之後便進入解碼器電路(Decoder)將格雷碼轉(Gray code) 換成溫度計碼(Thermometer code),我們解碼器電路分成兩部份,一部分是 MSB,直接將格雷碼轉溫度計碼解碼器(Gray-to-Thermometer Decoder);另 一部分是LSB,先將格雷碼轉換成二進位碼再轉換成溫度計碼。MSB 的部 份是將前四位元的格雷碼先經過 Buffers 後輸入到 Gray-to-Thermometer Decoder 得到 15-bits MSB 的溫度計碼;LSB 的部份則是將六位元的格雷碼

先經由格雷碼轉二進位碼解碼器(Gray-to-Binary Decoder)轉換成二進位 碼 , 再 取 其 後 兩 碼 進 入 二 進 位 碼 轉 溫 度 計 碼 解 碼 器(Binary-to-Binary Decoder)得到 3-bits LSB 的溫度計碼,由於 LSB 多了一級 Gray-to-Binary Decoder,所以我們在 MSB 中加入一及 Buffers,這樣可以使 MSB 和 LSB 的 路 徑 延 遲 差 不 多 , 以 上 方 式 稱 作 混 合 式 溫 度 計 碼 編 碼 方 式(Hybrid Thermometer-encoding),透過此種編碼方式可以大幅縮減邏輯閘的數量。轉 換後總共會得到18-bit 的溫度計碼,再經過一次 CML Latch 的時序校正後,

用來當作控制訊號操作切換式電劉源(Switching Current Source, SCS),SCS 會依照輸入數位訊號的不同將其轉換成其對應的電流量再透過輸出端的電 阻轉成類比電壓值。此輸出端的電阻也是設計成 50Ω,目的一樣是為了高 速輸出類比訊號的阻抗匹配,確保輸出訊號可以正確的而傳輸線到達測試 儀器。此外,在Clock 路徑上同樣加上 intentional timing skew buffers 來做 Wave-pipelining,補償訊號因為通過解碼器電路而多出來的延遲時間,使得 Latch 可以在正確的時序抓到資料,同時整個電路都是全差動的形式,除了 具有較佳的抗共模雜訊干擾(common-mode interference)能力之外,也有 利於高速操作。

大致說明整個DAC 架構的主要特點之後,以下就分別將對各個比較主 要Block 的設計加以詳細說明。