デジタル信号処理開発における DSPとFPGAの

デジタル信号処理開発における
DSPとFPGAの役割と協調設計
株式会社パルテック
DSP スペシャリスト 東崎 周平
Proprietary to PALTEK CORPORATION
Agenda
 1 最新DSP市場の動向
– 1-1要求スペック
– 1-2実現例と問題点
 2 最新のDSP/FPGA構成
– 2-1DSPの最新事情
– 2-2FPGAの最新事情
 3 DSPとFPGAの協調設計による利点
– 車載アプリケーション事例2 画像処理システム
 4 DSP/FPGプラットフォームによる問題解決手法
– 4-1演算スペックの解決手法
– 4-2接続性の解決手法
 5 まとめ
Agenda
 1 最新DSP市場の動向
– 1-1要求スペック
– 1-2実現例と問題点
 2 最新のDSP/FPGA構成
– 2-1DSPの最新事情
– 2-2FPGAの最新事情
 3 DSPとFPGAの協調設計による利点
– 車載アプリケーション事例2 画像処理システム
 4 DSP/FPGプラットフォームによる問題解決手法
– 4-1演算スペックの解決手法
– 4-2接続性の解決手法
 5 まとめ
最新DSP市場の動向
 処理スペックの増加
– アプリケーション特化のアクセラレータ
• 画像エンコーダ、コーデック
• 通信向け符号/復号
– 動作周波数の増加
 インターフェースにおける帯域増加
– 高速シリアルインターフェースによる接続
– 広帯域メモリバンド幅
 高速なアナログインターフェースとの接続性
– Gbps級のマルチチャンネルADC/DAC
処理スペックの増加
>10,000MMACS,
14.3%
<100MMACS,
19.3%
6,00010,000MMACS,
9.2%
1,0006,000MMACS,
21.6%
100-600MMACS,
24.3%
6001,000MMACS,
11.5%
*GMACS : Giga Multiply Accumulate / Sec
1秒当りの積和演算回数
要求スペックは益々増加する傾向にある
Source : Forward Concepts
増大するDSPパフォーマンスギャップ
4G
LTE
SDR
3G Imaging
Radar
(Algorithmic & Processor Forecast)
Performance
要求パフォーマンスに対して、
要求パフォーマンスに対して、
従来の
DSP Processor
では追従出来ない
従来のDSP
Processorでは追従出来ない
hm
t
i
or
g
Al
ity
x
e
pl
m
Co
SD/HD Video
*
DSP/GPP
Traditional
Processor
Architectures
1960
1970
1980
1990
2000
2010
実際のスペック差
実際のパフォーマンス
実際のパフォーマンス
40000
35000
1400000
DSP
1200000
30000
DSP
FPGA
1000000
MMACS
MMACS
25000
20000
800000
600000
15000
400000
10000
200000
5000
0
2001
0
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
YEAR
DSPもパフォーマンスは年々増加している
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
YEAR
FPGAは高集積化によりさらに上をいく
2011
構成例
Type
GP Fixed-Point DSP
GP Floating-Point DSP
FPGA for stand-alone DSP
Proprietary DSP core
DSP w/ FPGA algorithm accelerator
Media Processor / Video Processor
RISC/DSP Chip : single vendor
Licensed DSP core
FPGA DSP Engine w/ soft RISC
GP MPU for DSP (e.g.,Pentium)
Hardwired DSP Chip
FPGA DSP Engine w/ hard RISC
Licensed RISC core
Dynamic. Reconfigurable Processor
DSP/DSP Chip Comb
Massively Parallel Processor
RISC/RISC Chip Combo
Don't Know
116
71
60
51
50
49
48
38
36
35
34
31
27
26
24
15
12
19
DSPやFPGAを単体で使用しているケース
(5GMMACS以下の要求スペック)
専用のH/Wを使用しているケース
(ASICやASSP等の固定のアーキティクチャ)
複数のDSP/RISCを使用しているケース
FPGAを積和演算のアクセラレータとして使用
Source : Forward Concepts
要求実現の方法と問題
シングルDSP or シングルFPGA
マルチDSP /RISC構成
メリット
メリット
システムがシンプル
ソフトウェア設計のみでパフォーマンスネックを解消
デメリット
デメリット
アプリケーションによっては仕様を満たすことが可能
基板面積の増加
柔軟性 (I/Fや演算手法)が限られている
消費電力の増加
パフォーマン不足
システムコストの増加
1.システムの切り分け
ASIC / ASSP
シングルDSP + シングルFPGA
メリット
信号処理の観点からS/W、H/Wの処理の切り分け
メリット
低コスト
単純な積和演算 : H/W
パフォーマンスメリットと柔軟性を兼ねる
デメリット 複雑な制御演算 : S/W
パフォーマンス当りのコスト低減が可能
アーキティクチャーが固定
2.アプリケーションによる切り分け
開発費に対するリスク増加
専用アクセラレータの有無
差別化要因を作り難い
3.DSP-FPGA間インターフェース
ユーザ独自機能 (差別化要因)を取り入れやすい
デメリット
システムの切り分けが必要 (パーティショニング)
FPGA / DSPのインターフェースの検討
アプリケーションの観点から最適なインターフェースの選択
問題点
 DSPの問題点
