• 沒有找到結果。

第三章 ERP-PBCC 系統的維特比解碼器之硬體實現與驗證

3.2 維特比解碼器(Viterbi Decoder)之電路設計

3.2.3 SMU

圖 3.17 SMU 單元電路內的記憶和邏輯架構圖

前文所提到的3-pointer even algorithm 的部份,其主要的硬體執行動作,可 以由圖3.18 來說明。

圖 3.18 回溯架構的方塊圖

在 圖 3.18 中 , 我 們 可 以 看 出 主 要 的 執 行 動 作 , 分 為 Write(WR) 、 Trace-Back(TB)、Decoder(DC)三大部份。以下將一一說明:

Write Block Decode

Block

Write Decision

Vector

Read region Write Region Trace-back

Survivor Path

Merge Block

一:Write(WR)

WR 主要是將 ACSU 所計算出來而產生的決策位元(survivor),寫入到符合的 儲存區塊位置,也就是圖 3.17 中 RAM 的區塊中,作為回溯時所需讀取決策位元 的來源。此區塊為寫入區塊(Write Region)。

二:Trace-Back(TB)

TB 主要是讀取對應目前狀態點的儲存方塊所儲存的決策位元,作為目前的狀 態追溯回到上一個狀態的指標,之後一直重覆此動作,利用目前狀態與狀態指標 的關係,不斷不斷地追溯找出新的狀態。就在圖3.18 中,Survivor Path Merge 區 塊中做追溯,我們就可以追溯出最佳路徑,那到了夠長的截斷長度之後,所有回 溯路徑便會聚合在一起。

三:Decoder(DC)

經由 Trace-Back 方塊,已經回溯出所有路徑的聚合狀態點,如圖 3.18 中,

Decoder 方塊繼承 Trace-Back 方塊追溯得到的聚合狀態點,繼續地追溯找出聚合 的路徑,而尋找聚合路徑的下一個狀態點時,根據狀態間的前後關係,便會得到 解碼位元的輸出。由 Trace-Back 和 Decoder 兩個區塊所合併起的區塊,稱為讀取 區塊(Read Region)。

算完的結果。在追溯狀態,則利用邏輯部分不斷地做追溯動作更新暫存器內容值,

並在特定時間點輸出追溯結果給別的單元電路。在解碼狀態時除了不斷地追溯 外,邏輯部分的多工器將同時輸出解碼位元。經過96 個時脈週期時,由第一個單 元電路開始輸出第一筆解碼資料,經過16 個時脈週期後,第一個單元電路完成輸 出16 筆解碼位元,由第二個單元電路輸出解碼位元,如此依序,以 16 x 6 = 96,

以96 個時脈週期為一個週期。另外,(3, 2, 8)編碼器的時脈為 24 x 6=144,以 144 個時脈為一個週期。

圖3.20 所示為實現 3-pointer even algorithm 的電路架構圖,因為以 3-pointer even algorithm 為架構之 Trace-Back 電路,解碼順序是先由單元電路之後往前輸出 解碼位 元, 跟編 碼器 輸入的 資料 剛好 相反 ,因此 我 們 需 要 一 個 反轉的 電路 (Inverse_Unit),改變解碼位元輸出順序,如此 6 個單元電路,控制電路,回溯輸 出多工器,和反轉電路處理器構成以 3-pointer even algorithm 架構的 Trace-Back 方塊電路。

圖3.20 3-pointer even 架構的元件和電路方塊連接圖

圖 3.21 (2, 1, 6)編碼器中主要的 tb cell 電路合成圖

圖3.22 (3, 2, 8)編碼器中主要的 tb cell 電路合成圖

圖 3.23 和圖 3.24 是(2, 1, 6)編碼器和(3, 2, 8)編碼器分別的 Trace-Back 的完整 方塊的硬體複雜度,其中包含所用掉的LE(Logic Elements)的數量,和之前 BMU、

ACSU 部份所沒有的記憶體部份 MB(Memory Bits)。

圖3.23 VHDL 所撰寫的(2, 1, 6)編碼器 SMU 硬體複雜度

圖3.24 VHDL 所撰寫的(3, 2, 8)編碼器 SMU 硬體複雜度

由上面兩個圖比較一下,LE(Logic Elements):2518/536≒4.7,MB(Memory Bits):98112/12288≒7.98,以下我們稍微解釋一下:

一:在LE 的方面,因為本身(3, 2, 8)編碼器的狀態數便是(2, 1, 6)編碼器的 4 倍,

也因此在做狀態判斷的時候,所需的LE 也會是 4 倍。

二:在MB 方面,不論是哪一個解碼器,在同一個時脈(clock)的當時,(2, 1, 6)編 碼器便在RAM 裡面儲存了 64 筆資料,而(3, 2, 8)編碼器則是儲存了 256 筆資料。

但是,由圖3.22 得知,(3, 2, 8)編碼器在 Trace-Back 的部份,有兩個 RAM,所以 等於是同時儲存了256x2=512 筆數的資料,也因此 512/64=8,和硬體所估計的 7.98 倍很接近。

而圖 3.25 和 3.26 則是兩個編碼器最後整個的解碼架構的硬體邏輯設計電路的 複雜度。其中的LE(Logic Element)和 MB(Memory Bits)的部份,便是之前三大主 要區塊的總合。

圖 3.25 VHDL 所撰寫的(2, 1, 6)編碼器維特比 Viterbi 硬體複雜度

圖3.26 VHDL 所撰寫的(3, 2, 8)編碼器維特比 Viterbi 硬體複雜度

表 3.3 是(3, 2, 8)編碼器在不同位元時(以三、四位元為例),所設計的維特比解 碼器架構的硬體複雜度,可以由表簡單地看出,大約將近多了3%左右的硬體複雜 度。配合之前第二章的圖 2.20 和表 3.3 可以看出,其實三、四位元的模擬效能和 硬體複雜度相差不多,所以基於成本和設計方面的考量,(3, 2, 8)編碼器以三位元 為主來做設計,實用性便足以適用。

表 3.3 (3, 2, 8)編碼器在三、四位元時的硬體複雜度比較

Viterbi Decoder 3_bits 4_bits Logic Elements 31501 33290

在文檔中 碩 士 論 文 中 華 大 學 (頁 59-68)

相關文件