AR# 52331

Vivado 合成でメモリのモデル化およびブロック RAM の推論で VHDL レコード型はサポートされるか

説明

メモリを作成するために VHDL レコード型を使用する HDL コードは Vivado 合成ではサポートされません。

合成プロセスで、ブロック RAM は推論されません。

ソリューション

次に、レコード型を使用して作成されたメモリの例を示します。

subtype DATA_TYPE is std_logic_Vector(DATA_WIDTH-1 downto 0);
  type MEM_WORD is
    record
      data   : DATA_TYPE;
    end record MEM_WORD;
  
 type MEM_DATA_ARRAY_TYPE is array (natural range <>) of MEM_WORD;

VHDL レコード型を使用して作成されたメモリ モデルは Vivado 合成ではサポートされていないため、Vivado 合成でブロック RAM は自動推論されません。

この問題は、今後のリリースで修正される予定です。

これを回避するには、次の例に示すように、HDL を変更してレコード型を使用しないようにします。

subtype DATA_TYPE is std_logic_Vector(DATA_WIDTH-1 downto 0);
type MEM_DATA_ARRAY_TYPE is array (natural range <>) of DATA_TYPE;
AR# 52331
日付 04/18/2014
ステータス アクティブ
種類 一般
ツール