–
–
–
–
処理スペック不足
広帯域外部メモリインターフェースが無い
デバイスとの高速通信
ソフトウェアオーバヘッドによる遅延時間の増加
 FPGAの問題点
– ホストCPUが無い柔軟性不足
– 設計期間 (コンパイルやシミュレーション時間)
– 回路設計のコスト
• 画像コーデックを行うためには専用IPコアの購入費用や追加の設計費用
が発生
問題点の解決
 DSPとFPGAの問題点に共通している点が少ない
 一方の問題点が、もう一方の利点となっているケースが多い
最適なDSPによる実現
最適なFPGAによる実現
DSP + FPGAによる実現 → 柔軟性 + パフォーマンスバランス
Agenda
 1 最新DSP市場の動向
– 1-1要求スペック
– 1-2実現例と問題点
 2 最新のDSP/FPGA構成
– 2-1DSPの最新事情
– 2-2FPGAの最新事情
 3 DSPとFPGAの協調設計による利点
– 車載アプリケーション事例2 画像処理システム
 4 DSP/FPGプラットフォームによる問題解決手法
– 4-1演算スペックの解決手法
– 4-2接続性の解決手法
 5 まとめ
DSPの設計フロー と設計環境
Code Composer Studio TM v4
TI Code Composer Studio
テキサス・インスツルメンツ社DSPの統合開発環境
コンパイラ
アセンブラ/リンカ
デバッグ
最適化
1.
2.
3.
4.
5.
6.
デザインエントリーはC/C++
コードエディタからコンパイラ、アセンブラ、リンカのコード生成ツール
高機能なプロファイラ、ウォッチウィンド、シンボルブラウザまたはデータ
のグラフ化
Cライクなスクリプト言語(GEL)による機能のカスタマイズ
プラグインツールにより機能を拡張
DSP/BIOSをバンドル
DSPによる解決手段
(例 : TI社 Processor シリーズ)
 市場要求による製品の選択性
