デジタル信号処理開発における 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 DefferencesSAD 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 解像度 番組サーバ
© Copyright 2024 Paperzz