吾人在硬體設計過程中,有許多地方都是需要長時間的嘗試及經驗累積才能得到結 果,因此從設計電路的過程,吾人歸納出一些心得及經驗:
1. FPGA 設計心得:
(1) FPGA 的設計通常都是由許多小的電路來組成一個完整的收發機電路,所以可 先驗證所設計的小電路功能是否正確,再進階的組合起來。由每個部份的組 合中,驗證其輸入輸出是否合理,並且善用LA 來作除錯的工作,如此發生錯 誤時,比較容易找到錯誤的地方且快速修正,以節省系統開發的時間,使其 更有效率。
(2) 乘法器的使用會佔用大量的硬體面積和降低執行的效能,所以盡量避開乘法 器的使用,如展頻所需的乘法器改用多工器取代。如果乘法器的使用是無法 避免時,應降低位元數來使用,否則所佔用硬體的面積會隨著位元數增加而 呈平方增加。
(3) 設計時多利用參數化和模組化的設計,以期能迅速調整電路的架構及系統的 擴充性。如此就不用重覆撰寫HDL 語言,可減少錯誤的發生。
2. DSP 設計心得:
(1) DSP 的運算時間會依不同的資料型態而異,又以整數型態的運算速度最快。
所以從FPGA 收到的資料盡量用整數型態來儲存運算,以縮短運算的時間。
區塊間的相關性與平行處理具有高度的相關性,由於DSP 之 CPU 內含兩個乘法器,若無 相關性的兩個乘法平行使用CPU 內的乘法器,則可在同一個時脈時間內完成動作。但若區 塊相關性很高的話則會造成運算時間的延遲,所以遇到此情形的區塊應盡量使用FPGA 完 成之。
Aptix MP3C
JTAG
Code Composer Studio Xilinx Foundation
Ethernet Ethernet
Ethernet POD Logic Analyzer
Work station
圖3.1 快速雛型發展系統硬體連線示意圖
FPICs Patten Generator
USB 2.0 module C6701
EVM module
Virtex
Ⅱ
6000 Virtex
2000
圖3.2 Aptix System Explorer MP3C 實體圖
F r e e h o le
E n tity 1 E n tity 2
F P IC
圖3.3 MP3C FPIC 繞線示意圖
Circuit Design
HDL Editor
Schematic Flow
FSM Editor
Synthesis
Behavior description
Function Simulation
Place & Route
Download to MP3C & LA
LA Debug
Yes
Yes
No
No
No
Timing Simulation
Yes
RTLRTL
Yes
No
圖3.4 MISO W-CDMA 系統硬體平台驗證流程圖
圖3.5 TMS320C6701 DSP 系統架構圖
圖3.6 TMS320C6701 DSP CPU 架構圖
16M x 8 External RAM
4M x 8 External RAM 64K x 8 Internal Prog. RAM
On-chip Peripherals
16M x 8 External RAM
16M x 8 External RAM
64K x 8 Internal Data RAM
Byte Address
0000_0000
Async (SRAM, ROM, etc)
Sync (SBSRAM, SDRAM)
Range 1
Only Async SBSRAM
Used by Boot Loader
Internal Block
Prog = RAM or cache
Data = 8/16/32-bit R/W
Mem-mapped Periph
= reserved 16M x 8
External RAM
4M x 8 External RAM 64K x 8 Internal Prog. RAM
On-chip Peripherals
16M x 8 External RAM
16M x 8 External RAM
64K x 8 Internal Data RAM
Byte Address
0000_0000
Async (SRAM, ROM, etc)
Sync (SBSRAM, SDRAM)
Range 1
Only Async SBSRAM
Used by Boot Loader
Internal Block
Prog = RAM or cache
Data = 8/16/32-bit R/W
Mem-mapped Periph
= reserved
圖3.7 TMS320C6701 DSP 記憶體映射圖
圖3.8 TMS320C6701 DSP 外部記憶體(EMIF)介面連線圖
圖3.9 ‘C6701 DSP EVM 模組實體圖
圖3.10 DSP EVM 模組轉接卡示意圖
TM S 32 0C
Co ntrol ( CP LD )
Board 1
Board 2
Board 3
Board 4
ADDR[3:0]
t2
Zero wait delay Wait delay
t1
Data[31:0]
DSPCLK tclk
t2+n*1/tclk
Ready sample Ready sample
t5
Setup=2 Strobe=4 HOLD
=1 Setup=2 Strobe=4
HOLD
=1
Not ready
t3 t4
Zero wait delay Wait delay
Data[31:0]
DSPCLK tclk
t2+n*1/tclk
Ready sample Ready sample t5 Setup=2 Strobe=4 HOLD
=1 Setup=2 Strobe=4
HOLD
=1
Not ready 10ns(max)
圖3.14 DSP EVM 模組寫出時序圖
圖3.15 USB 2.0 模組實體圖
圖3.16 CYPRESS CY7C68013 微控制器方塊圖
USB
Module DSP Module
FPGA Module
Aptix MP3C PC
Terminal
Data Bus
圖3.17 USB 2.0 與週邊模組架構圖
圖3.18 EX USB 軟體操作介面圖
表3.1 TTL 邏輯準位
TTL邏輯準位
一、 VOL VOH VIL VIH 電源
≦0.4 Volt ≧2.4 Volt ≦0.8 Volt ≧2.0 Volt 5 Volt
表3.2 TMS320C6701 DSP 外部記憶體與記憶體種類使用對應表
外部記憶體區塊
記憶體種類 CE0 CE1 CE2 CE3
SBSRAM ○ ○ ○ ○
SDRAM ○ ○ ○
ASRAM ○ ○ ○ ○
ROM ○
表3.3 C6701 EVM 模組記憶體映射表 Description Address Range(Hex) Size
(Byte) MAP 0 MAP 1
0000 0000–0003 FFFF Internal program RAM 64K Bytes 0040 0000–0003 FFFF
External memory SRAM CE0 256K Bytes
0100 0000–0101 FFFF External memory FLASH CE1 128K Bytes
External memory SRAM CE0 256K Bytes
0140 0000–0141 FFFF Internal program RAM 64K Bytes
External memory FLASH CE1 128K Bytes 0180 0000-01FF FFFF DSP internal control register
0210 0000-0210 001C 32 UART (Only use low byte for each word) 0300 0000-0300 003F 32 All board disable
0300 0040-0300 007F 64 Board 1 active area.
0300 0080-0300 00BF 64 Board 2 active area.
0300 00C0-0300 0FFF Not use 0300 0100-0300 013F 64 Board 3 active area 0300 0140-0300 01FF Not use 0300 0200-0300 023F 64 Board 4 active area
表3.4 USB 2.0 模組管道對應表
Max Packet Size (bytes) 2 1
0
Alternate Setting Type
Endpoint
表3.5 ALU 功能表,使用 2 埠 4 bits 輸入 A、B,與 1 埠 4 bits 輸出,並使用 S2S1S0決 定其工作模式
Operation Inputs S2S1S0
Outputs F
Clear 000 0000 B−A 001 B−A
A−B 010 A−B
ADD 011 A ADD B
XOR 100 A XOR B
OR 101 A OR B
AND 110 A AND B
Preset 111 1111
四、MISO W-CDMA 高速下鏈基頻收發機之硬體電路設計
吾人所發展之MISO W-CDMA 高速下鏈收發機的系統實現電路中,將全系統的各功 能單元分為FPGA 及 DSP 兩部份來互相搭配,在 FPGA 的部分中,吾人使用二顆模組,分 別為Xilinx 所出的 VIRTEXE-2000 及 VIRTEXⅡ-6000,DSP 則使用’C6701 EVM 的模組,
系統的操作時脈為15.36MHz;在發射端,資料由 DSP 寫入到 FPGA 中的一組記憶體中,
再由記憶體把資料根據不同的編碼率來調整資料送出之速率,經由迴旋碼編碼器(編碼率 為 1/2 與 1/3)、交錯器、空-時區塊編碼電路,再和引導通道和同步通道相加起來,利用 八根天線所產生的二組波束,把資料由二組不同的角度送出。
在收接機的部分,吾人所使用到的功能單元為:RRC 濾波器,碼同步單元、路徑搜 尋單元、碼追蹤單元、解展頻電路、頻率估計及補償電路、空-時解碼電路、解交錯、迴 旋碼解碼電路,以上除了碼追蹤單元、路徑搜尋單元及頻率估計電路由DSP 來完成外,其 餘皆是由FPGA 來實現,使系統平台的整體速率可達到平行化(pipeline)的效能,其中部分 電路為採用學長的IP (Intellectual Property),整合於吾人的系統中,可以增加系統開發的時 效性。由FPGA 及 DSP 驗證結果,吾人將各部份單元更進一步的詳細說明與效能探討。在 本章最後,吾人將利用USB 模組來傳輸即時的影像,更可驗證系統的效能分析,吾人也將 說明討論及簡單歸納研究的心得結果。