選択例
DSP Processor : 600MHz以上
H.264 MP/HP
1080 i/p
ホスト I/F : 10/100/1000イーサネット
専用アクセラレータ内蔵DSP
DM3xx
DM355
Video doorbell
and networked
video/ imaging
applications
ARM926EJ-S CPU
135, 216 or 270 MHz
Video Processing Subsystem
ARM
Subsystem
ARM926
EJ-S
CPU
MJCP CoProcessor
Front End
Preview
Histogram/3A
Resizer
CCD Controller
Video Interface
MPEG-4
Back End
Enhanced
On-Screen
Display
JPEG
Video
Enc
10b DAC
ARM: 16KB I-Cache, 8KB DCache;
8KB ROM;
32KB program/data
Video: SD and HD (720p)
MPEG-4 & JPEG Coprocessor
(MJCP)
USB 2.0 HS OTG device and
mini-host w/ PHY
External memory interface
(EMIF)- Mobile DDR/DDR2
DMA Data & Configuration Bus
ASP, I2C, SPI x3, UARTx3
Connectivity
Peripherals
USB
2.0HS
OTG
EDMA
Serial Interfaces
I2C
ASP
SPI
x3
UART
x3
System
Timer
WDT
x6
Program/Data Storage
mDDR/
DDR2
EMIF
NAND/
ECC
(EMIF)
MMC/
SDIO
x2
Volume Production Now!
PWM
x4
Low price for
high definition video
DM355 video doorbell
system diagram – capture
Clocking
CDCE949
Audio
Codec
TLVAIC33
DDR
Memory
DDR2
EMIF
ASP
DM355
CMOS
Sensor
Video
Out
Video Amp
THS7315 / 16
Video In
SDIO
GPIO
Temp Sensor
TMP100
WLAN
10/100
MAC &
PHY
EMIF
1.3V
Core Pwr
1.8V
Mem Pwr
3.3V
I/O & System Pwr
TPS62050
TPS62200
TPS62050
5V
PoE
TPS23750
画像インターフェース内蔵DSP
DM64
DM64
DM643x
31
35
DM6437
Front End
CCD Controller
Video Interface
L1D 80KB
L2
128 KB
Cache
Preview
Histogram/3A
Resizer
Back End
Video
Enc
(VENC)
On-Screen
Display
(OSD)
L1P 32KB
10b DAC
10b DAC
10b DAC
10b DAC
Switch Fabric
Peripherals
EDMA
Connectivity
PCI
33
or
VLYNQ
EMAC
Serial Interfaces
McBSP ×2
or
McASP
Decode
Encode
Encode/
Decode
DM6431
DM6433
DM6435
DM6437
C64x+
DSP Core/
300 MHz
C64x+ DSP
Core/
600 MHz
C64x+
DSP Core/
600 MHz
C64x+
DSP Core/
600 MHz
L2 64KB*
L1P 32K*
L1D 32K*
L2 128KB*
L1P 32KB*
L1D 80KB*
L2 128KB*
L1P 32KB*
L1D 80KB*
L2 128KB*
L1P 32KB*
L1D 80KB*
DDR2-266 (16b)
DDR2-266
(32b)
DDR2-266
(32b)
DDR2-266
(32b)
Video In:
1 VP 10b
Video In:
none
Video In:
1VP 16b
VPSS
Video In:
1VP 16b
VPSS
Video Out:
none
Video Out: VPSS:
w/OSD
4 10b DACs
Video Out:
none
Video Out: VPSS:
w/OSD
4 10b DACs
EMAC or EMIF
PCI or VLYNQ/
EMAC, HPI
or EMIF
VLYNQ/ EMAC, HPI
or EMIF
PCI or VLYNQ/
EMAC, HPI or EMIF
McASP, I2C, CAN,
UART, SPI
McASP, I2C,
UART, SPI
McASP, I2C, CAN,
UART (2), SPI
McBSP or McASP,
I2C, CAN,
UART (2), SPI
Video Processing Subsystem
DSP Subsystem
C64x+TM DSP
600-MHz
Core
Encode
Low-end
IP
Netcam
I2C
UART
×2
CAN
SPI
or HPI
System
Timer
64-bit WD PWM
×2 Timer ×3
Program/Data Storage
DDR2
Controller
(32b)
EMIF
(8b)
Pin-for-pin compatible
AEC-Q100 auto qual
PLL
JTAG
DDR
PLL
OSC
Please check user guide for MUXing options
* Cache/RAM reconfigurable
DM6435 processors address
security IP Netcam application needs
DDR2 SDRAM
266 32-Bit
PTZ
Control
3
32
Bayer/RAW
16
PWM (x3) DDR2
EMIF
Video In
Composite
10/100
EMAC
I2C
McBSP
CLKIN
Crystal/OSC
27 MHz
UART
Audio
CODEC
MSP430
(optional)
 Low cost, scalable camera solution
 Programmable DSP core enables
embedded video analytics
Monitor
(NTSC/PAL)
optional with DM6437
DM6435
CMOS/CCD Sensor
Ethernet
PHY
(802.3)
Video Out
RTC
Real-Time
Clock
(optional)
マルチコアDSP x3
L1P
L1P
L1P
C64x+TM
Core
C64x+TM
Core
C64x+TM
Core
L1D
L1D
L1D
L2 Cache/RAM
L2 Cache/RAM
L2 Cache/RAM
Switched Central Resource
SRIO
McBSP
Semaphore
EDMA3.0
Antenna I/F
I2C
PLL
TCP2
Frame Sync
GPIO
Boot ROM
VCP2
GEMAC
DDR2-667
Timer
最新DSP事情まとめ
 最新設計環境 Code Composer v4.0
 アプリケーションターゲットのデバイスラインナップ
– アプリケーション依存のペリフェラル
– 専用アクセラレータ
 パフォーマンス問題の解決
