VHDL-Forum - Anfänger

Parallele Signalzuweisung

Parallele Signalzuweisung

Hallo,

ich würde gerne folgendes Schaltbild mit VHDL nachbilden. Diese Maschine macht nichts sinnvolles, es geht um das prinzipielle Verständnis:



Ich habe dazu zwei Prozesse geschrieben, einen für das Bauteil P1 und einen für das Bauteil P2.

Der Wert, der am Eingang I bei einer steigenden Taktflanke anliegt, soll in P1 an X und an S ausgegeben werden. Dieses X soll gleichzeitig P2 empfangen und an Y ausgeben.

Mit meinem Modell verhält es sich nun leider so, dass X erst einen Takt später zugewiesen wird und nicht gleichzeitig.

Ich dachte eigentlich, dass die Signale so lange die Deltazyklen durchlaufen, bis der richtige Wert eingestellt ist.

Hier ist meine Architektur. (Anzumerken ist, dass ich oben im Schaltbild den Reset vergessen habe, ist natürlich in der Architektur enthalten)

ARCHITECTURE rtl OF tsm IS
SIGNAL X : STD_LOGIC := '0';
BEGIN -- ARCHITECTURE rtl

proc1: PROCESS (clk, reset) IS
BEGIN -- PROCESS proc1
IF reset = '0' THEN -- asynchronous reset (active low)
X

Re: Parallele Signalzuweisung

Das Verhalten ist so wie von Dir beschrieben in VHDL beabsichtigt.

Durch die Verwendung des zweiten FFs für Y verzögerst Du das Signal um einen Takt. Wenn die beiden Ausgänge sich zeitgleich ändern sollen, dann ist das 2. FF obsolete und X = Y.

Zum Delta-Delay:
Bei parallelen (asynchronen) Signalzuweisungen gilt das so wie beschrieben
Beispiel (parallele Signalzueisungen)
Sig1