AllerAnfang schrieb:
> ich bereite mich gerade auf eine VHDL Klausur vor und zwei Dinge sind
> mir überhaupt nicht klar.
Na, wenn das die einzigen sind. Aber ich habe den Verdacht, dass du auf
der falschen mentalen Ebene unterwegs bist. Du denkst nämlich in einer
Programmiersprache und erwartest, dass auch das FPGA das tut...
> 1) Wie werden Rechenoperationen mit Variablen innerhalb von Prozessen
> hardwaremäßig gelöst? Variablen haben ja kein Delta-Delay, das heisst
> keine Laufzeitverzögerung, was ja technisch nicht umsetzbar ist.
Du willst ein idealisertes sprachliches Denkmodell in Hardware
transformieren. Das geht so nicht. Variablen sind (GENAU wie Signale)
nur Informationsträger. Ob sie diese Information nur weitergeben oder
speichern können, hängt von der Beschreibung ab.
Rechenoperationen werden also in logische Grundfunktionen zerlegt, die
dann miteinander verdrahtet werden. Und in der realen Hardware haben
Variablen genau die selben Laufzeiten wie Signale. Beide
Informationsträger werden ja auf das selbe Silizium abgebildet.
> 2) Wenn ich einen Prozess erzeuge und in die Sensitivitylist das Signal
> A einfüge, dieses Signal dann mitten im Prozess, durch den Prozess
> geändert wird, springt man dann aus dem Prozess raus und fängt von
> vorne an oder wird der Prozess bis zum Ende durchgearbeitet?
Auch wenn du das "nur" simulierst, kann sich kein Signal während der
Berechnung des Prozesses ändern, denn die logische Abarbeitungszeit des
Prozesses ist 0, und der Rechner kann auch nur 1 Prozess gleichzeitig
bearbeiten. Das FPGA "bearbeitet" immer alle Prozesse gleichzeitig, weil
ja jeder Prozess in Hardware umgerechnet worden ist.
> 2) Wenn ich einen Prozess erzeuge und in die Sensitivitylist das Signal
> A einfüge, dieses Signal dann mitten im Prozess, durch den Prozess
> geändert wird, springt man dann aus dem Prozess raus und fängt von
> vorne an oder wird der Prozess bis zum Ende durchgearbeitet?
Es gibt in einem Prozess, der in Hardware abgebildet wurde, keinen
"Anfang" und kein "Ende". Es ist einfach alles gleichzeitig da!. Und
deshalb wird das "Ergebnis" eines Prozesses in der Hardware nur durch
Laufzeiten und Verzögerungen begrenzt. Wenn sich da irgendwann ein
Signal ändert, dann braucht es eben ein paar ns, bis das durch die Logik
durchmarschiert ist.