– マルチコア化
• x3コア、x6コア
– 専用アクセラレータ
• 画像コーデック、誤り訂正
– 高速シリアルインターフェースの採用
• SRIO、OBSAI、CPRI (携帯基地局向け)
FPGAの設計フロー と設計環境
XILINX ISE
ISETM Foundation
ザイリンクスFPGAの統合開発環境
アルゴリズムの検討
1. デザインエントリーはHDL (VHDL, Verilog-HDL)、回路図
HDL記述やIPの利用
論理合成
配置配線
デバッグ
2. コードエディタから、論理合成、配置配線まで全てをサポート
3. ISEシミュレータを使ったHDLシミュレーション
4. タイミング解析ツール及び、消費電力解析環境
5. オプションツール (ChipScope Pro)による実機デバッグ環境
FPGAによる解決手段
(例 : ザイリンクス社 Virtex-6の場合)
 信号処理・画像処理に関して
– 信号処理ブロック(最大2016個)搭載の専用デバイスの選択
– ホストとのインターフェースが確立されているデバイス
• 10/100/1000イーサネットMAC専用ブロック
• PCI Express インターフェース専用ブロック
– Gen1 : 2.5Gbps
– Gen2 : 5Gbps
– 大容量画像データ等の広帯域外部メモリとのインターフェース
• DDR3 / DDR2 等の広帯域メモリインターフェース
– 広帯域なデータ転送
• 1ブロックで10Gbpsのトランシーバーブロックを複数搭載
– 最大100Gbps以上
FPGAによる解決手段
(例 : ザイリンクス社 Spartan-6の場合)
 信号処理・画像処理に関して
– 信号処理ブロック(最大180個)搭載
– ホストとのインターフェースが確立されているデバイス
• 10/100/1000イーサネットMAC専用ブロック
• PCI Express インターフェース専用ブロック
– Gen1 : 2.5Gbps
– 大容量画像データ等の広帯域外部メモリとのインターフェース
• DDR3 / DDR2 等の広帯域メモリインターフェース
– 広帯域なデータ転送
• 1ブロックで3.125Gbpsのトランシーバーブロックを複数搭載
最新FPGAのMAC構造
B
D
A
X
P
+/-
=
C
25x18 Multiplier
25bit Pre-adder
ALU-like
Second Stage
Pattern Detector
最大2016個@600MHz = 1.2TMACS
高速トランシーバーブロック
Virtex
-6 は
6.5Gbps対応
Virtex-6
は6.5Gbps対応
トランシーバが標準搭載
FPGAにおけるI/Fの柔軟性 ~Virtex-6/Spartan-6の例~
Rx
Rx
Stats
Stats Mx
Mx
Processor
Processor
Interface
Interface
DCR Bus
Host Bus
EMAC Core
Host Interface
EMAC Core
Rx
Rx
Stats
Stats Mx
Mx
Tx
Tx
Stats
Stats Mx
Mx
Statistics Interface
Phy Interface
Client Interface
Fabric
Fabric
Interface
Interface
Tx
Tx
Stats
Stats Mx
Mx
Phy Interface
Client Interface
Statistics Interface
FPGAにおけるMemory I/Fの柔軟性
Memory Interface
Virtex-6 FPGA
DDR2 SDRAM
800 Mbps*
DDR3 SDRAM
1066+ Mbps*
QDR II+
400 MHz (2x 800 Mbps)*
RLDRAM II
500 MHz (1000 Mbps)*
Interface
Spartan-6
DDR3 SDRAM
800 Mbps*
DDR2 SDRAM
800 Mbps*
DDR SDRAM
400 Mbps*
LP DDR
400 Mbps*
*All frequencies quoted are for all speedgrades except -1L
最新FPGA事情まとめ
 高集積化
–
最大2016個のDSPブロック
–
–
高速シリアルトランシーバーの充実
広帯域の外部メモリインターフェース
 アプリケーションに特化した機能ではなく、あら
ゆる機能を高性能にしてきている
Agenda
 1 最新DSP市場の動向
– 1-1要求スペック
– 1-2実現例と問題点
 2 最新のDSP/FPGA構成
– 2-1DSPの最新事情
– 2-2FPGAの最新事情
 3 DSPとFPGAの協調設計による利点
– 車載アプリケーション事例 画像処理システム
 4 DSP/FPGプラットフォームによる問題解決手法
– 4-1演算スペックの解決手法
– 4-2接続性の解決手法
 5 まとめ
