Main Content

サポートされているデータ型とスコープ

サポートされているデータ型

HDL Coder™ では次の MATLAB® データ型のサブセットがサポートされています。

タイプサポートされているデータ型制限
整数
  • uint8, uint16, uint32, uint64

  • int8, int16, int32, int64

Simulink®MATLAB Function ブロックの端子には、64 ビット データに対して数値型 sfix64 または ufix64 を使用しなければなりません。
実数
  • double

  • single

double または single データ型で生成された HDL コードは、シミュレーションには使用できますが、合成はできません。

浮動小数点データ型を使用しているときに、合成可能な HDL コードを生成するには、以下を使用します。

文字char 
論理値

logical

 
固定小数点
  • スケーリングされた (2 進小数点のみ) 固定小数点数

  • カスタム整数 (ゼロ 2 進小数点)

勾配 (1.0 以外) とバイアス (0.0 以外) をもつ固定小数点数はサポートされていません。

固定小数点数の最大ワード サイズは 128 ビットです。

ベクトル
  • 順番付けなし {N}

  • {1, N}

  • {N, 1}

使用できるベクトル要素の最大数は 2^32 です。

変数に添字を使用する前に、変数を完全に定義しなければなりません。

行列

{N, M}

行列は設計アルゴリズムの本体および最上位の設計関数への入力として使用できます。

次の HDL ワークフローでは、行列はサポートされていません。

  • FPGA インザループ

  • IP コアの生成

Simulink および SystemVerilog を使用するコシミュレーション ワークフローでベクトル データ型がサポートされるようになりました。

構造体struct

構造体配列はサポートされていません。

IP コアの生成ワークフローについては、構造体は設計アルゴリズムの本体ではサポートされていますが、最上位の設計関数への入力としてはサポートされていません。

列挙型enumeration

ターゲット言語が Verilog® の場合は、すべての列挙型メンバーの名前が設計内で固有でなければなりません。

次のワークフローまたは検証メソッドでは、最上位 DUT の端子の列挙型はサポートされていません。

  • IP コアの生成ワークフロー

  • FPGA インザループ

列挙は、Simulink ワークフロー、および Verilog と SystemVerilog のみでサポートされます。列挙は VHDL® ではサポートされません。

サポートされていないデータ型

次のデータ型はサポートされていません。

  • cell 配列

  • Inf

変数のスコープ

グローバル変数は HDL コード生成ではサポートされていません。