2016-08-05 34 views
2

In VHDL ist es möglich, Array-Typen von parametrierbaren Bereich in der Art und Weise zu erstellen:Array von parametrisiert Elementen in VHDL

type t_array_type is array (natural range <>) of std_logic_vector(7 downto 0)

Jetzt ist es möglich, eine Reihe von parametrierbaren Elementen zu schaffen? I.e. um einen Array-Typ zu haben, bei dem man beim Instantiieren eines Signals einen Bereich von std_logic_vector definieren kann? Der Zweck davon ist, nicht für jeden Bereich std_logic_vector separate Array-Typen zu deklarieren.

Antwort

2

Ok, ich habe es gefunden. Deklarieren Art wie:

type t_array_type is array (natural range <>) of std_logic_vector;

und dann instanziiert wie:

signal t_array_type(23 downto 0)(7 downto 0);

+3

Dies funktioniert nur in VHDL-2008, though. In früheren Versionen von VHDL ist nur eine unbeschränkte Dimension zulässig. Dies muss die äußere Dimension sein - die unmittelbar nach dem Schlüsselwort type. –