Hi,
ich versuche mich gerade in VHDL und brauche in einer Schaltung ein
D-Flip-Flop, bei dem der negierte Ausgang Qbar auf den Eingang D
zurückgeführt wird. Leider bin ich mit meinem VHDL-Code nicht weiter
gekommen. Ich kann mir leider auch nicht erklären wo der Fehler liegt.
Der VHDL-Code für das D-Flip-Flop:
und dem Signal für die Simulation ist unten aufgeführt. Im Anhang habe
ich auch noch ein Diagramm mit der Beschaltung des D-Flip-Flops, wie ich
es versucht habe zu simulieren.
Im Anhang habe ich auch noch eine Abbildung mit den Signalverläufen zur
Simulation. Meine Ausgänge bleiben undefined (U) und ich weiß nicht
warum :-/
Kann mir einer erklären was ich übersehe? Eine direkte Rückkopplung
sollte doch möglich sein?
Freundliche Grüße
Bruno
Bruno K. schrieb:> Kann mir einer erklären was ich übersehe?
Am Anfang sind alle Signale 'U'nitialized. Und was ist ein negiertes
'U'? Auch ein 'U'...
Probiers mal als Gebastel so:
1
Port(D:inSTD_LOGIC;CLK:inSTD_LOGIC;
2
Q:outSTD_LOGIC:='0';
3
Qbar:inoutSTD_LOGIC:='1');
Und: arbeite mit lokalen Signalen statt mit inout. Denn du hast da weit
und breit keine inout. Nirgends.
Und lokale Signale kannst du dann auch initialisieren wie es sich
gehört.
> CLK <= '1' after 1*period/2,
Fehlt da ein _s?
BTW, einen Takt erzeuge ich so:
Danke Lothar,
das Problem war tatsächlich nur die Initialisierung. Habe jetzt ein
Reset mit eingebaut, der alles in einen definierten Zustand bringt.
Danke nochmal.
Grüße
Bruno