• 沒有找到結果。

本論文結合 [17] 的 Normalized Correlator 硬體電路以及 [18] 的 OSort 演算法硬 體電路,並且以模擬器所產生之數據作為測試資料,將兩者以第 三 章第 四 節所 述之控制電路整合控制,故產生了可以連續輸入棘波序列的整合電路。實做 上棘波偵測選用 Normalized Correlator,相較於其他的棘波偵測法則,對於 SNR 相當的敏感,準確率與誤判率都須在高 SNR 為前提之下才行,但 Normalized Correlator 具有在不同 SNR 環境下能高準確率,低誤判率偵測的優點,配合能同 時具備特徵擷取還有分類能力的 OSort 演算法,且此演算法還具有能夠即時分類 (online sorting) 的能力。

在這邊先分析兩個硬體電路的面積複雜度分析,Normalized Correlator 硬 體電路分為 Filter Unit、Block Energy Computation Unit、Correlator Unit、Thresh-olding Unit 以及 Switch Buffer 幾個部份,而 OSort 演算法硬體電路則為 Buffer、

Distance Computation Unit 以及 Mean Updating Unit 幾個部份。如表4.4所示,N 為 棘波之長度 (64 個 sample),亦可稱作 Block Dimension,而 q 為 Template 之個數,

目前是設計為兩個 Template,還有 L 則是指 Switch Buffer 的大小,也就是 Switch Buffer 可以儲存幾個被 Normalized Correlator 電路偵測出來的棘波,根據這些面 積複雜度的分析來看,L 的大小對整體面積的影響相當的大,並且也會影響到下 一節要提的的效能,是本章的重要討論之一。

表 4.4: 各單元面積消耗分析 (a) Normalized Correlator Circuit

Filter Unit Block Energy

Multipliers O(1) O(1) O(qN ) O(1) 0

Dividers 0 0 O(1) 0 0

Comparators 0 0 0 O(1) 0

Registers O(1) O(N ) O(qN ) O(1) O(LN )

(b) OSort Algorithm Circuit

Buffer Distance

Computation Unit

Mean Updating Unit

Adders 0 O(1) O(1)

Multipliers 0 O(1) O(1)

Dividers 0 0 O(1)

Comparators 0 O(1) 0

Registers O(qN ) O(1) O(1)

緊接著實際的將這些電路繞線布局,由 EDA Tool 中觀察真實的硬體資源 消耗,整理成表4.5,與上一張表格所分析預估之硬體資源消耗比例相符,且可 以明顯的發現,本論文所實做之系統中消耗最多硬體資源的部份是 Normalized Correlator 電路中的 Switch Buffer 以及 OSort 演算法電路中的 Buffer,由於改變 Normalized Correlator 電路中的 Switch Buffer 會直接的造成系統的處理結果產出 的變化,在之後有更深入的討論,將會列出各種不同的 Switch Buffer Size 的組合 的面積表現,還有處理結果產出的量化表格,也會討論到為什麼 Switch Buffer Size L 會對電路的效能產生影響。而 OSort 演算法電路中的 Buffer 主要是儲存群

集 (Cluster) 之平均波形 (Mean Waveform) 所用,這直接的表示了 OSort 演算法電 路的最大分群數量上限,在實現本系統時,可以考量到採樣目標的需求,來調整 最大分群數量上限,這部份也可以減少一些電路面積與硬體資源消耗,本論文所 實做之系統是以 32 個群集為例。

表 4.5: 各單元實際硬體資源消耗情形 (a) Normalized Correlator Circuit (Switch Buffer Size L = 40)

Filter Unit Block Energy

ALUT 552 637 3289 52 8560

Registers 196 237 1130 12 28366

Memory bits

0 0 0 0 0

DSP Blocks 0 2 530 0 0

(b) OSort Algorithm Circuit

Buffer Distance

Computation Unit

Mean Updating Unit

ALUT 20682 1168 473

Registers 20842 1020 682

Memory bits 0 0 320

DSP Blocks 0 86 2

