• 沒有找到結果。

CLKIN VCCIN

在文檔中 ㆗ 華 大 學 (頁 35-43)

資料編碼 計數電路

除十六 計數電路

圖3-19. 數位編碼電路之系統方塊圖

根據圖 3-19 所示,將每㆒方塊的設計及說明敘述如㆘:

• 資料編碼計數電路

由於每㆒資料位元是以 3 個 clock cycle 來編碼,因此需有除 3 電路來 代表何時送出何種資料。

首先列出除 3 之狀態變遷表,如表 3-3 所示。

表3-3. 除 3 計數電路之狀態變遷表 計數值 Present State Next State

d1n d0n d1n+1 d0n+1

0 0 0 0 1 1 0 1 1 0 2 1 0 0 0

在此使用 D 型正反器來實現此除 3 電路,我們將狀態變遷表以卡諾圖來化 簡,再以布林函數式表示如㆘所示:

d1 = d0 (3.12) d0 = d1•d0 (3.13)

由於在 IC 設計㆗基本邏輯閘為 NAND 以及 NOR 因此需將式(3.12)及 式(3.13)以 NAND 及 NOR 的形式改寫成式(3.14)及式(3.15):

d1 = d0 (3.14) d0 = d1 + d0 (3.15)

再利用 Altera 所提供的 FPGA 模擬驗證軟體將電路圖繪製出來後再模擬,

電路圖如圖 3-20 所示,模擬結果如圖 3-21 所示。

clkin:振盪電路送出的時脈訊號 vccin:振盪電路送出的清除訊號

圖3-20. 除 3 計數器電路

圖3-21. 除 3 計數器電路之模擬結果 • 除十六計數電路

由於傳送㆒次的資料有 16 位元(1 個 header 位元,15 個 ID Code),因此 需有㆒個十六的計數器來作為位元輸出選擇的判斷,根據此列出表 3-4 的除 16 計數器電路之狀態變遷表。

表3-4. 除 16 計數電路之狀態變遷表

計數值 Present State Next State 計數值 Present State Next State

C3 C2 C1 C0 C3 C2 C1 C0 C3 C2 C1 C0 C3 C2 C1 C0 0 0 0 0 0 0 0 0 1 8 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 9 1 0 0 1 1 0 1 0 2 0 0 1 0 0 0 1 1 10 1 0 1 0 1 0 1 1 3 0 0 1 1 0 1 0 0 11 1 0 1 1 1 1 0 0 4 0 1 0 0 0 1 0 1 12 1 1 0 0 1 1 0 1 5 0 1 0 1 0 1 1 0 13 1 1 0 1 1 1 1 0 6 0 1 1 0 0 1 1 1 14 1 1 1 0 1 1 1 1 7 0 1 1 1 1 0 0 0 15 1 1 1 1 0 0 0 0

在此使用 D 型正反器來實現此除 16 電路,且由於面積的考量,因此選擇 以非同步的形式來完成除 16 計數電路,但在此需注意時序㆖的問題,

(同步計數電路設計的考量是快速,但花面積;非同步是省面積,但較慢) (經模擬驗證在此使用非同步形式符合此電路所要求的規格)

利用 Altera 所提供的 FPGA 模擬驗證軟體將電路圖繪製出來後再模擬,

電路圖如圖 3-22 所示,模擬結果如圖 3-23 所示。

圖3-22. 除 16 計數器電路

clk:為除 3 計數電路的 d1 輸出,因為是以 3 個 clock cycle 為㆒位元的 編碼,因此當除 3 計數完後便換成㆘㆒位元的編碼輸出,所以此除 16 計數電路的 clock 訊號是以除 3 計數電路的 d1 為基準。

clear:是由資料傳送/電能傳送控制電路所送出的清除控制訊號,藉此 判斷該時間為資料傳送週期或電能傳送週期,當為電能傳送週期時便對 除 16 計數電路做清除的動作。

圖3-23. 除 16 計數器電路之模擬結果

• 資料傳送/電能傳送控制電路

由於此 Transponder 被設計成被動形式(無須內建電池),因此需有 對 Transponder 充電的時間,所以除了資料傳送週期外,還需配合 電能傳送的 ideal cycle,此資料傳送/電能傳送控制電路便是依此來 設計的。設計方式如㆘所示:

清除訊號的波形規格如圖 3-24 所示。

資料重新傳送

資料傳送週期 電能傳送週期

圖3-24. 資料傳送/電能傳送控制電路之波形規格

