Comments
Description
Transcript
インペラス社の革新的な仮想プラットフォームベースのソフトウェアテスト
インペラス社の革新的な仮想プラット フォームベースのソフトウエア・テスト 「ISIT第15回カーエレクトロニクス研究会」 2014年7月14日(月) © 2014 Imperas Software Ltd. アジェンダ 東京ナノファーム合同会社 (代表)横川秀美([email protected]): インペラス社日本営業担当 インペラス社紹介 基本技術とソリューション概要 アップウィンドテクノロジーインコーポレイテッド (社長)中村憲一([email protected]): インペラス社日本技術担当 ツールデモ Page 2 © 2012 Imperas Software Ltd. インペラス社概要 ミッション 組み込みSW開発課題に対しての仮想プラットフォームベースのソリューションを提供 設立:2007年 本社:英国オックスフォード 組織: Simon Davidmann, founder/CEO EDA veteran entrepreneur: Co-Design Automation (SystemVerilog), Ambit, Chronologic Simulation (VCS), Gateway/Cadence (Verilog), … Larry Lapides, VP sales EDA veteran entrepreneur: Calypto (SLEC), Verisity (Specman), Mentor/Exemplar Logic, … Engineering team has EDA, processor backgrounds Funding: self-funded (completely employee-owned, no VC) 実績: Page 3 設立以来毎年売り上げが順調に伸びている 主要顧客:車業界、産業機器業界、家電業界、他 OVPの登録者数は、商用顧客、大学研究関係を含め、全世界で数千名規模に拡大 大手主要プロセッサーベンダー7社とモデル開発のパートナー © 2012 Imperas Software Ltd. 組み込みSW開発: 現アプローチと課題 ハードウエア・プロトタイプ プロトタイプからデバック情報の入手が面倒(その都度ドライバSWの変更が必要) プロトタイプを必要な時に使えない(数の制限と場所)、 また最新のバージョンを 反映していない。 仮想プラットフォーム サイクル精度のシミュレーション プロジェクトの初期段階で使用不可(モデル開発に多くの時間と費用を要する) システム全体に対してのシミュレーション速度が遅い インストラクション精度のシミュレーション →インペラス社は、インストラクション精度のシミュレーションを提供 ⇒「SW開発にはそれぞれのアプローチの使い分けが必要」 Page 4 © 2012 Imperas Software Ltd. 仮想プラットフォームの主要要求項目: →インペラス社のソリューション 実時間に近いスピード →100MIPS以上、LinuxOSブート時間は数秒 ターゲットバイナリを変更不要で実行可能 →SlipStreamer 常に同じ結果を保証するシミュレーター →C*DEV, S*DEV, M*DEV (商用向け) →OVPSim(評価向け、大学向け) マルチ・プロセッサ、周辺デバイスを含むプラットフォームのデバック・ツール →M*SDK (Multi-Processor/Multi-Core/Multi-Thread Software Development Kit) 標準言語でのモデルと、そのソースコードを公開 →C言語のモデル、SystemC/TLM wrapper提供 →OVP(Open Virtual Platform):無償登録のウエブサイト ・125種以上のプロセッサーモデル、100種類以上の周辺デバイスモデル、各種プラットフォームサンプル 新規モデルを簡単に開発可能 →iGen(周辺デバイスモデル開発ツール:開発期間:数時間から数日) →cpuGen(プロセッサーモデル開発ツール:開発期間:2‐3ヶ月) 低価格で仮想プラットフォームを展開 →ツールライセンス費用のみの投資: OVP内のすべてのモデルを追加費用不要で使用可能。 Page 5 © 2012 Imperas Software Ltd. インペラス社の革新的仮想プラットフォーム を構成する4つのコンポーネント (4)ツール: SW開発、デバック、テスト、解析 (3)デバイス・モデル: ハイパフォーマンスでプログラマブル (2)ウエブサイトのインフラ: 標準化を目指し基本技術を無償で提供 Integrated tool suite (1)基本技術:シミュレーション High performance processor models Page 6 © 2013 Imperas Software Ltd. Platform coded in standard format e.g. OVP, SystemC (1)基本技術:シミュレーション *SIM Just-in-time code morphing アルゴリズムが 実機に近い実行スピードを実現 ToolMorphing™ ツールとプロセッサー・モデルが、ダイナミックに同じ コード・ストリームとして統合されている SlipStreamer™ アプリケーションSWのソースコードを 変更せずにデバック可能 QuantumLeap™ ホストPCのマルチコアを最大限に生かした並列シミュ レーション・アルゴリズムが更なる高速化を実現 Page 7 © 2013 Imperas Software Ltd. シミュレーターとモデルが統合 (SlipStreamer, ToolMorphing) 一般的なシミュレーター実行 Application binary instruction to be executed Sim Engine results file Processor Model *SlipStreamer Interception librariesによって: ・アプリケーションデバッグ時のソースコード修正不要 シミュレーターとモデルが統合 Application binary ・ 最小オーバヘッドでの実行が可能 OVP Fast Processor Model (ツール情報を含む) SlipStreamer Binary Interception Library instruction to be executed tool code Page 8 © 2012 Imperas Software Ltd. ToolMorphing Engine (モデルとツール の統合) results + analysis file QuantumLeap: 現商用シミュレーター に比べて15倍以上の高速化実現 50 45 40 35 30 25 20 15 10 5 0 43.0743.07 40.49 15x faster avg. on quad host 33.01 28.74 22.94 19.39 5.12 10.5311.57 7.49 8.90 Platform Containing Four ARM Cortex-A9 UP Page 9 © 2012 Imperas Software Ltd. (2)ウエブサイトからインフラ技術提供 無償登録でプラットフォーム構築に必要なアイテムをダウンロード、 及びOVPコミュニティ・フォーラムに参加 Processor Model 125+ open source models Peripheral Model UART, timer, interrupt, DMA, I/O, etc. Modeling API For processor, peripheral, & platform Environment Third party interfaces to SystemC, OSCI, etc Page 10 OVPworld.org © 2013 Imperas Software Ltd. (3)検証済みプロセッサ・モデル提供: (125種類以上) ARM: Models for ARMv4™, v5™, v6™, v7™ and v8™ architectures MIPS: Models for microMIPS, MIPS32 and MIPS64 architectures Verification, licensing, and distribution relationship Including MMU, MPU, DSP, FPU, MT, MSA, VZ architecture subsets Renesas: Models for V850 architecture, 16 bit microcontroller cores Including MMU, MPU, TCM, Thumb™, Thumb-2™, Jazelle™, SIMD, VFPv3, NEON™, TrustZone, virtualization, … V850 ES, E1, E1F; M16C cores Power Architecture family cores Synopsys (ARC): Models of ARC6xx, ARC7xx families Altera Nios II Xilinx Microblaze Other CPU families available: MS1750a, openCores, SPARC, proprietary Page 11 © 2013 Imperas Software Ltd. シミュレータ・ベンチマーク結果 Page 12 Confidential and Proprietary © 2014 Imperas Software Ltd. 25-Jan-14 (4)解析・テストツール群 ・VAP (Verification, Analysis, Profiling) ・3D-Debug (Spatial: view all platform components, Temporal: set conditional breakpoints, Abstraction: firmware, OS kernel, driver, application SW concurrently) 現在53種類のツール提供。バージョンアップ毎に随時追加。 容易にカスタム機能追加可能:故障注入、プロトコル検証、SWビヘイビア解析、他 Page 13 © 2013 Imperas Software Ltd. シミュレーションのインフラと階層: (アプリケーションSW変更不要でカスタム機能を簡単に追加可能) Page 14 © 2012 Imperas Software Ltd. ツール製品群: C*DEV, S*DEV, M*DEV, M*SDK (*の呼び方:“スター”) Imperas Product Family Controller Standard Multicore C*DEV S*DEV M*DEV M*SDK Model Library (Apache 2.0 open source license) ✔ ✔ ✔ ✔ iGen™ (peripheral model generator) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Simulation (*SIM) Base capability, single core Standard capability, homogeneous Advanced capability, heterogeneous ✔ VAP(Verification/Analysis/Profiling) 3D-Debug™ QuantumLeap™ Parallel Simulation Option Processor model framework generator Page 15 © 2014 Imperas Software Ltd. cpuGen™ 網羅的なテストソリューション事例: NIRA Dynamics AB (Audi subsidiary) アプリケーション ABSデータを使ったタイヤプレッシャーテスト リアルタイム解析を実行する為に、数種類のプロセッサ上で ソフトウエアを実行。信頼性が最重要条件 ソフトウエア・テストと解析 Stimuliはロードテストデータ使用 Regressionスイートで数千のテストを夜間で実施 メモリー解析によってスタックとヒープの振る舞いを確認 Imperas M*SDKツール、OVPプロセッサモデル 完全なテストには、高速シミュレーションが必須 バグ・トラッキングには、マルチ・プロセッサのデバッグが必須 マルチ・プロセッサーのサポート(複数ABSシステム)が必須 ソースコード変更不要でのメモリー解析が、シミュレーション 結果の正しさを保証する “Imperas社M*SDK ツールは、我々のコードのバグを発見しただけでなく、使用中のコンパイ ラーのバグも発見した。しかもツールでのテスト機能なくしてソフトウエアを出荷出来なかった。” Peter Lindskog, Head of Development, NIRA Dynamics AB Page 16 © 2013 Imperas Software Ltd. Confidential and Proprietary © 2012 Imperas Software Ltd. SimulinkとOVP統合事例: OFFIS:ドイツの大学研究機関 ウェアラブル医療機器の開発プロジェクト OVPSimがマスターシミュレーター http://system-synthesis.org/offissimlink FZI:ドイツの研究機関 詳細システム解析プロジェクト Simulinkがマスターシミュレーター 論文:“Scalable problem-oriented approach for dynamic verification of embedded systems” Page 18 © 2014Imperas Software Ltd. OVPの性能解析の有効性確認プロジェクト: LIRMM:フランスの大学研究機関 OVP機能を拡張し、擬似サイクル 精度タイミングCPUモデルを開発し 、このモデルの精度を実システムと 比較しながら評価 その結果は、ベンチマークの種類 によって、0.06%から10.56%のモ デル精度が得られた。 論文:“Instruction-driven Timing CPU Model for Efficient Embedded Software Development using OVP” Page 19 © 2012 Imperas Software Ltd. デモ 各種プラットフォームのシミュレーション Single core, Multi-core shared memory, Many-cores, Heterogeneous, etc. QuantumLeap インペラスツールの各種機能 シミュレーター・ビルトイン VAP (Verification, Analysis, Profile) コード・カバレッジ コード・プロファイリング メモリー解析 OS Aware カスタムツール事例 故障注入 SWプロトコル Page 20 © 2012 Imperas Software Ltd. もしご興味を持たれ方は: まずOVP無償登録を! ⇒プレゼン資料、技術資料、デモ、フォーラ ムなどの情報参照可能 http://www.ovpworld.org/forumspage OVP内のプラットフォーム事例を使い、 シミュレーターの評価に興味 ⇒OVPウエブサイトから評価用シミュレータ (OVPSim)ライセンス依頼 先進テスト・デバッグツール(M*SDK)の 評価に興味 ⇒NDA(秘密保持契約)の締結後、短期のラ イセンス提供 Page 21 © 2013 Imperas Software Ltd.