Forum: FPGA, VHDL & Co. Latch XY has unsafe behavior


von Dennis L. (deluru)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich möchte einen Manchester-Encoder in VHDL programmieren, also 8-Bit
Eingangsdaten und 8-Bit + 1 Parität Ausgang (Pulsbreite wird dabei noch
angegeben). Habe dabei Warnings und kann diese nicht genau zuordnen
(VHDL-Amateur :-))

Könnte mir vielleicht jemand helfen? Danke!!
DeLUru


Latch ManchesterEncoder:Encoder|data_reference has unsafe
behavior  Ports D and ENA on the latch are fed by the same signal
ManchesterEncoder:Encoder|act_state.generate_data

Latch ManchesterEncoder:Encoder|clock_reference has unsafe behavior
Ports D and ENA on the latch are fed by the same signal
ManchesterEncoder:Encoder|act_state.generate_data

Latch ManchesterEncoder:Encoder|\PublicProcess:act_data_idx[3] has
unsafe behavior
Ports D and ENA on the latch are fed by the same signal
ManchesterEncoder:Encoder|act_state.generate_data

Ports D and ENA on the latch are fed by the same signal
ManchesterEncoder:Encoder|act_state.generate_dataLatch
ManchesterEncoder:Encoder|\PublicProcess:data_counter[0] has unsafe
behavior

von Sven Johannes (Gast)


Lesenswert?

Moin...

Auweia mach da erstmal was synchrones draus.
Ansonsten ist das doch Klartext: Du führst ein Signal an ENA(ble?) und
D eines Latches (eh schon bäh). Nennt sicht racind condition, außerdem
hast du immer das gleiche Signal drin, nämlich das enable, wenn das
schneller ist, oder das non-enablem, wenn die Daten schneller sind.

--
 SJ

von Dennis L. (deluru)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe das ganze ein bischen umgeschrieben. In der Simulation kommt
aber das raus was ich möchte, trotzdem sieht die HW-Implementierung
anders aus (also am laufenden FPGA). Hat jemand eine Idee?

DeLUru

von Sven Johannes (Gast)


Lesenswert?

Moin...

du hast ja auch nichts (wesentliches) geändert. Hast du mal ein Post
P&R Simulation gemacht? Geht mit hoher Wahrscheinlichkeit in die
Wicken.

Der process "Statemachine" reagiert auf (eigentlich alles) Data_in
und übernimmt den Wert dann gleich in Variable. GANZ böse!
Synchronisier das auf einen clk und die Probleme lösen sich auf.

--
 SJ

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.