Forum: FPGA, VHDL & Co. Reihenfolge der If-Anweisung in einem Prozess


von Tom (Gast)


Lesenswert?

Hallo, ich hab da mal eine Grundlagenfrage:

Wenn ich 2 verschiedene IF-Konstrukte:

process()
begin
if(bedingung1) then
 Anweisung1
else
Anweisung2
end if;
if(bedingung2) then
 Anweisung3
else
Anweisung4
end if;
end process;

in einem Prozess habe, wird dann die Bedingung 1 zuerst geprüft, also 
sequentielles Vorgehen im Prozess, oder wird bei den IFs eine Ausnahme 
gemacht und beide Bedingungen werden zur gleichen Zeit geprüft??

Danke für die Hilfe!

von zwieblum (Gast)


Lesenswert?

probieren geht über studieren :-)

von Klaus F. (kfalser)


Lesenswert?

Diese Frage wurde schon mehrmals diskutiert, du solltest in anderen 
Diskussionsbreiträgen danach suchen.
Kurz :
- Bei der Simulation werden die Anweisungen sequentiell abgearbeitet
- Wenn das ganze zu Hardware synthetisiert wird und Bedingung 1 und 
Bedingung 2 unterschiedliche Signale betrifft, dann arbeitet die 
synthetisierte Hardware parallel, also gleichzeitig.

von Tom (Gast)


Lesenswert?

@ Klaus

Danke , ja es muss synthetisiert werden, und Bedingung 1 & 2 betrifft 
auch unterschiedliche Signale, das hätte dann meine Frage beantwortet.

Hab allerdings keine Einträge dazu gefunden.

Viele Grüße

von Klaus F. (kfalser)


Lesenswert?


von Gast (Gast)


Lesenswert?

Das ganze macht nur einen Unterschied, wenn man bedingte Synthesen 
benutzt. Sonst nicht. Solche IFs sind immer parallel.

von Daniel (root) (Gast)


Lesenswert?

naja man muss hier 2 Dinge unterscheiden: Semantik und Synthese
Sprich ein Prozess ist schon sequentiell von seiner Semantik her.
Eine nachfolgende if wird dir in der Signalzusweisung höher
priorisiert, weil sie die Werte überschreiben kann. Die Synthese
macht aber kombinatorische Logik daraus .. sofern keine
rising_edge oder falling_edge die if Anweisungen in sich
beinhalten.

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.