loops im clk prozess

Gast #985829
Lesenswert?

Er wird in einem Takt durchgerechnet. Bei der Synthese wird dein Code 
dann N-Mal hintereinander in Hardware implementiert.

Eine richtige For-Schleife, wie aus C gibt es in Hardware nicht. Da 
musst du umdenken und so etwas in der Art schreiben.
1
dummy: process (clk, rst)
2
 variable vN : integer range 0 to X := 0;
3
begin  -- process dummy
4
  if rst = '0' then                   -- asynchronous reset (active low)
5
    vN := 0;
6
  elsif clk'event and clk = '1' then  -- rising clock edge
7
    if vN < X then
8
      vN := vN + 1;
9
      -- do something in the loop
10
    else
11
      -- do something else
12
    end if;
13
  end if;
14
end process dummy;
Gast #986329
Lesenswert?

Nein brauchte ich auch nicht, hatte eher gehofft das es aufgerollt wird.
Muss aber derzeit noch ne Menge verstehen.
weil ja generate auch aufrollt. Daher hab ich noch nicht speed technisch 
zumindest nen nachteil bei loop gefunden.
Aber da werd ich die nächsten Tage denke mal schlauer.

Somit war es gut zu wissen, das ich es so machen kann.
Auch wenn ich leider atm noch immer irgendwas falsch mache da xilinx mir 
sowohl als generate als auch als loop anweisung Errors auswirft, sowie 
ich das berechnete signal über einen port zu einem anderen Modul 
verknüpfe.

einmal xst:1706 und xst:1847.
Der einzige Tip dem ich im Inet gefunden hab, hat nicht geholfen.
Naja morgen bin ich auch da sicherlich schlauer.

Vielen Dank!!

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