3.4 ‘C6701 DSP EVM 模組簡介
3.6 FPGA 與 DSP 電路設計技巧
吾人在硬體設計過程中,有許多地方都是需要長時間的嘗試及經驗累積才 能得到結果,因此從設計電路的過程,吾人歸納出一些心得及經驗:
1. FPGA 設計心得:
(1) FPGA 的設計通常都是由許多小的電路來組成一個完整的收發機電 路,所以可先驗證所設計的小電路功能是否正確,再進階的組合起 來。由每個部份的組合中,驗證其輸入輸出是否合理,並且善用 LA 來作除錯的工作,如此發生錯誤時,比較容易找到錯誤的地方 且快速修正,以節省系統開發的時間,使其更有效率。
(2) 乘法器的使用會佔用大量的硬體面積和降低執行的效能,所以盡量 避開乘法器的使用,如展頻所需的乘法器改用多工器取代。如果乘
法器的使用是無法避免時,應降低位元數來使用,否則所佔用硬體 的面積會隨著位元數增加而呈平方增加。
(3) 設計時多利用參數化和模組化的設計,以期能迅速調整電路的架構 及系統的擴充性。如此就不用重覆撰寫 HDL 語言,可減少錯誤的 發生。
2. DSP 設計心得:
(1) DSP 的運算時間會依不同的資料型態而異,又以整數型態的運算速 度最快。所以從 FPGA 收到的資料盡量用整數型態來儲存運算,以 縮短運算的時間。
(2) 區塊間的相關性與平行處理具有高度的相關性,由於 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
A D D R[3:0]
D ata[31:0]
O E0 O E1 STRBN0 RD Y 0 RD /W R0 EX TINT0 STRBN1 RD Y 1 RD /W R1 EX TINT1 STRBN2 RD Y 2 RD /W R2 EX TINT2 STRBN3 RD Y 3 RD /W R3 EX TINT3
C6701EV M
to PC's RS232
X D S510 em ulator
圖 3.12 ‘C6701 DSP EVM模組與外部介面模組連線圖
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