Forum: FPGA, VHDL & Co. Vergleichsproblem


von Denis (Gast)


Lesenswert?

Hallo hab mal wieder ein kleines Problem,

ich bekomme einen Datenstrom, der einen Paketzählerstand beinhaltet. 
Diesen muss ich in einer Funktion überprüfen ob der aktuelle Wert größer 
ist als der vorherig abgespeicherte Wert. Liegt daran das die 
Information auf 2 Empfängern ankommt und der einen geringern 
Phasenversatz aufweist wird bevorzugt behandelt.

Dazu ist aber ein Vergleich notwendig. Aber wie kann ich das mit 
std_logic_vector machen?

Der normale Vergleich geht ja nur mit Boolean. Doch ich habe in dem 
Stream keinen weiteren Takt den benutzen könnte, sprich eine Wandlung 
wird nicht gehen,oder?Alles muss in einem Takt abgearbeitet werden.

Gruß
Denis

von Jan M. (mueschel)


Lesenswert?

Das kommt darauf an, welche Libraries du verwendest. Mit 
std_logic_unsigned kannst du den Vergleich einfach mit den 
std_logic_vector hinschreiben. Mit numeric_std musst du erst noch in 
einen unsigned-Wert konvertieren:

> unsigned(WertA) < unsigned(WertB)

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


Lesenswert?

> Dazu ist aber ein Vergleich notwendig. Aber wie kann ich das mit
> std_logic_vector machen?
Nimm die numeric_std.all und konvertiere/caste dir den Wert zurecht:
http://www.lothar-miller.de/s9y/archives/14-Numeric_Std.html

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.