Komponenten in Prozessen ausführen ?

Gast #737204
Lesenswert?
• ▲
▼
Hallo und frohe Weihnachten!

Ich habe eine Funktion in VHDL in mehrere Entitys zerlegt. Die so 
entstandene Gesamtfunktion möchte ich rekursiv für eine bestimmte Anzahl 
durchlaufen lassen.
Dafür möchte ich einen Takt einsetzen, der bei jeder Flanke einen 
Durchlauf ausführt.
Nun habe ich aber das Problem, dass ich in Prozessen keine Komponenten 
instanzieren kann.
Wie kann ich da vorgehen? Ich könnte natürlich alle Anweisungen in den 
Prozess schreiben, nur dann geht die Übersicht verloren.
Es muss nicht unbedingt getaktet sein, nur dass der Eingang dieses 
"Blocks" mit dem Ausgang rückgekoppelt wird und nach den z.B. 10 
Durchläufen das Ergebnis am Ausgang gültig wird.

Hier mein Problem als VHDL Schnipsel:

entity one is
...
end;

architecture beh_1 of one is
begin
...
end;


entity two is
...
end;

architecture beh_2 of two is
  component one
  ...
  end component;
begin
...
end;

.
.
.

entity gesamt is
...
end;

architecture beh_ges of gesamt is
  component five
  ...
  end component;
begin
  process(clk)
    if (clk'event and clk = '1')

      ??? (z.B. 10 Mal (zähler) die Entity FIVE durchlaufen)

    end if;
  end process;
end;
Gast #737366
Lesenswert?
• ▲
▼
Eine Rekursion muss als Datenfluss programmiert werden, also state 
machine mit Verwaltung, genauso wie in C. Zerlegung in Teilprozesse hat 
damit nichts zu tun.

Ein Itereation ist einfacher, dann wird ein Wert mehrmal in diesele Pipe 
eingeoworfen.

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