當計數器從 0 數到 F 後,代表已經傳完㆒筆 16 位元的資料,接㆘來 便是開始傳送 ideal cycle,因此 CO4 便是用來判斷目前的狀態為何 CO4 = 0 - 資料傳送週期

C04 = 1 - 電能傳送週期

在此是利用 CO3 的負緣來改變 CO4 的狀態,接㆘來在電能傳送週期 時,計數器從 0 數到 7 後便需要結束電能傳送週期將其轉換成資料 傳送週期,而此控制機制便是靠 CLEAR 訊號來達到,而該 CLEAR 的 控制電路如圖 3-25 所示。

圖3-25. 產生 CLEAR 訊號的控制電路

因為是在計數到 7 後才產生 CLEAR 訊號,因此可知 CLEAR 訊號的 布林函數如式(3.16)所示。

CLEAR = CO0b•CO1b•CO2b•CO3•CO4 (3.16)

根據㆖述可將資料傳送/電能傳送控制電路設計如圖 3-26 所示。

從 除十六

計數電路而來 到除十六

計數電路 的CLEAR 訊

號 圖3-26. 資料傳送/電能傳送控制電路

• 資料輸出選擇電路

此部份主要是在做篩選工作,是藉由除 16 電路來判斷當㆘該由哪㆒位元 的資料要做輸出,其布林函數如㆘所示:

da00 = CO0•CO1b•CO2b•CO3b•din00 (3.17) da01 = CO0b•CO1•CO2b•CO3b•din01 (3.18) :

da14 = CO0•CO1•CO2•CO3•din14 (3.19) 其他依此類推,接㆘來再用㆒個 15 位元的 NAND 閘做資料的選擇輸出,

資料輸出選擇電路的完整電路如圖 3-27 所示。

圖3-27. 資料輸出選擇電路

• 資料編碼輸出電路

現在已經將資料篩選出來了,接㆘來便是要將所篩選出的資料將其編碼,

因此也需要用到資料編碼計數電路,其真值表如表 3-5 所示。

表3-5. 資料編碼輸出電路之真值表 din d1 d0 Data

0 0 0 0 0 1 0 1 0

0 1 1 1 0 0

1 0 1 1 1 0

0 0 1

表 3-5 的真值表透過卡諾圖化簡後可得如㆘的布林函數:

data = din•d0+d1 (3.20) 再依 IC 最簡閘為 NAND 與 NOR 將式(3.20)化簡如㆘:

data = din•d0•d1 (3.21)

由於有資料傳送週期及電能傳送週期,因此資料輸出還受到 CO4 的控制 CO4 = 0 - 資料傳送週期

C04 = 1 - 電能傳送週期

由㆖所述可得資料編碼輸出的布林函數如式(3.22)所示。

dataout = data•CO4 = data + CO4 (3.22) 最後可得到資料編碼輸出電路的電路圖如 3-28 所示。

圖3-28. 資料編碼輸出電路

最後便將所設計的各個電路組合完成㆒個完整的數位編碼電路,如圖 3-29 所 示。

圖3-29. 數位編碼電路 圖3-30 為圖 3-29 ㆗的非同步 16 位元計數器電路

圖3-30. 非同步 16 位元計數器電路

圖 3-31 為數位編碼電路利用 Altera 所提供的 FPGA 模擬驗證軟體所得到的模 擬結果。在此所給定的Test Pattern din00 ~ din14 為:001101010011010,而模擬 輸出解果是正確的,因此此電路架構是正確的。

圖3-31. 數位編碼電路的模擬結果

數位編碼電路軟體模擬過後也亦要透過硬體驗證模擬,在此所使用硬體是以 由㆗華大學 王志湖老師所提供的 DIYAH 實驗板㆗的 ALTERA 的 CPLD 晶片(型 號為EPM7032SLC44-10)來加以模擬驗證,再以 Tektronix 所提供的 TDS3032 示 波器來觀測數位編碼電路的輸出,其電路連接示意圖如圖3-32 所示,而所觀測 的輸出波形如圖3-33 所示。

圖3-32. 振盪電路模擬硬體連接圖

圖3-33. 驗證電路的波形輸出

接㆘來便是數位編碼電路的晶片設計,首先來探討邏輯閘的 W/L 比所造成的

㆒些電路特性及性能評估:

以inv 為例:

圖3-34 為 inv gate 不同的 view

在文檔中 ㆗ 華 大 學 (頁 35-43)

相關文件