Forum: FPGA, VHDL & Co. Fehler in numeric_std.vhd ?


von Hans-Werner (Gast)


Lesenswert?

Bei der Ausführung einer Testbench erhalte ich folgende Warnings:

Starting static elaboration
WARNING:HDLCompiler:746 - "N:/K.31/rtf/vhdl/src/ieee/numeric_std.vhd" 
Line 867. Range is empty (null range)
WARNING:HDLCompiler:746 - "N:/K.31/rtf/vhdl/src/ieee/numeric_std.vhd" 
Line 868. Range is empty (null range)
Completed static elaboration
Fuse Memory Usage: 55804 Kb
Fuse CPU Usage: 483 ms

In den Zeilen der numeric_std.vhd steht folgendes:

-- null range array constants

  constant NAU: UNSIGNED(0 downto 1) := (others => '0');
  constant NAS: SIGNED(0 downto 1) := (others => '0');


0 downto 1 ?
Kann das stimmen ?

Danke

von Xenu (Gast)


Lesenswert?

Mein Simulator kann das. Es handelt sich um leeren Bereich (null range). 
Ich hab das hier aus der comp.lang.vhdl-FAQ rauskopiert:

null range : A range that specifies an empty subset of values. A range 
L to R is a null range if L > R, and range L downto R is a null range if 
L < R. (§3.1)"


Dein Simulator/Synthesizer scheint das wohl nicht zu mögen. Vielleicht 
genügt es, es einfach auszukommentieren.

von lkmiller (Gast)


Lesenswert?


von Hans-Werner (Gast)


Lesenswert?

Verstehe ich das richtig.
Ich kann die Warnungen ignorieren ?

von Matthias F. (flint)


Lesenswert?

Ich habe neulich ja auch mit trial and error herausgefunden, dass der 
leere string ein string (1 to 0) ist, was mir auch nicht sauber 
vorkommt.

IMHO ist der Standard in diesem Punkt nicht gut, im händisch 
hingeschriebenen Code mag es keine null ranges geben aber in automatisch 
generiertem Code könnte es nur so wimmeln davon. Wenn es da dann 
Synthesetools aufschmeißt wäre das eine echte Hürde für automatische 
Codegenerierung.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ist ja nur eine Warnung. Dass man die nicht alle wegbekommt, egal wie 
perfekt man Code schreibt, daran muss man sich bei ISE leider gewöhnen.

von Klaus F. (kfalser)


Lesenswert?

Wenn das mit ISE passiert, dann stimmt doch irgendetwas anderes nicht.

Die Bibliothek numeric_std ist doch vorkompiliert und sollte keine 
Meldung schmeißen.

von lkmiller (Gast)


Lesenswert?

@  Hans-Werner
> Verstehe ich das richtig.
> Ich kann die Warnungen ignorieren ?

Ja nun, selbst VHDL.ORG sieht kein Problem darin.
Wieso päpstlicher sein als der Papst?
Also: #MODE=IGNORE

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.