ドライバー・アシスタントシステムの例
Driver Assistance Feature
認識
警告
補正制御
パフォーマンス拡張
死角検出
レーン離脱警告
位置修正
緊急ブレーキアシスト
標識認識
前方衝突警告
自動コース修正制御
衝突前センサー
駐車場アシスト
後退時の警告
自動駐車システム
横衝突検知
レーン変更アシスト
歩行者への警告
夜間走行
居眠り警告
安全停止
歩行者保護システム
自動ブレーキ
レーンキープ
1つの処理を行う為に複数のスレッドが同時に実行
リアルタイム性が要求される
車載アプリケーションにおける画像処理
Intra
予測
ビットストリーム
整数変換、Q
+
_
エントロピー
エンコーダ
予測ループ
スイッチ
逆整数変換
、Q-1
動き補正
動き補償ループ
画像入力
Next
Frame
動き予測
デブロック
フィルター
バッファ
15
+
15
Sum of Absolute DefferencesSAD    X i  j Y i  j 
i 0 j 0
アプリケーションによって1サイクル当たり64回の場合もあれば
数千回行うケースもある
SADの演算を並列化することが必要
各機能におけるプロファイル
CPU負荷率(%)
各機能ブロック
mv_search.c
67.31
block.c
8.19
refbuf.c
6.95
macroblock.c
3.48
rdopt.c
3.37
biariencode.c
3.21
cabac.c
2.98
memcpy.asm
2.91
abs.c
0.57
image.c
0.54
rdopt_coding_state.c
0.46
loopFilter.c
0.03
Pentium III@1GHz
リアルタイム性の壁1 インターフェース仕様

演算効率に対してボトルネックにならないインターフェースの選択
–
–
EMIF
• メリット
– 全てのFPGA-DSP間で使用可能
– FPGAのリソースは少ない
• デメリット
– 帯域が低いため、演算スピードに対して低速になる場合がある
– 使用するピン数が増えてしまう
SRIO
• メリット
– 高帯域
– 少ないピン数で実装可能
– 相互接続性試験
• デメリット
– SERDESが必要
– 基板実装の難易度が高くなる
– 使用するデバイスが限られる
– ただし、高速な演算を行うデバイスであればサポートされている
DSP (Video Front-End / CORDEC)
Video IN
DSP
DSP
Video
Processing
Sub-System
Video Processing Sub-System/ /H.264
H.264HD
HDEncoder
Encoder
FPGA Co-Processor
FPGA
FPGA
Pre
–
Processing
Pre – Processing9*9
9*92D
2DFiltering
Filtering
Video OUT
リアルタイム性の壁2 演算性能 ~DaVinciを使用の場合~
例: 9x9 Pixel 2D FIR Filtering (H.264 Encoder前処理)
− 1920x1080 Video Resolution (HDTV 1080p)
− 24 Bits Per Pixel (YCbCr 4:4:4)
− 30 fps
1920*1080*3*30*9*9 = 15.11GMACs
Single DSPではFilter処理がEncode処理に間に合わない
FPGA Pre-Processor
Video IN
FPGA
FPGA
Pre
–
Processing
Pre – Processing
9*9
9*92D
2DFiltering
Filtering
DSP
DSP
H.264
HD
H.264 HDEncoder
Encoder
9.6 GMACs@1GHz DSP
352GMACs@550MHz FPGA
H.264 HD Encodingは
DaVinci専用エンジンを使用
DSP+FPGAの組み合わせでリアルタイムに前処理とエンコードが可能
リアルタイム性の壁3 ~H.264 MEのメモリバンド幅~
ザイリンクス社Motion Estimation IP仕様
BW = Ntotal * Frate * 8 * (16*16)
Ntotal : マクロフレーム総数
Frate :フレームレート
8 : sliding window height
HD対応のメモリバンド幅はギガbpsのバンド幅が必要になる!!
*現在は販売されていないので、スペックの参考として
FPGAを使ったコプロセッシングシステムの処理系
Code Stack
コプロセッシングシステム
ME エンジン
(fabric/multipliers)
Control Tasks
Bit Rate Analysis
TMS320
TMS320
DSP
C64xx
C64xx
I/F
Motion
Est
DCT
Quantizer
& VLC
Motion Estimation
DCT
アプリケーションに特化した
H/Aアクセラレータの実装
Quantization
Control Tasks
DSP+FPGA
Processing
Co-Processing Advantage
Bit Rate Analysis
Traditional
Motion Est
DCT
Quantization
処理時間
特にメモリ転送等を考慮するとMEのエンジンをFPGAへ移行すると効率的
H.264 Motion Estimation Engine (*XILINX社)
ターゲットデバイス
Virtex-5
Virtex-4
Spartan3A-DSP
LUTs
2,952
2,954
3,297
FFs DSP48Es BRAMs Clock Fmax
3,040
26
15
275MHz
3,252
30
19
225MHz
3,274
30
19
130MHz
•1080i@60 fields per second operation at 275 MHz
•1080p@30 frames per second operation at 225 MHz
•720p@30 frames per second operation at 130 MHz
HD対応のMotion Estimationを少リソースで実現可能
*現在は販売されていないので、スペックの参考として
Agenda
 1 最新DSP市場の動向
