Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

エントリポイント関数の入力のプロパティの指定

入力プロパティを指定する場合

MATLAB® アルゴリズムのテスト ベンチを提供する場合は、基本関数の入力を手動で指定する必要はありません。HDL Coder™ ソフトウェアは、テスト ベンチを使用してデータ型を推定します。

入力プロパティを指定しなければならない理由

HDL Coder は MATLAB ファイル内のすべての変数のプロパティをコンパイル時に判別しなければなりません。MATLAB ファイル内の変数のプロパティを推定するために、HDL Coder は、"基本" 関数 ("最上位" 関数または "エントリポイント" 関数としても知られる) への入力のプロパティを特定できなければなりません。そのため、基本関数に入力がある場合は、これらの入力のプロパティを HDL Coder に指定しなければなりません。基本関数が入力パラメーターをもたない場合は、HDL Coder では MATLAB ファイルを修正せずにコンパイルできます。基本関数から呼び出されるローカル関数または外部関数に対する入力のプロパティは指定する必要はありません。

メモ

基本関数をパッケージ内に含めることはできません。パッケージ外でラッパー関数を基本関数として作成します。新しい関数内で目的の関数を基本関数として呼び出します。

HDL Coder プロジェクトでチルダ (~) 文字を使用して未使用の関数入力を指定し、生成されるコードで異なる型を表示させる場合は、その型を指定します。それ以外の場合は、入力は既定で実数のスカラーの double になります。

指定するプロパティ

基本関数が入力をもつ場合は、入力ごとに次のプロパティを指定しなければなりません。

対象指定するプロパティ
 クラスサイズ実数/複素数numerictypefimath
固定小数点入力

その他の入力

  

以下のデータ型は、基本関数内で使用できますが、基本関数の入力としてはサポートされていません。

  • 構造体

  • 行列

可変サイズ データは、テスト ベンチと基本関数ではサポートされていません。

既定のプロパティ値

HDL Coder では基本関数入力のプロパティに対して次の既定値が割り当てられます。

プロパティ既定値
クラスdouble
サイズscalar
実数/複素数real
numerictype既定値なし
fimathhdlfimath

サポートされているクラス

以下の表に HDL Coder でサポートされているクラス名を示します。

クラス名説明
logical真および偽の値の logical 配列
char文字配列
int88 ビット符号付き整数配列
uint88 ビット符号なしの整数配列
int1616 ビット符号付き整数配列
uint1616 ビット符号なしの整数配列
int3232 ビット符号付き整数配列
uint3232 ビット符号なしの整数配列
single単精度浮動小数点または固定小数点の数値配列
double倍精度浮動小数点または固定小数点の数値配列
embedded.fi固定小数点の数値配列

基本入力のプロパティの指定規則

基本入力のプロパティを指定するときは次の規則に従います。

  • すべての基本入力のクラスを指定しなければなりません。基本入力のサイズまたは実数/複素数を指定しない場合は、既定で実数のスカラーになります。

  • クラスが固定小数点 (fi) である基本関数入力ごとに、入力の numerictypefimath プロパティを指定しなければなりません。

基本入力のプロパティの定義方法

方法利点欠点
   

Define Input Properties by Example at the Command Line

メモ

MATLAB ファイルでプログラムによって入力プロパティを定義する場合は、この方法は使用できません。

  • 使いやすい。

  • 元の MATLAB コードを変更しない。

  • 少数の基本入力をもつ関数のプロトタイプを作成するために設計されている。

  • 起動するたびにコマンド ラインで指定しなければならない (スクリプトを使用しない場合)。

  • 大きな構造体や配列など、メモリを大量に使用する入力を指定する場合は効率的でない。

MATLAB ファイル内でのプログラムによる入力プロパティの定義

  • MATLAB コードと統合されているため、HDL Coder を呼び出すたびにプロパティを再定義する必要がない。

  • MATLAB コード内にプロパティ仕様のドキュメンテーションが提供されている。

  • 大きな構造体などメモリを大量に使用する入力を指定する場合に効率的である。

  • 複雑な構文を使用する。

  • HDL Coder プロジェクト ファイルは、現在、プログラムで定義されたプロパティを認識しない。プロジェクトを使用する場合は、入力の型をプロジェクトに再入力しなければならない。