MATLAB およびSimulink では、ボタンを押すだけでコードを生成し、ハードウェア上で実行できます。しかし、コーディングは 1 つのタスクにすぎません。次世代の組み込みシステムのプロトタイピングから量産に至るまでの設計、コーディング、検証に MATLAB、Simulink および Polyspace を活用する方法をご紹介します。以下を行うことができます。
- 最適な C、C++、CUDA、Verilog、VHDL、およびストラクチャード テキストを生成
- 浮動小数点と固定小数点設計ツールを用いてコスト対パフォーマンスのトレードオフを行う
- 生成したコードをループ内テストを用いて検証、プロファイリング
- AUTOSAR、ISO 26262、DO-178、MISRA C、CERT C などの標準に準拠
- ハードウェア サポート パッケージ アドオンを用いて Arduino® から Zynq® までのよく使われるボード上で試作品を製作
「モデルベース デザインを用いて当社は最初のフライトを無事成功させ、制御や統合の点で何も問題はありませんでした。Embedded Coder を用いて当社の Simulink モデルから制御法則のコードを生成することで、手動のコード生成による遅れを無くし、開発チームは自由になった時間でプログラムのより広範な目標を達成できました。」
Mike Bothwell 氏、Bell Helicopter
SUPPORT PACKAGE
Coder Summit のプレゼンテーション
フィールド エンジニアと開発スタッフによる、ソフトウェア設計、組み込みコード生成などの新機能に関するプレゼンテーションをご覧ください。
MATLAB からのコード生成
MATLAB 用の C、C++、CUDA、HDL コードを わずか 3 つの繰り返しステップで生成できます。ど こでも実行可能なコードをデプロイでき、デスク トップ、モバイル デバイス、さらに組み込みシス テムから実行可能です。MATLAB Coder はお客様 の設計の進化に応じて自動的に新しいコードを生成 しますので、手動でコードを生成する必要はありま せん。このため設計の繰り返しをより迅速にし、その回数 を増やすことができます。
生成したコードをソース コード、スタティック ライブラリ、またはダイナミック ライブラリとして、MATLAB 外部のデスクトップまたはクラウドで実行されるアプリケーションに統合できます。また、生成したコードを MEX 関数としてパッケージ化して直接 MATLAB 内で使うことも可能です。
Simulink からのコード生成
Embedded Coder を用いてモデルを高品質のソース コードと実行可能ファイルに変換し、試作と量産ができます。既定の C と C++ 設定を用いるか、SIMD インストラクション、データ ストレージ クラス、メモリー セクション コード プレイスメントを用いてパフォーマンスを最適化してください。お使いのランタイム システムにプラグインできる ANSI/ISO C/C++、MISRA-C、または AUTOSAR ソース コードを生成できます。また、お使いのカスタム ハードウェア デバイス上で自動的にダウンロードおよび実行される完全なターンキー実行可能ファイルの生成も可能です。
双方向のトレーサビリティ リンクを用いて、生成されたコードをモデルに対して検証したり、コード、データ、関数インターフェイス、コード メトリクスを盛り込んだレポートを生成したりすることが可能です。
固定小数点
8 ビット、16 ビット、32 ビットの固定小数点アルゴリズム、単精度アルゴリズムを開発するための豊富なデータ タイプとツールを用いて、倍精度から素早く移行できます。Fixed-Point Designer には数学、ビット単位、配列、および行列演算が用意されており、固定小数点、浮動小数点計算の設計を最適化できます。
ビットトゥルー C および C++、および合成可能な Verilog® と VHDL® コードを MATLAB コード、Simulink モデル、Stateflow チャートから簡単に生成できます。
データ型のオーバーライドを行うことで、固定小数点または単精度の組み込み設計を瞬時に倍精度に切り替え、量子化の影響を解析することができます。また、オーバーフロー、桁落ち、無駄な範囲または精度の発生源を容易に素早く特定するためのツールを提供しています。
設計とコードの検証
要件の作成、管理、およびモデル、生成コード、テスト ケースへのトレース。MAAB などのモデル標準準拠性に関して設計を確認。シミュレーションに基づいたテストを開発、実行 (ソフトウェアインザループ、プロセッサインザループ、ハードウェアインザループなど)。Embedded Coder でタスク レベル、関数レベルのプロファイリングを用いて生成したコードをプロファイル。
Polyspace 製品がハンド コートと生成したコードをサポート。ランタイム エラーがないことを証明し、コーディング ルールを実施し、CWE、CERT-C、ISO/IEC 17961 などの標準を用いてセキュリティに関する脆弱性を確認できます。
標準へのサポート
Embedded Coder を用いて AUTOSAR や MISRA C などのよく使われるソフトウェア標準、安全標準に準拠するコードを生成できます。MathWorks ではシステム開発のための Certification Kit と Qualification Kit を提供し、また ISO 26262、IEC 61508、EN 50128、IEC 62304、DO-178、DO-254、その他の自動車、医療、鉄道、航空宇宙での組み込みシステムの業界標準に準拠した高品質のツールをご用意しています。
ハードウェア サポート
すばやくコードを生成し、使用するハードウェア用にコンパイルできます。信号処理、コンピューター ビジョン、画像処理、制御システムをはじめ、幅広いアプリケーションに対応します。
コードを生成し、それを Raspberry Pi™ や Arduino® などの組み込みプラットフォーム上で試作できます。生成したコードを独自のアプリに統合したりして、iPhone、iPad、Android™ デバイスなどのモバイル プラットフォーム上で実行し、ビデオ カメラ、マイク、加速度計などのオンボード センサーにアクセスすることも可能です。組み込みシステムを強力なマイクロプロセッサ上でデプロイできます。
さらに、MathWorks と Connections パートナーは次のようなよく使われるハードウェアへの内蔵、ターンキー統合を提供します:
ご不明な点があればご連絡ください。
カスタム評価とニーズに合った価格については、お問い合わせください。
MATLAB からのコード生成
MATLAB 用の C、C++、CUDA、HDL コードを わずか 3 つの繰り返しステップで生成できます。ど こでも実行可能なコードをデプロイでき、デスク トップ、モバイル デバイス、さらに組み込みシス テムから実行可能です。MATLAB Coder はお客様 の設計の進化に応じて自動的に新しいコードを生成 しますので、手動でコードを生成する必要はありま せん。このため設計の繰り返しをより迅速にし、その回数 を増やすことができます。
生成したコードをソース コード、スタティック ライブラリ、またはダイナミック ライブラリとして、MATLAB 外部のデスクトップまたはクラウドで実行されるアプリケーションに統合できます。また、生成したコードを MEX 関数としてパッケージ化して直接 MATLAB 内で使うことも可能です。