Hallo, ich möchte zwei std_logic_vector miteinander vergleichen (gleiche Länge natürlich). Das scheint mit if (vec1 < vec2) auch gut zu gehen, die Synthese meckert jedenfalls nicht. Will ich es aber simulieren, bekomme ich die merkwürdige Meldung Warning: NUMERIC_STD.">=": metavalue detected, returning FALSE Weiß jemand, was das bedeutet und ob ich hier was falsch mache?
Numeric_std (jedenfalls das, was Xilinx da mitliefert) definiert Metavalue in diesem Kontext als alles außer '0', '1', 'H' und 'L'. Guck dir deine Vektoren mal genauer an. Ausserdem gibt es keine Funktion, die explizit für std_logic_vector geschrieben ist. Da scheint es eine implizite Typkonversion zu geben... -- stefan
Gast
#566410
Hi, das bedeutet das deine vectoten keinen klar definierten Wert haben, wie z.B. 'u' bzw 'x'. Ich schätze mal Anfangs werden deine vectoren den Wert 'u' haben und die Synthese kann deswegen logischerweise keinen Vergleich darauf anwenden.
Gast
#566411
..unglücklich formuliert 'u','x' haben z.B. keinen "klar definierten wert".
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.