第五章 FPGA 設計
5.3 碼擷取及頻率偏移估測
5.3.2 記憶單元與控制信號
我們會將切片匹配濾波器的輸出儲存到記憶單元(RAM)中,以便往後作碼擷 取的工作。我們每次會將 16 個十六位元的資料從 RAM 中讀出,乘上長攪亂馬 在送入 FHT 中,我們使用兩種電路來控制 RAM 的讀取與寫入動作。圖 5.13 為 記憶體資料讀寫的流程圖
RAM Array 1
RAM Array 2
RAM Array 3
RAM Array 4 write data to
RAM
read data from RAM
frequency divider I: 16 bits
Q: 16 bits I: 16 bits
Q: 16 bits
I: 256 bits
Q: 256 bits
clock for write clock for read
圖 5.13 Data flow of on chip block ram
Xilinx 公司的 Virtex FPGA Series 提供了有專用的雙重讀寫埠的同步記憶 體。此同步記憶體的每一個連接埠可以單獨的是一個讀取、寫入、或是讀寫埠,
資料的寬度也可以調整。圖 5.14 是具有雙重讀取埠的記憶體之接腳說明圖。
圖 5.14 The dual port block RAM
假設最大的傳輸延遲為 256 切片時間,且信號的取樣率為切片速率的 4 倍。
這 樣 整 個 取 樣 數 目 在 平 方 根 上 升 餘 弦 濾 波 器 MF 的 I/Q 通 道 將 為
。而每一個記憶體區塊有 4096 個 ram cells,它能儲存 256 筆資料,每筆資料可以有 16 位元。所以我們需要
(4096 256) 4 2+ × × =34816
( )
34816 256 =136個記憶 體區塊來儲存所有的資料。
由 LSSR 所產生的攪亂碼也是要放到記憶體中來儲存。我們選擇使用單埠的 記憶體區塊來儲存攪亂碼。這碼的長度為 4096,所以能被儲存到一個單埠的記 憶體區塊( )中。因為有 I 通道與 Q 通道的長攪亂碼,因此需要兩個單埠 的記憶區塊。圖 5.15 是此單埠記憶體區塊的接腳說明圖。
256 16×
圖 5.15 The single port block RAM
為了要有系統的將接收信號寫入記憶體區塊以及將資料從記憶體區塊中讀 出,我們建構一個記憶體陣列( RAM array)。圖 5.16 為這個記憶體陣列的階層式 構造圖。每一個 RAM cell 深度被規劃為 256 而長度為 16 位元。圖 5.17 為用此 記憶體陣列下的資料寫入控制圖。
RAM Cell 1
RAM Cell 2
RAM Cell 3
RAM Cell 4
RAM Cell
16
RAM Array I RAM Array Q
RAM Array 1 RAM Array 2 RAM Array 3 RAM Array 4
……
圖 5.16 The hierarchy structure of RAM array
Sample Counter (0~3)
RAM Array Counter (0~15)
Address Counter (0~255)
Decoder
Decoder
Decoder
select RAM array number
select RAM block in array
select address of RAM
圖5.17 RAM write control
圖5.18(a) (b)的電路主要功能為控制記憶體資料的讀取,整個讀取控制的過 程總結如下:
1. 從記憶體陣列四種不同的取樣組別中選擇其中之一。
2. 將延遲數目解碼並計算記憶體的位址(address)與位置(position)。 3. 將位址的數目加1。
RAM read controller
path delay number address 1
address 2 position
圖 5.18 (a) RAM read control
address 1 address 2
Block RAM
delay = 39 chip times position
圖 5.18 (b) RAM read control
5.3.3 快速哈達馬轉換
FHT 架構是用來計算每一個接收信號與 Walsh-Hadamard code 的相關值係 數。此相關值係數可用來決定接收信號與正確的 Walsh-Hadamard code 的相似 性 。 假 如 我 們 可 以 找 出 最 大 的 相 關 值 , 則 計 算 此 相 關 值 所 對 應 到 的 Walsh-Hadamard code 將被選定為最可能的傳送碼。在我們的設計裡,所用的碼 長度為 16。
我們將 FHT 的設計分為兩個部分:加法部分與減法部分。圖 5.19(a)為加法 部分與減法部分的 RTL 結構圖。圖 5.19(b)為將這兩部分合併起來的的結構圖。
D-Flip
圖 5.19 (a) Adder and subtractor part
Add
圖 5.19 (b) FHT combine adder part and subtractor part