– 1-1要求スペック
– 1-2実現例と問題点
 2 最新のDSP/FPGA構成
– 2-1DSPの最新事情
– 2-2FPGAの最新事情
 3 DSPとFPGAの協調設計による利点
– 車載アプリケーション事例2 画像処理システム
 4 DSP/FPGプラットフォームによる問題解決手法
– 4-1演算スペックの解決手法
– 4-2接続性の解決手法
 5 まとめ
演算スペックの解決手法
EMIF FIR Co-Processor DEMO
TMS320C6455DSK
EMIF
C64x+コア
PALTEK DSP Board
EMIF
XC5VSX50T
入力データRAM
A0
A1
An
読み出しアドレスカウンタ
FIR フィルタコア
出力データRAM
TMS320C6455
@1GHz
A0
A1
An
読み出しアドレスカウンタ
制御レジスタ
ワードカウンタ
サイクル数計測カウンタ
入出力データRAM : EMIFメモリ空間に直接マッピング
検証デザイン仕様
 FPGAフィルター仕様
–
–
–
–
–
–
–
コア内部レジスタに
Taps
保持されていた値
Taps : 128 (対称係数)
500ワード
Data bits : 16
処理対象データ
Coef bits : 16
H/W オーバーサンプルレート : 5
• 5clockに1回のフィルタサンプル
積和演算
係数リロード : YES
データサンプル数 : 500
係数データ128ワードはDSPからFPAGへ初期値をロード
= 128ワード
波形表示、照合範囲
FPGAの処理サイクル数は、
この間のクロックをカウント
5 x ((500-1) + 128) + 2 =3137
コプロセッサ デモ結果
ターゲットデバイス
TMS320C6455@1GHz

サイクル数
–
–
処理時間
23,881
100%
23.8us
XC5VSX95T-1@200MHz
5サイクル (fclk/fs)
3,137
2%
9.8us
XC5VSX95T-1@200MHz
1サイクル (fclk/fs)
629
10%
1.60us
オプティマイズレベル
• -o3
最適化レベル (-o0,-o1,-o2,-o3)
ビルドコンフィグレーション
• Debug
ライブラリ
• DSP LIB (C64xデバイス用のCプログラムのための最適化ライブラリ)
– DSP_fir_r8
XC5VSX95T-1
–
積和演算器
利用効率
DSP Lib + -o3 (Opt)
TMSC320C6455@1GHz
–

コンフィグレーション
ハードウェアオーバーサンプリング
• 5サイクル(5クロックに1回フィルターサンプル)
• 動作周波数200MHz
– (320MHz動作可能)
シリアルI/OがパラレルI/Oを置換
Percentage of Total Ports
90%
80%
70%
60%
Parallel
50%
Serial
40%
30%
20%
10%
0%
2004
2005
2006
2007
2008
2009
 あらゆるアプリケーションでシリアル・コネクティビティの導入が進展
–
チップ間、バックプレーン、ケーブル接続、光通信 など
 性能とコストの両面で要求条件をクリア
 拡張性に優れ、複数世代にまたがるシステム設計が可能
