Integer Vektor ausgeben

Gast #1068982
Lesenswert?
• ▲
▼
Hallo

Ich möchte 10 Integerwerte ausgeben, die in einem Block berechnet werden 
und dann an einen anderen Block übergeben werden sollen.

Kann ich das so machen das ich ein 1D Array von 10 Integern erstelle und 
das als Ausgang in der Entity deklariere.

Ich dachte dabei an so was in der Form:

ENTITY Look_up_table is
  port(  Zeile: IN   std_logic_vector(1 to 6);
            PWM_in_init: array (1 to 10) of integer(0 to 4096)
        );
end Look_up_table;

Kann mir jemand weiterhelfen, bin in VHDL leider noch nichts o ganz fit?
Vielen Dank
Gast #1069180
Lesenswert?
• ▲
▼
Damit Du ein Array im Port nutzen kannst, musst Du einen Type 
definieren.
Z.B.
1
type pwm_array is array(9 downto 0) of integer range 0 to 4095;
Also einfach ein Package beschreiben und diesen Typ dort definieren. 
Anschließend das Package in deinen Modul-Code inkludieren ( use work. 
... ). Damit ist der Typ nun bekannt und kann auch in der Portdefinition 
genutzt werden. Ob sich das allerdings auch synthetisieren lässt kann 
ich Dir nicht sagen.
Ich würde eher einen std_logic_vector nutzen. Und btw. fang die Vetoren 
lieber immer bei 0 an ... also 0 to 5 anstatt 1 to 6
Das entspricht dann also
1
port(
2
 Zeile: IN   std_logic_vector(0 to 5);
3
 pwm_in_init : in std_logic_vector(0 to 9*12-1)
4
);

 0-11 = array(0)
12-23 = array(1)
24-35 = array(2) ... usw

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