VHDLのどのバージョンでも、おそらく2008年に宣言される前に型を使用できますか?VHDL(2008)で宣言される前に型を使用する
など。私は、エンティティのアーキテクチャでは、この配列の宣言があります。同じアーキテクチャのセクションで
type my_array is array (integer range <>) of my_type;
そして、まだのが、後で私はこれを持っているファイルで:
type my_type is record
my_field: signed(31 downto 0);
end record;
今は、この中で、次のエラーが発生しますVivado:
[シンセ8から1031] my_typeが宣言されていない
解決策はもちろん、レコード宣言を配列宣言の上に移動することです。しかし、これは非常に複雑で面倒なものになります(基本的には依存関係を考慮して型をトポロジー的に並べ替える必要があるため)。
このようなものは、すべての主要なプログラミング言語でサポートされているので、おそらくVHDLにも存在すると思います。 VHDL 2008に追加されたこのことについて読んでもぼんやりと読んでいますが、VHDL 2008のクイックテストは否定的でした。
タイプが同じアーキテクチャ、同じファイル、しかし数行下にまだ宣言されているので、宣言される前にVHDLの型を使用することは可能ですか?
VHDL-2008の汎用タイプが役立ちます。 –
Hmm。ジェネリックスは複雑な依存関係を単純化するのに役立つかもしれませんが、一般的には簡単に問題を解決することはできません(なぜなら、ジェネリックスを別々にプラグインすることに注意する必要があります。 – Piedone