Forum: FPGA, VHDL & Co. varibaler Shift VHDL


von Michael (Gast)


Lesenswert?

Guten Abend,

wie realisiere ich einen varibalen Shift in VHDL? In Abhängigkeit von d, 
soll an regA d-mal eine Null angehängt werden:
1
if rising_edge(Clk) then
2
   if Load_a = '1' then
3
      regA <= A;
4
   elsif En = '1' then
5
      regA <= regA(n-1-d downto 0) & (others => '0');
6
   else
7
      regA <= regA;
8
   end if;
9
end if;

So funktioniert es nicht. Wie kann ich das anders realisieren?

Danke im Voraus

Michi

von Michael (Gast)


Lesenswert?

Ich sollte noch anmerken, dass d ein generic bzw. eine Konstante ist.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Michael schrieb:
> d-mal eine Null angehängt werden...
Du mußt einen Bereich angeben. Probier mal was in die Richtung:
regA(n-1 downto d) <= regA(n-1-d downto 0);
regA(d-1 downto 0) <= (others => '0');

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.