計數器負責計數錯誤的次數,也就是計數落在數位/類比訊號轉換器高電壓準位以及 高電壓準位之間錯誤的次數。外部設備互聯總線第二代基本規格要求中,明確規定每點 的取樣至少需要一百萬次,所以我們需要二十位元的計數器。除了計數器電路,還包含 有兩個有限狀態機 (Finite State Machine:FSM) 、一個可選擇除以二的五、十、十五和 二十次方的除頻器 (Frequency Divider:FD) 、五個掃描鏈 (Scan Chain) 、以及一些其 他的數位控制電路等。
計數器由正反器構成,可以記錄狀態的變遷,或是正反器隨時脈的變化次數,做故
定狀態的循環。計數器以正反器狀態改變,是否與計數時脈同步來區分,可分為同步 (Synchronous) 計數器與非同步 (Asynchronous) 計數器兩種,若以計數狀態的呈現又可
分為 2n模 (MOD) 及非 2n模兩種,模數等於計數器重回其開始狀態前,所經過完整週 期的狀態數,n為正反器的數目,如果描述得更清楚些,還可以分為上數計數器,或是 下數計數器以及環式計數器等等。同步計數器是指所有的正反器都共用一個時脈來觸 發,而非同步計數器則否。在此,我們使用 D 型正反器 (D Flip-Flop) 設計同步計數器,
必須要計數至少10 周期,所以計數器為二十個位元。圖 2.54為計數器之電路圖。 6
UP
T T T T T T
D
D
S0 S1 S2 S17
VIN VOUT
S18 S19
UP
T T T T T T
D
D S0
S0 S1S1 S2S2 S17S17
VIN VOUT
S18 S19
圖 2.54 計數器之電路圖
數位控制延遲電路與數位/類比訊號轉換器皆為八位元的電路,所以各使用一個八位 元的有限狀態機。圖 2.55有限狀態機之電路圖,為了降低電路模擬的時間,將有單一個 八位元的限狀態機,設計為由兩個四位元有限狀態機組成,多加上一個多工器做控制選 擇,如此,及可選性的增加或降低模擬速度。CTRL 為零是選擇八位元的有限狀態機;
CTRL 為 1 是選擇四位元的有限狀態機。 CTRL[2] 腳位是控制數位/類比訊號轉換器的 輸入控制位元,如果為零,是選擇八位元; 如果為一,是選擇四位元。 CTRL[3] 腳位 是控制數位控制延遲電路的輸入控制位元,如果為零,是選擇八位元; 如果為一,是 選擇四位元。如此,將可大大降低,電路所模擬的時間。
D D C[0] C[1]
D D D
C[2] C[3] C[4]
D D D
C[5] C[6] C[7]
CK3 /CT7A
CTRL
D D
C[0] C[1]
D
D DD DD
C[2] C[3] C[4]
D
D DD DD
C[5] C[6] C[7]
CK3 /CT7A
CTRL
圖 2.55 有限狀態機之電路圖
圖 2.56是除頻器之電路圖除頻器,可選擇除以二的五、十、十五和二十次方,能選 擇設計電路的模擬時間,晶片製作完成後,則是降低總量測的時間。除頻器電路主要的 功能為產生時脈之降頻信號。傳統上之除頻器電路可概分為同步式與非同步式除頻器。
同步式除頻器具有較佳之輸出相位準確度,然而其相對之功率消耗較大,且不易實現極 高速之操作。非同步式除頻器具有分級降頻觸發之特點,其相對之功率消耗較小,且適 合高頻操作,但會產生相位誤差的累積。本電路並不算高速,因此使用 D 型正反器實 現的同步式除頻器。 CTRL[1:0] 腳位是控制除頻器的輸入控制位元,如果分別為 00 是選擇除以2 ;如果為5 10 是選擇除以210;如果為 01 是選擇除以215;如果為 11 是選 擇除以220。
CK2
D D D D D
CK
D D D D D
D D D D D
F/21 F/22 F/23 F/24 F/25
F/26 F/27 F/28 F/29 F/210
F/211 F/212 F/213 F/214 F/215
CTRL[1,0]
D D D D D
CK2 CK3 D
D DD DD DD DD
CK
D
D DD DD DD DD
D
D DD DD DD DD
F/21 F/22 F/23 F/24 F/25
F/26 F/27 F/28 F/29 F/210
F/211 F/212 F/213 F/214 F/215 F/21 F/22 F/23 F/24 F/25
F/26 F/27 F/28 F/29 F/210
F/211 F/212 F/213 F/214 F/215
CTRL[1,0]
D
D DD DD DD DD
CK3
圖 2.56 除頻器之電路圖
為了減低輸出的腳位數量,而節省面積及成本,我們使用掃描鏈,如圖 2.57,掃描 鏈是採用平行輸入 (Parallel Input) 、串列輸出 (Serial Out Register,Shift-Out Register) 來 設計,有八個數入端,使用移位暫存器來實現多工器的功能,在八個輸入線中選取一條
輸出線。數位控制延遲電路與數位/類比訊號轉換器皆為八位元的電路,所以各使用一個 掃描鏈。計數器為二十個位元,所以需要三個掃描鏈,其中多出四位元,連接到直流電 壓,在此連接到高電壓準位。
將原本需要有三十六個輸出的腳位,變成五個輸出腳位。為了方便邏輯分析儀的分 析及判讀資料,所以不採用單一輸出腳位,而是使用了五個輸出腳位,確保邏輯分析儀 有足夠的記體體空間,儲存電路所輸出的資料。並採用座標紀錄的方式,如圖 2.2所示,
X0 腳位為紀錄 X 軸座標的時間 ∆t , Y0 腳位為紀錄 Y 軸座標的電壓 ∆v , N[0: 2] 腳位為計數錯誤次數。
VOUT CK2
CK3
i[7]
D
i[6]
D
i[5]
D
i[4]
D
i[3]
D
i[2]
D
i[1]
D
i[0]
D
D D D D D D D D
SB C2
CK3 /RS2
VOUT CK2
CK3
i[7]
D
i[6]
D
i[5]
D
i[4]
D
i[3]
D
i[2]
D
i[1]
D
i[0]
D
D D D D D D D D
SB C2
i[7]
D
i[6]
D
i[5]
D
i[4]
D
i[3]
D
i[2]
D
i[1]
D
i[0]
D
D D D D D D D D
SB C2
CK3 /RS2
圖 2.57 掃描鏈之電路圖
此掃描鏈需要三個時脈, CK2 是給上排序列輸出的時脈,為最高速時脈 250MHz;
CK3/RS2 是給下排平行輸入暫存器的時脈, CK3 為 CK2 除八的時脈; SB 為多工器
的輸入控制位元,為一的時候,做載入的動作;歸零的時候,做移位的動作。圖 2.58 是計數器與掃描鏈之時序圖 (Timing Diagram) , N[0:2] 腳位是計數器的輸出腳位,
其控制時脈從 CK3 變成 RS2 ,這是為確保資料會先被載入到掃描鏈之後,計數器才 會被重置 (Reset),所以 RS2 是 CK3 經過一個負緣觸發脈波產生器 (Negative
Edge-Triggered Pulse Generation) ,在經過一個 D 型正反器的延遲時間,才對計數器做 重置的動作。
所謂負緣觸發脈波產生器,如圖 2.58,是利用相對延遲的輸入時間差,將一個工作 週期 CK/CK2,與時脈 CK3 做反或閘 (NOR) 運算,並在此時脈的負緣產生一個比工 作周期更小的脈波,在特定時間,觸發掃描鏈內部的暫存器。圖 2.58之下方波形,是計 數器與掃描鏈腳位為 N[0] 的時序圖,除頻器設定為除以二的五次方, CK 是數位電 路的時脈,除以四之後是 CK2 ,在除以八即為 CK3 之時脈, CK3 經過一個負緣觸 發脈波產生器即為 RS2 與 SB 。以第一組時序為例,當 CK3 負緣產生時,產生了兩 個不同時脈 RS2 與 SB ,前者工作週期為 CK ,後者工作週期為 CK2 , RS2 脈波產 生後,資料立即從計數器平行載入,當 SB 正緣發生之後,資料即從掃描鏈串列輸出。
為了方便資料的判讀, SB 也有輸出腳位,腳位名稱是 D_EDGE 。
接下來是觀察計數器、除頻器、有限狀態機以及掃描鏈的動作情況。圖 2.60是計數 器、除頻器、有限狀態機與掃描鏈之時序圖, CV 為數位/類比訊號轉換器八位元的控 制訊號, CT 為數位控制延遲電路八位元的控制訊號, rs_cnt 為計數器之重置訊號,
S0~S7 為掃描鏈 N[0] 腳位的輸入訊號,共為八位元,因篇幅有限,在模擬的圖型上,
都只有顯示出部分圖型。 UP 是類比電路比較器的輸出,在此是由我們給輸入訊號。
經由模擬可看出,隨著輸入控制位元的增加, UP 的增加,讓 S0~S5 也有增加,重置 rs_cnt 也有發揮其作用。
輸出有掃描鍊,大幅降低輸出的腳位數量,輸入也有掃描輸入 (Scan-In) 電路,如 圖 2.61,數位控制延遲電路與數位/類比訊號轉換器都是八位元的電路,各需要八個控 制腳位,在加入一個掃描輸入電路後,只需要各一個腳位即可。 ET 腳位是用來控制選 擇內部或外部控制的設定腳位,當 ET 腳位設定為一,經過八個週期的延遲,將輸入控 制碼 (Input Control Code) 送入晶片內部,藉以控制數位控制延遲電路與數位/類比訊號
轉換器。當 ET 腳位設定歸零,則控制訊號的輸入,則由有限狀態機製造週期性的控制
Scan Chain
SB
RS2
S0
CK
CK CKO
Parallel load
Serial out
DAC
Scan Chain
SB
RS2
S0
CK
CK CKO
Parallel load
Serial out
DAC
Scan Chain
SB
RS2
S0
CK
CK CKO
Parallel load
Serial out
DAC FSM
S1
圖 2.58 計數器與掃描鏈之時序圖
C ounter DCDL FSM
DAC FSM Cv [0:7]
8 D_Edge
8
DAC FSM CVA[0:7] Scan Y0 Chain
Scan X0 Chain r
UP C ounter DCDL FSM
DAC FSM Cv [0:7]
8 D_Edge
8
DAC FSM CVA[0:7] Scan Y0 Chain
Scan X0 Chain r
UP
圖 2.59 計數器、除頻器、有限狀態機、掃描鏈之架構圖
CV0 CV1 CV2 S0 S1 S2 S3 S4 S5 rs_cnt
UP
RSI RSI
S++ S++ S++ S++ S++ S++
CK CK2 CK3 CV0 CV1 CV2 CT0 CT1 CT2 rs_cnt
CV0 CV1 CV2 S0 S1 S2 S3 S4 S5 rs_cnt
UP
RSI RSI
S++ S++ S++ S++ S++ S++
CK CK2 CK3 CV0 CV1 CV2 CT0 CT1 CT2 rs_cnt
CK CK2 CK3 CV0 CV1 CV2 CT0 CT1 CT2 rs_cnt
圖 2.60計數器、除頻器、有限狀態機與掃描鏈之時序圖
C[7]
D D D
C[6] C[5]
D …
C[0]
D
ET D D D
CK …
… D
ETI / EVI
C[7]
D D D
C[6] C[5]
D …
C[0]
D
ET D D D
CK …
… D
ETI / EVI
圖 2.61 掃描輸入之電路圖