Source: Electronic Trend Publications (2005
(2005年9月)
接続性の解決手法
SRIO検証構成
PALTEK DSP Board
C6455 Starter Kit
SRIO PHY*1
SRIO LOGICAL*2
BRAM
SRIO Peripheral
GTP#1
SERDES#1
C64x+
GTP#2
SERDES#2
GTP#3
SERDES#3
GTP#4
SERDES#4
XC5VSX95T
TMS320C6455
*1 : Serial RapidIO Physical Layer v4.1
*2 : RapidIO Logical (I/O) and Transport Layer Interface v4.1
Core
L2 Cash
DSP + FPGAプラットフォーム
構成と検証風景
C6455 Starter Kit
SRIOリンクアップ確認方法
TMS320C6455
L2 (SRAM)
0x00800000
SRIO Peripheral
0x00900000
SERDES#1
WRITE_LOC
C64x+
SERDES#2
Core
SERDES#3
SERDES#4
0x00980000
READ_LOC
L2
Cash
0x009FFFFF
WRITE_LOC
READ_LOC
Write LocationとRead Locationを比較し、値が等しいことを確認
転送レート比較
 EMIF送信データレート(理論値)
EMIFモード
32bit-Asynchronous
32bit-Synchronous
64bit-Synchronous
66MHz
100MHz
53Mbps 80Mbps
264Mbps 400Mbps
528Mbps 800Mbps
133MHz
106Mbps
532Mbps
1,064Mbps
 SRIO検証値 (source : http://www.rapidio.org/home)
WRITE 5Cycle必要
DSP + FPGAプラットフォームを使った
SRIOレート測定方法と結果
C6455DSK
main
SRIO Driver
FPGA Evaluation Board
C6455
FPGA
電源投入
初期化シーケンス
SrioInit Call
SrioInit
実体
Register制御
return
return
測定開始Point
WRITEシーケンス
SrioSWrite Call
Register制御
return
SWオーバーヘッド
SrioSWrite
実体
計測時間
SRIOフレーム
転送完了
SWオーバーヘッド
return
測定終了Point
3.125Gbps / 4レーン
ソフトウェアオーバーヘッド有り
ソフトウェアオーバーヘッド無し
ペイロードサイズ
256Byte
256Byte
内部RAMへの
WRITE
サイクル数 (平均)
転送レート (平均) / Tx 効率 / 対理論値
407
5.0Gbps
53.10%
227
9.0Gbps
95.70%
Agenda
 1 最新DSP市場の動向
– 1-1要求スペック
– 1-2実現例と問題点
 2 最新のDSP/FPGA構成
– 2-1DSPの最新事情
– 2-2FPGAの最新事情
 3 DSPとFPGAの協調設計による利点
– 車載アプリケーション事例2 画像処理システム
 4 DSP/FPGプラットフォームによる問題解決手法
– 4-1演算スペックの解決手法
– 4-2接続性の解決手法
 5 まとめ
まとめ1
 市場要求の理解
– DSP市場の拡大に伴うアプリケーションの多様化
• 柔軟性
• アプリケーションに特化した構成
– システムアーキティクチャの複雑化
• 最適な構成へのコンサルティング
• ターゲットのハードウェアの理解
– FPGAのハードマクロの構成及び機能
– DSPのソフトウェア処理と専用ハードマクロの機能
– コストパフォーマンス
• 最適なシステムパーティショニング
 DSP&FPGAプラットフォーム協調設計のすすめ
– 製品の多様化に柔軟に対応可能
– 設計の注意点
• 処理の切り分け
• インターフェースの選択
• 設計フロー
• 設計環境
まとめ2
 H/W,S/Wの切り分けの明確化
– ボトルネックとなる処理の並列処理化
• ソフトウェアパイプライン
• H/Wリソースを使った並列化 : DSP48スライスの使用
– 制御タスク
• DSPのプログラマビリティー性
– 実装性
• DSPをサポートするAPI
– 新しい規格、アルゴリズムをサポートしていることが多い
• FPGAをサポートするIP
– FPGAのアーキティクチャを利用した並列化処理を施されていることが多い
 最適なインターフェースの選択
– プロトコルの有無
– 必要な帯域
– インターフェースに必要なI/O
製品・スペックによる切り分け例
コーデック
H.264
DSP + FPGA
Single DSP
MPEG4
監視カメラ
テレビ会議システム
H.263
セット・トップボックス
MPEG2
Pro用カメラ
放送局向け装置
4:2:0
High
High
4:4:4
8bit
8bit
10bit
10bit
JPEG
Dec
Enc
Enc/Dec
同時
Enc/Dec
コーディング
フォーマット
QCIF
CIF
D1
SD
専用ASSP A
専用線伝送回線装置
IP伝送
HD
解像度
番組サーバ