Bitmaske variabler Länge in Vhdl

Gast #3986618
Lesenswert?

Hallo zusammen,
möchte in vhdl folgendes umsetzen:
1
signal a : std_logic_vector(laenge_a -1 downto 0); 
2
signal b : std_logiv_vector(laenge_b -1 downto 0);
3

4
Process(clk)
5
Begin
6

7
   ...
8
   Case Zustand is
9

10
      When A => b <= a(laenge_b downto 0);
11
                -- b <= a & "1111"; 
12
      When B => b <= a(2*laenge_b-1 downto laenge_b);
13

14
       ...

Suche nach einer Umsetzung mittels bitmaske für eine Variable Länge von 
a und der Maske b.
Gast #3986760
Lesenswert?

Mat schrieb:
> Suche nach einer Umsetzung mittels bitmaske für eine Variable Länge von
> a und der Maske b.
Das sieht für mich wie ein Multiplexer aus und Dein Ansatz ist doch 
schon gar nicht so schlecht:
1
 a( (x+1) * laenge_b-1   downto   (x) * laenge_b);
Jetzt mußt Du nur noch schauen, ob dein Synthesizer damit was anfangen 
kann.

Duke

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