Forum: FPGA, VHDL & Co. Speichern von Zahlenwerten VHDL


von Ronny (Gast)


Lesenswert?

Hallo Leute...
ich habe ein Problem. Ich möchte nach dem Initialisieren eines Sensor 
diesen Wert in einer Variable für weitere Berechnungen speichern. Dieser 
Wert soll nur verloren gehen bzw. gelöscht werden, wenn ich reset 
betätige. Bei meinem derzeitigen Code, geht dieser gespeicherte Wert 
allerdings verloren, sobald auch der Sensor keinen Wert mehr liefert. 
Ich lege den Syntax mal bei, vielleicht sieht jemand meinen Fehler.
 .
 .
 .
CASE state IS
WHEN INITIALIZE =>
 IF (ready='1') THEN
  orig_data:=pulse_width_in;
  state<= SUB;
 ELSE
  state<=state;
 END IF;
WHEN SUB =>
 data:=pulse_width_in;
 state<= ACCORD;
WHEN ACCORD =>
 IF (data > orig_data) THEN
 .
 .
 .
Das State INITIALIZE wird nur einmal bei der Initialisierung abgefragt, 
damit der Wert gespeichert wird in der Variablen orig_data. Diese möchte 
ich als Referenz immer beibehalten. Danach folgt in den weitern states 
die Bearbeitung, allerdings verliert die VAriable orig_data immer ihren 
Wert.
Wie kann ich sie fest beschreiben.

Danke.

von A. F. (artur-f) Benutzerseite


Lesenswert?

Probier es mal mit Variablen:

type MEM_TYPE is std_logic_vector(7 downto 0);

variable MEM : MEM_TYPE;

MEM := pulse_width_in

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mal angenommen, der Fehler befindet sich ausserhalb des 
Codeabschnitts...

Dann wäre es nicht schlecht, alle Stellen des Prozesses zu sehen, wo 
orig_data auftaucht. Also auch Deklaration, Initialisierung...
Ich denke, das hilft uns und dir weiter.

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.