mehrdimensionale arrays VHDL

OP #1216435
Lesenswert?

Hi zusammen,

ich suche nen VHDL Code wie ich diesen C code umsetzen kann:

const unsigned int Feld[2][6] ={
{0x00030400,0x00003400,0x00024000,0x10000001,0x00003000,0x10000001},
{0x00002340,0x10030013,0x00200000,0x00001200,0x00078000,0x00090000}
};

Nur eine Zeile wäre kein Problem. Aber zum oberen Code habe ich leider 
nichts passendes gefunden.

Gruß und Danke!!
Moderator (Firma: Titel) Persönliche Seite #1216618
Lesenswert?

Das ist bisher nach Redeart von "C" nur eindimensional...  :-o
>> const unsigned int Feld[2][6];
Das ist umgesetzt nach VDHL ein dreidimensionales Array, weil der 
Schritt vom Bit nach Bit-Vektor ja auch schon eine Dimension ist.


So wirds C-like zweidimensional (in VHDL dreidimensional):
1
type Feldelement is array (0 to 3) of std_logic_vector(3 downto 0); 
2
type FeldTyp1 is array (0 to 3) of Feldelement; 
3
signal FeldA : FeldTyp1 := ((x"0",x"1",x"2",x"3"),(x"4",x"5",x"6",x"7"),(x"8",x"9",x"A",x"B"),(x"C",x"D",x"E",x"F"));
4
:
5
  outputA <= FeldA(hi)(lo);

oder
1
type FeldTyp2 is array (0 to 3, 0 to 3) of std_logic_vector(3 downto 0); 
2
signal FeldB : FeldTyp2 := ((x"0",x"1",x"2",x"3"),(x"4",x"5",x"6",x"7"),(x"8",x"9",x"A",x"B"),(x"C",x"D",x"E",x"F"));
3
:
4
  outputB <= FeldB(hi, lo);

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren