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 モデルから制御則のコードを生成することで、手動のコード生成による遅れを無くし、開発チームは自由になった時間でプログラムのより広範な目標を達成できました。」
MATLAB からのコード生成
わずか 3 つの反復的なステップで、MATLAB 用の C、C++、CUDA、HDL コードを生成できます。デスクトップからモバイルデバイス、組み込みシステムに至るまで、あらゆる場所でコードを実行・展開できます。設計が発展するにつれて、MATLAB Coder が新しいコードを自動生成するため、手作業でコーディングする必要はありません。これにより、設計サイクルが高速化され、より多くの反復検討を行えるようになります。
生成されたコードは、ソースコード、静的ライブラリ、または動的ライブラリとして、MATLAB 外でデスクトップ上やクラウド上で動作するアプリケーションに統合できます。また、MATLAB 環境で直接使用できるように、生成されたコードを MEX 関数としてパッケージ化することもできます。
Simulink からのコード生成
Embedded Coder を使用して、モデルをプロトタイピングおよび量産向けの高品質なソースコードや実行ファイルに変換します。C および C++ のデフォルト設定を使用するか、SIMD 命令、データ ストレージ クラス、メモリセクションのコード配置を利用して、パフォーマンスを最適化します。ランタイムシステムに組み込める ANSI/ISO C/C++、MISRA-C、または AUTOSAR のソースコードを生成します。あるいは、カスタム ハードウェア デバイスに自動的にダウンロードして実行できる完全なターンキー実行ファイルを生成することもできます。
双方向のトレーサビリティ リンクを使用して、モデルの生成コードを確認したり、コード、データ、関数インターフェイス、コード メトリクスを含むレポートを生成したりできます。
固定小数点
豊富なデータ型とツールを活用して、double 型からすばやく移行し、8 ビット、16 ビット、32 ビットの固定小数点および単精度アルゴリズムを開発できます。Fixed-Point Designer には、固定小数点演算および浮動小数点演算向けに設計を最適化する、数学演算、ビット演算、配列演算、行列演算などの関数が用意されています。
MATLAB コード、Simulink モデル、Stateflow チャートから、ビットトゥルーの C および C++ コード、論理合成可能な Verilog® および VHDL® コードを簡単に生成できます。
データ型のオーバーライドを使用することで、組み込みの固定小数点または単精度の設計を即時に倍精度に切り替えて、量子化の影響を解析できます。また、オーバーフロー、桁落ち、範囲または精度の損失の原因をすばやく簡単に特定できるツールも用意されています。
設計およびコードの検証
要件を作成・管理し、モデル、生成コード、およびテストケースへのトレーサビリティを確保できます。MAB などのモデル規格への準拠について、設計を確認します。シミュレーションに基づくテスト (ソフトウェアインザループ、プロセッサインザループ、ハードウェアインザループのテストを含む) を開発・実施します。Embedded Coder では、タスクレベルおよび関数レベルで、生成されたコードをプロファイリングできます。
Polyspace 製品は、手書きのコードと生成されたコードの両方をサポートしています。この製品を利用することで、ランタイムエラーが存在しないことの証明、コーディングルールの適用、CWE、CERT-C、ISO/IEC 17961 などの規格に基づいたセキュリティ脆弱性のチェックができます。
ハードウェアサポート
信号処理、コンピューター ビジョン、画像処理、制御システムなど、アプリケーションの用途を問わず、ハードウェア向けのコードをすばやく生成し、コンパイルできます。
コードを生成し、Raspberry Pi™ や Arduino® などの組み込みプラットフォーム上でプロトタイピングします。モバイル プラットフォームでは、生成されたコードを独自のアプリに組み込み、iPhone、iPad、または Android™ デバイス上で実行できます。また、ビデオカメラ、マイク、加速度センサーなどの内蔵センサーへのアクセスも可能です。組み込みシステムを高性能なマイクロプロセッサーに展開できます。
さらに、MathWorks と Connections パートナーは、一般的なハードウェア向けに組み込み型のターンキー統合ソリューションを提供しています。
詳細