有別於以往兩個硬體電路之間缺乏有系統的控制,導致 OSort 演算法的 部份必須等候 Normalized Correlator 的部份計算完畢,才能向其要求所偵測到 的 棘 波 訊 號。 整 合 後 的 系 統 只 需 要 由 外 部 輸 入 棘 波 序 列 即 可, 故 整 體 產 出 大幅度的提昇。實現這個能力的關鍵在於,兩個硬體電路間的緩衝區設計,

在第 三 章第 四 節中提到,兩者間須要一組 Switch Buffer,一者負責接收偵測到

的棘波,一者負責傳遞給 OSort 演算法的部份進行運算,在表4.6中,列出各種 緩衝區大小所消耗的資源量,由此表可見,ALUT 與 Register 的使用量都會隨著 緩衝區大小變化,緩衝區越大則使用量會越大,這部份的資料將會與下一節的處 理時間來做交叉比較,由此可以選出一個適當的緩衝區大小。

表 4.6: 緩衝區資源消耗

ALUT Registers

Switch Buffer Size L = 80

17120 56720

Switch Buffer Size L = 52

11130 36868

Switch Buffer Size L = 40

8560 28366

Switch Buffer Size L = 32

6850 22685

Switch Buffer Size L = 20

4281 14178

Switch Buffer Size L = 16

3424 11345

如表4.6所示,本論文所實做之硬體電路擁有一組的 Switch Buffer 作為緩衝 區,其資源消耗佔了 Normalized Correlator 硬體電路很大的一部分,可見 Switch Buffer 越大則消耗的 AUL 越多,而硬體面積是很重要的指標之一,應取面積小 且處理速度快的方案來實做硬體電路,下一節的效能中將會量測處理時間與緩衝 區大小的關係,有利於選擇適當的緩衝區大小方案。

如表4.7列舉出所有電路之資源消耗,從個別電路 Normalized Correlator 的硬

體電路以及 Sort 演算法硬體電路,還有整合兩者之控制電路、FPGA 平台上所提 供之系統元件、兩個主要的處理硬體電路資源加總,從表中亦可觀察到整合用的 控制電路面積相當的小,卻能使整體系統效能提昇,具有能連續長時間輸入棘波 序列的能力。

表 4.7: 各電路的資源消耗 (with Switch Buffer Size L=40)

ALUT Registers Memory bits DSP Blocks OSort Circuit

(upper limit with 32 clusters)

22604 22562 320 88

Normalized Correlator

Circuit

13966 29733 0 530

OSort and Normalized

Correlator Circuit

39355 36517 320 642

Global

2638 819200 4 0

最後是表4.8,將本論文所實做之系統與其他論文比較,由於 [20] 中所提 出之 OSort 演算法之硬體架構使用的是 PIPO(Parallrel-in-Parallel-out) 的資料傳輸 方式,會增加消耗資源,而本論文所實做之系統是以 SISO(Serial-in-Serial-out)

的方式做資料傳輸,能減少資源消耗。[20] 所使用的 FPGA 開發平台的品牌 為 Xilinx,與我們使用的 Altera 所開發之 FPGA 開發平台,它們所定義設計之 邏輯電路不盡相同,故在此說明個別的差異處。在乘法器的部份 DSP 類似於 Multiplier,本論文所使用之 Altera FPGA 開發平台使用 18-bits 單位乘法器而 [20]

則是使用 25x18 乘法器,所消耗之資源較多一些。而 ALUT 的部份,Xilinx 是以 slice LUTs 為單位,約等於兩個 ALUT。而本論文所實做之系統在 Memory bits 的 使用量上,比起 [20] 少了很多。在這些比較之下可知,各類型的硬體資源消耗 綜合起來與 [20] 差不多。

本論文亦實做以 NEO 取代 Normalized Correlator 的部份,做一個面積的估 算,由於 NEO 的乘除運算相較於 Normalized Correlator 少了非常多,故可以發現 取代後,DPS Blocks 的使用量大幅度的降低到與 [20] 相近,而 LUT 消耗量也有

Proposed (L=40) 39355 320 642

Hardware proposed by [20] 47134 225000 29

NEO-Proposed (L=40) 38529 320 79

(NEO replace Normalized Correlator)

相關文件