Simples Problem: zwei 8bit zu einer 16bit reihen

OP #1462862
Lesenswert?
• ▲
▼
Hallo,

ich grüble jetzt schon eine Weile an folgendem Problem und ich sehe 
wahrscheinlich den Wald voller lauter Bäume nicht mehr.

Ich habe zwei 8 bit Variablen:
1
signal DATA_OUT_A0 : std_logic_vector(7 downto 0);
2
signal DATA_OUT_A1 : std_logic_vector(7 downto 0);

Nun möchte ich die in einer Variable aneinanderreihen bzw. 
zusammenführen:
1
signal DATA_OUT_A : std_logic_vector(15 downto 0);

Wie genau ist die Syntax dafür?
Kann ich es einfach so in der Art machen?
1
DATA_OUT_A <= ('DATA_OUT_A0','DATA_OUT_A1');

Oder muss ich die einzelnen Bits in DATA_OUT_A0(0),DATA_OUT_A0(1) 
auflösen und dann neu in die 16bit Variable sortieren?

Eine einfache Addition mit DATA_OUT_A0 + DATA_OUT_A1 wird ja nicht 
ausreichen, oder?

Ich habe hier im Forum viele Lösungen gefunden, aber leider nur in C 
oder C++ oder sowas.

Einen Ansatz hatte ich schon:
Einfach die unteren Bit von A0 in A schreiben und dann A1 um 8 schiften 
und dann addieren... aber dazu fehlt mir auch die Idee, wie ich die in 
VHDL umsetzen kann.

VIELEN DANK!
Gast #1462875
Lesenswert?
• ▲
▼
Wird da nicht beim reinen Verunden das 8 bit shiften vergessen??

Ich kann kein VHDL, aber so in der Art geht es:

data_out_a <= ((typecast zu 16 Bit)data_out_a1 << 8) & data_out_a0;

Vorrausgesetzt, Du willst in a1 dein High Byte haben!

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