et2010 dsp fpga - paltek.co.jp · デザインエントリーはhdl (vhdl, verilog-hdl)、回路図...
Post on 27-Feb-2020
6 Views
Preview:
TRANSCRIPT
Proprietary to PALTEK CORPORATION
株式会社パルテック
DSP スペシャリスト 東崎 周平
デジタル信号処理開発におけるデジタル信号処理開発における
DSPDSPととFPGAFPGAの役割と協調設計の役割と協調設計
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
<100MMACS,19.3%
100-600MMACS,24.3%
600-1,000MMACS,
11.5%
1,000-6,000MMACS,
21.6%
6,000-10,000MMACS,
9.2%
>10,000MMACS,14.3%
要求スペックは益々増加する傾向にある要求スペックは益々増加する傾向にある
**GGMACS : Giga Multiply Accumulate / SecMACS : Giga Multiply Accumulate / Sec
11秒当りの積和演算回数秒当りの積和演算回数
Source : Forward ConceptsSource : Forward Concepts
処理スペックの増加
増大するDSPパフォーマンスギャップ
1960 1970 1980 1990 2000 1960 1970 1980 1990 2000 20102010
DSP/GPP*Traditional Traditional Processor Processor
ArchitecturesArchitectures
SD/HD VideoSD/HD Video
RadarRadarImagingImaging3G3G
4G4G
SDRSDR
Perf
orm
ance
Pe
rfor
man
ce
(Alg
orith
mic
& P
roce
ssor
For
ecas
t)(A
lgor
ithm
ic &
Pro
cess
or F
orec
ast)
Algorithm Complexity
Algorithm Complexity
要求パフォーマンスに対して、従来のDSP Processorでは追従出来ない
要求パフォーマンスに対して、要求パフォーマンスに対して、従来の従来のDSP ProcessorDSP Processorでは追従出来ないでは追従出来ない
LTELTE
実際のスペック差
実際のパフォーマンス
0
200000
400000
600000
800000
1000000
1200000
1400000
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
YEAR
MM
AC
S
DSP
FPGA
実際のパフォーマンス
0
5000
10000
15000
20000
25000
30000
35000
40000
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
YEAR
MM
AC
S
DSP
DSPもパフォーマンスは年々増加している FPGAは高集積化によりさらに上をいく
TypeGP Fixed-Point DSP 116GP Floating-Point DSP 71FPGA for stand-alone DSP 60Proprietary DSP core 51DSP w/ FPGA algorithm accelerator 50Media Processor / Video Processor 49RISC/DSP Chip : single vendor 48Licensed DSP core 38FPGA DSP Engine w/ soft RISC 36GP MPU for DSP (e.g.,Pentium) 35Hardwired DSP Chip 34FPGA DSP Engine w/ hard RISC 31Licensed RISC core 27Dynamic. Reconfigurable Processor 26DSP/DSP Chip Comb 24Massively Parallel Processor 15RISC/RISC Chip Combo 12Don't Know 19
DSPDSPややFPGAFPGAを単体で使用しているケースを単体で使用しているケース
(5(5GMMACSGMMACS以下の要求スペック以下の要求スペック))
専用の専用のH/WH/Wを使用しているケースを使用しているケース
(ASIC(ASICややASSPASSP等の固定のアーキティクチャ等の固定のアーキティクチャ))
複数の複数のDSP/RISCDSP/RISCを使用しているケースを使用しているケース
FPGAFPGAを積和演算のアクセラレータとして使用を積和演算のアクセラレータとして使用
Source : Forward ConceptsSource : Forward Concepts
構成例
シングルDSP or シングルFPGAメリット
システムがシンプル
デメリット
アプリケーションによっては仕様を満たすことが可能
柔軟性 (I/Fや演算手法)が限られている
パフォーマン不足
マルチDSP /RISC構成メリット
ソフトウェア設計のみでパフォーマンスネックを解消
デメリット
基板面積の増加
消費電力の増加
システムコストの増加
シングルDSP + シングルFPGAメリット
パフォーマンスメリットと柔軟性を兼ねる
パフォーマンス当りのコスト低減が可能
ユーザ独自機能 (差別化要因)を取り入れやすい
デメリット
システムの切り分けが必要 (パーティショニング)
FPGA / DSPのインターフェースの検討
ASIC / ASSPメリット
低コスト
デメリット
アーキティクチャーが固定
開発費に対するリスク増加
差別化要因を作り難い
1.1.システムの切り分けシステムの切り分け
信号処理の観点から信号処理の観点からS/WS/W、、H/WH/Wの処理の切り分けの処理の切り分け
単純な積和演算単純な積和演算 : H/W: H/W
複雑な制御演算複雑な制御演算 : S/W: S/W
2.2.アプリケーションによる切り分けアプリケーションによる切り分け
専用アクセラレータの有無専用アクセラレータの有無
3.DSP3.DSP--FPGAFPGA間インターフェース間インターフェース
アプリケーションの観点から最適なインターフェースの選択アプリケーションの観点から最適なインターフェースの選択
要求実現の方法と問題
問題点
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 まとめ
Code Composer Studio TM v4テキサス・インスツルメンツ社DSPの統合開発環境
コンパイラコンパイラ
TI C
ode
Com
pose
r Stu
dio
TI C
ode
Com
pose
r Stu
dio
アセンブラアセンブラ//リンカリンカ
デバッグデバッグ
最適化最適化
1.1. デザインエントリーはデザインエントリーはC/C++C/C++2.2. コードエディタからコンパイラ、アセンブラ、リンカのコード生成ツールコードエディタからコンパイラ、アセンブラ、リンカのコード生成ツール
3.3. 高機能なプロファイラ、ウォッチウィンド、シンボルブラウザまたはデータ高機能なプロファイラ、ウォッチウィンド、シンボルブラウザまたはデータのグラフ化のグラフ化
4.4. CCライクなスクリプト言語ライクなスクリプト言語(GEL)(GEL)による機能のカスタマイズによる機能のカスタマイズ
5.5. プラグインツールにより機能を拡張プラグインツールにより機能を拡張
6.6. DSP/BIOSDSP/BIOSをバンドルをバンドル
DSPの設計フロー と設計環境
Low price for high definition video
ARM Subsystem
ARM926EJ-S CPU
DMA Data & Configuration Bus
Peripherals
NAND/ECC
(EMIF)
MMC/SDIO
x2
mDDR/DDR2EMIF
Program/Data Storage
System
PWMx4
Timerx6
Connectivity
SPI x3
I2CSerial Interfaces
UART x3ASP
CCD Controller Video Interface
PreviewHistogram/3A
Resizer
EnhancedOn-Screen
Display
10b DACVideoEnc
Video Processing Subsystem
Back End
Front End
USB 2.0HS OTG
EDMA WDT
MJCP Co-Processor
MPEG-4
JPEG
DM3xx
Video doorbell and networked video/ imaging applications
USB 2.0 HS OTG device and mini-host w/ PHY
MPEG-4 & JPEG Coprocessor (MJCP)
External memory interface (EMIF)- Mobile DDR/DDR2
Volume Production Now!
ASP, I2C, SPI x3, UARTx3
Video: SD and HD (720p)
ARM: 16KB I-Cache, 8KB D-Cache; 8KB ROM; 32KB program/data
ARM926EJ-S CPU135, 216 or 270 MHz
DM355
専用アクセラレータ内蔵DSP
10/100MAC & PHY
CMOS Sensor
Video AmpTHS7315 / 16
PoETPS23750
WLAN
TPS62050 TPS62200 TPS62050
5V
1.3VCore Pwr
1.8VMem Pwr
3.3VI/O & System Pwr
DM355DDR2EMIF Video
Out
Video In
EMIF
ASP
Temp SensorTMP100
Audio Codec
TLVAIC33
ClockingCDCE949
DDRMemory
SDIOGPIO
DM355 video doorbell system diagram – capture
McASP, I2C, CAN, UART (2), SPI
VLYNQ/ EMAC, HPI or EMIF
Video Out:none
Video In: 1VP 16b VPSS
DDR2-266 (32b)
L2 128KB*L1P 32KB*L1D 80KB*
C64x+DSP Core/600 MHz
DM6435
PCI or VLYNQ/ EMAC, HPI or EMIF
PCI or VLYNQ/ EMAC, HPI or EMIF
EMAC or EMIF
McBSP or McASP, I2C, CAN, UART (2), SPI
McASP, I2C, UART, SPI
McASP, I2C, CAN, UART, SPI
Video Out: VPSS: w/OSD 4 10b DACs
Video Out: VPSS: w/OSD 4 10b DACs
Video Out:none
Video In: 1VP 16b VPSS
Video In:none
Video In:1 VP 10b
DDR2-266 (32b)
DDR2-266 (32b)
DDR2-266 (16b)
L2 128KB*L1P 32KB*L1D 80KB*
L2 128KB*L1P 32KB*L1D 80KB*
L2 64KB*L1P 32K*L1D 32K*
C64x+DSP Core/600 MHz
C64x+ DSP Core/600 MHz
C64x+DSP Core/300 MHz
DM6437DM6433DM6431
Pin-for-pin compatibleAEC-Q100 auto qual
Encode Encode/ DecodeDecode Encode
* Cache/RAM reconfigurable Please check user guide for MUXing options
Peripherals
DSP Subsystem
C64x+TM DSP 600-MHz
Core
L2128 KBCache
L1P 32KB
L1D 80KB
WDTimer
System
PWM×3
Timer64-bit×2
Connectivity
Serial InterfacesUART ×2
or
SPI
I2C
CANMcASP
McBSP ×2or
Switch Fabric
PreviewHistogram/3A
Resizer
On-ScreenDisplay (OSD)
10b DAC10b DAC10b DAC10b DACVideo
Enc(VENC)
Video Processing Subsystem
Back End
Front End
DDR2Controller
(32b)
Program/Data StorageEMIF(8b)
EDMA PCI33 HPIor
DDRPLL
PLL
JTAG
OSC
VLYNQEMAC
CCD Controller Video Interface
DM6437
DM6431
DM6435
DM643x
Low-end IP Netcam
画像インターフェース内蔵DSP
CMOS/CCD Sensor
Bayer/RAW
16
PTZ
Control 3
DM6435
DDR2 SDRAM266 32-Bit
32
DDR2EMIF Video OutVideo In
PWM (x3)
EthernetPHY
(802.3)
10/100EMAC
CLKIN
Crystal/OSC27 MHz
MSP430(optional)
Monitor(NTSC/PAL)
optional with DM6437
Composite
Real-TimeClock(optional)
RTC
AudioCODEC
UART
I2CMcBSP
Low cost, scalable camera solution
Programmable DSP core enables embedded video analytics
DM6435 processors address security IP Netcam application needs
マルチコアDSP x3
C64x+TM
Core
L1P
L1DL2 Cache/RAM
C64x+TM
Core
L1P
L1DL2 Cache/RAM
C64x+TM
Core
L1P
L1DL2 Cache/RAM
Switched Central Resource
VCP2
TCP2
EDMA3.0SRIO
Antenna I/F
Frame Sync
GEMAC DDR2-667
PLL
McBSP
I2C
GPIO
Timer
Semaphore
Boot ROM
最新DSP事情まとめ
最新設計環境 Code Composer v4.0 アプリケーションターゲットのデバイスラインナップ
– アプリケーション依存のペリフェラル
– 専用アクセラレータ
パフォーマンス問題の解決– マルチコア化
• x3コア、x6コア
– 専用アクセラレータ
• 画像コーデック、誤り訂正
– 高速シリアルインターフェースの採用
• SRIO、OBSAI、CPRI (携帯基地局向け)
アルゴリズムの検討アルゴリズムの検討
HDLHDL記述や記述やIPIPの利用の利用XILI
NX
ISE
XILI
NX
ISE
論理合成論理合成
配置配線配置配線
デバッグデバッグ
1.1. デザインエントリーはデザインエントリーはHDL (VHDL, HDL (VHDL, VerilogVerilog--HDL)HDL)、回路図、回路図
2.2. コードエディタから、コードエディタから、論理合成、配置配線まで全てをサポート論理合成、配置配線まで全てをサポート
3.3. ISEISEシミュレータを使ったシミュレータを使ったHDLHDLシミュレーションシミュレーション
4.4. タイミング解析ツール及び、消費電力解析環境タイミング解析ツール及び、消費電力解析環境
5.5. オプションツールオプションツール (ChipScope Pro)(ChipScope Pro)による実機デバッグ環境による実機デバッグ環境
ISETM FoundationザイリンクスFPGAの統合開発環境
FPGAの設計フロー と設計環境
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構造
=
XX+/+/--
AD
B
C
P
25bit Pre-adder
25x18 Multiplier ALU-like Second Stage
Pattern Detector
最大2016個@600MHz = 1.2TMACS
高速トランシーバーブロック
Virtex-6 は6.5Gbps対応
トランシーバが標準搭載
VirtexVirtex--66 はは6.5Gbps6.5Gbps対応対応
トランシーバが標準搭載トランシーバが標準搭載
PhyInterface
Statistics Interface
RxStats Mx
RxStats Mx
TxStats Mx
TxStats Mx
RxStats Mx
RxStats Mx
TxStats Mx
TxStats Mx
EMAC CoreEMAC Core
EMAC CoreEMAC Core
Host InterfaceHost Interface
Statistics Interface
Clien
t Int
erfa
ce
PhyInterface
Clien
t Int
erfa
ce
Host Bus
DCR Bus
ProcessorInterface
ProcessorInterface
FabricInterfaceFabric
Interface
FPGAにおけるI/Fの柔軟性 ~Virtex-6/Spartan-6の例~
400 Mbps*LP DDR
400 Mbps*DDR SDRAM
800 Mbps*DDR2 SDRAM
800 Mbps*DDR3 SDRAM
Spartan-6Interface
*All frequencies quoted are for all speedgrades except -1L
500 MHz (1000 Mbps)*RLDRAM II
400 MHz (2x 800 Mbps)*QDR II+
1066+ Mbps*DDR3 SDRAM
800 Mbps*DDR2 SDRAM
Virtex-6 FPGAMemory Interface
FPGAにおけるMemory I/Fの柔軟性
最新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つの処理を行う為に複数のスレッドが同時に実行
リアルタイム性が要求される
ドライバー・アシスタントシステムの例
Pentium III@1GHz
各機能ブロック CPU負荷率(%)mv_search.c 67.31
block.c 8.19refbuf.c 6.95
macroblock.c 3.48rdopt.c 3.37
biariencode.c 3.21cabac.c 2.98
memcpy.asm 2.91abs.c 0.57
image.c 0.54rdopt_coding_state.c 0.46
loopFilter.c 0.03
NextFrame 動き予測 バッファ
Intra予測
スイッチ
動き補正
デブロックフィルター
逆整数変換、Q-1
整数変換、Q エントロピーエンコーダ
+
+_
動き補償ループ
予測ループ
ビットストリーム
画像入力
各機能におけるプロファイル
jiYjiXSADsDefferenceAbsoluteofSumi j
15
0
15
0
アプリケーションによって1サイクル当たり64回の場合もあれば
数千回行うケースもある
SADSADの演算を並列化することが必要の演算を並列化することが必要
車載アプリケーションにおける画像処理
リアルタイム性の壁1 インターフェース仕様
演算効率に対してボトルネックにならないインターフェースの選択– EMIF
• メリット– 全てのFPGA-DSP間で使用可能– FPGAのリソースは少ない
• デメリット– 帯域が低いため、演算スピードに対して低速になる場合がある– 使用するピン数が増えてしまう
– SRIO• メリット
– 高帯域– 少ないピン数で実装可能– 相互接続性試験
• デメリット– SERDESが必要– 基板実装の難易度が高くなる– 使用するデバイスが限られる
– ただし、高速な演算を行うデバイスであればサポートされている
DSPVideo Processing Sub-System / H.264 HD Encoder
DSPVideo Processing Sub-System / H.264 HD Encoder
FPGAPre – Processing 9*9 2D Filtering
FPGAPre – Processing 9*9 2D Filtering
Video IN
FPGA Co-Processor
DSP (Video Front-End / CORDEC)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.11GMACs1920*1080*3*30*9*9 = 15.11GMACs
DSPH.264 HD Encoder
DSPH.264 HD Encoder
9.6 GMACs@1GHz DSP
H.264 HD EncodingはDaVinci専用エンジンを使用
Single DSPSingle DSPではではFilterFilter処理が処理がEncodeEncode処理に間に合わない処理に間に合わない
DSP+FPGADSP+FPGAの組み合わせでリアルタイムに前処理とエンコードが可能の組み合わせでリアルタイムに前処理とエンコードが可能
FPGAPre – Processing9*9 2D Filtering
FPGAPre – Processing9*9 2D Filtering
Video IN
352GMACs@550MHz FPGA
FPGA Pre-Processor
リアルタイム性の壁3 ~H.264 MEのメモリバンド幅~
ザイリンクス社Motion Estimation IP仕様
BW = NBW = Ntotaltotal * F* Fraterate * 8 * (16*16)* 8 * (16*16)
NNtotaltotal : : マクロフレーム総数マクロフレーム総数
8 : sliding window height8 : sliding window heightFFraterate ::フレームレートフレームレート
HDHD対応のメモリバンド幅はギガ対応のメモリバンド幅はギガbpsbpsのバンド幅が必要になるのバンド幅が必要になる!!!!
*現在は販売されていないので、スペックの参考として
FPGAを使ったコプロセッシングシステムの処理系
TMS320C64xx
TMS320C64xx
アプリケーションに特化したH/Aアクセラレータの実装
ME エンジン(fabric/multipliers)コプロセッシングシステム
DSPDSP I/FI/F
Control Tasks
Bit Rate Analysis
Code Stack
DCT
Quantization
Motion Estimation
Control Tasks
Bit Rate Analysis
MotionEst DCT Quantizer
& VLC
Motion Est Quantization
処理時間
DCT
Co-Processing AdvantageDSP+FPGA Processing
Traditional
特にメモリ転送等を考慮すると特にメモリ転送等を考慮するとMEMEのエンジンをのエンジンをFPGAFPGAへ移行すると効率的へ移行すると効率的
ターゲットデバイス LUTs FFs DSP48Es BRAMs Clock FmaxVirtex-5 2,952 3,040 26 15 275MHzVirtex-4 2,954 3,252 30 19 225MHz
Spartan3A-DSP 3,297 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
HDHD対応の対応のMotion EstimationMotion Estimationを少リソースで実現可能を少リソースで実現可能
*現在は販売されていないので、スペックの参考として
H.264 Motion Estimation Engine (*XILINX社)
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 まとめ
入力データRAM
読み出しアドレスカウンタ
出力データRAM
A1
制御レジスタ
ワードカウンタ
サイクル数計測カウンタ
FIR フィルタコア
EMIF
TMS320C6455@1GHz
XC5VSX50TEMIF
C64x+コア
TMS320C6455DSK PALTEK DSP BoardA0
An
A1A0
An
読み出しアドレスカウンタ
入出力データRAM : EMIFメモリ空間に直接マッピング
演算スペックの解決手法EMIF FIR Co-Processor DEMO
FPGAフィルター仕様
– Taps : 128 (対称係数)– Data bits : 16– Coef bits : 16– H/W オーバーサンプルレート : 5
• 5clockに1回のフィルタサンプル
– 係数リロード : YES– データサンプル数 : 500– 係数データ128ワードはDSPからFPAGへ初期値をロード
500ワード
Taps
= 128ワード
処理対象データ
コア内部レジスタに
保持されていた値
FPGAの処理サイクル数は、
この間のクロックをカウント
波形表示、照合範囲
5 x ((500-1) + 128) + 2 =3137
積和演算
検証デザイン仕様
1.60us10%6296291サイクル (fclk/fs)XC5VSX95T-1@200MHz
9.8us2%3,1373,1375サイクル (fclk/fs)XC5VSX95T-1@200MHz
23.8us100%23,88123,881DSP Lib + -o3 (Opt)TMS320C6455@1GHz
処理時間処理時間積和演算器積和演算器利用効率利用効率
サイクル数サイクル数コンフィグレーションコンフィグレーションターゲットデバイスターゲットデバイス
TMSC320C6455@1GHz– オプティマイズレベル
• -o3 最適化レベル (-o0,-o1,-o2,-o3)– ビルドコンフィグレーション
• Debug– ライブラリ
• DSP LIB (C64xデバイス用のCプログラムのための最適化ライブラリ)– DSP_fir_r8
XC5VSX95T-1– ハードウェアオーバーサンプリング
• 5サイクル(5クロックに1回フィルターサンプル)• 動作周波数200MHz
– (320MHz動作可能)
コプロセッサ デモ結果
シリアルI/OがパラレルI/Oを置換
あらゆるアプリケーションでシリアル・コネクティビティの導入が進展– チップ間、バックプレーン、ケーブル接続、光通信 など
性能とコストの両面で要求条件をクリア
拡張性に優れ、複数世代にまたがるシステム設計が可能
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
2004 2005 2006 2007 2008 2009
Perc
enta
ge o
f Tot
al P
orts
Parallel Serial
Source: Electronic Trend Publications (Source: Electronic Trend Publications (20052005年年99月月))
*1 : Serial RapidIO Physical Layer v4.1
*2 : RapidIO Logical (I/O) and Transport Layer Interface v4.1
XC5VSX95T TMS320C6455
GTP#1
GTP#2
GTP#3
GTP#4
SRIO
PH
Y*1
SRIO
LO
GIC
AL*
2
BR
AM
SERDES#1
SERDES#2
SERDES#3
SERDES#4
C64x+
Core
L2 Cash
SRIO Peripheral
PALTEK DSP Board C6455 Starter Kit
接続性の解決手法SRIO検証構成
Write LocationとRead Locationを比較し、値が等しいことを確認
TMS320C6455
SERDES#1
SERDES#2
SERDES#3
SERDES#4
C64x+
Core
L2 Cash
SRIO Peripheral 0x00800000
0x00900000
0x009FFFFF
L2 (SRAM)
0x00980000
WRITE_LOC
READ_LOC
WRITE_LOC READ_LOC
SRIOリンクアップ確認方法
EMIF送信データレート(理論値)
SRIO検証値 (source : http://www.rapidio.org/home)
EMIFモード 66MHz 100MHz 133MHz32bit-Asynchronous 53Mbps 80Mbps 106Mbps32bit-Synchronous 264Mbps 400Mbps 532Mbps64bit-Synchronous 528Mbps 800Mbps 1,064Mbps
WRITE 5Cycle必要
転送レート比較
main SRIO Driver C6455 FPGA
電源投入
SrioSWrite Call
Register制御
SRIOフレーム
内部RAMへのWRITE
return
return
SrioInit Call
SrioInit実体
Register制御
return
return
C6455DSK FPGA Evaluation Board
WRITEシーケンス
初期化シーケンス
SrioSWrite実体
転送完了
測定開始Point
測定終了Point
計測時間
SWオーバーヘッド
SWオーバーヘッド
3.125Gbps / 4レーン ペイロードサイズ サイクル数 (平均) 転送レート (平均) / Tx 効率 / 対理論値
ソフトウェアオーバーヘッド有り 256Byte 407 5.0Gbps 53.10%
ソフトウェアオーバーヘッド無し 256Byte 227 9.0Gbps 95.70%
DSP + FPGADSP + FPGAプラットフォームを使ったプラットフォームを使ったSRIOSRIOレート測定方法と結果レート測定方法と結果
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市場の拡大に伴うアプリケーションの多様化
• 柔軟性• アプリケーションに特化した構成
– システムアーキティクチャの複雑化• 最適な構成へのコンサルティング• ターゲットのハードウェアの理解
– FPGAのハードマクロの構成及び機能– DSPのソフトウェア処理と専用ハードマクロの機能
– コストパフォーマンス• 最適なシステムパーティショニング
DSP&FPGAプラットフォーム協調設計のすすめ– 製品の多様化に柔軟に対応可能– 設計の注意点
• 処理の切り分け• インターフェースの選択• 設計フロー• 設計環境
まとめ1
H/W,S/Wの切り分けの明確化– ボトルネックとなる処理の並列処理化
• ソフトウェアパイプライン• H/Wリソースを使った並列化 : DSP48スライスの使用
– 制御タスク• DSPのプログラマビリティー性
– 実装性• DSPをサポートするAPI
– 新しい規格、アルゴリズムをサポートしていることが多い• FPGAをサポートするIP
– FPGAのアーキティクチャを利用した並列化処理を施されていることが多い
最適なインターフェースの選択– プロトコルの有無– 必要な帯域– インターフェースに必要なI/O
まとめ2
top related