Forum: FPGA, VHDL & Co. Änderung des Gehäuses erzeugt Compilation Fehler


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hotte (Gast)


Lesenswert?

Jetzt werde ich langsam blöde!

Ich habe ein kleines Design, dass zunächst nicht compilieren wollte, 
gerade eben komplett zum Laufen gebracht und nun fällt es pötzlich aus:

Ich hatte zunächst wie hier beschrieben ...
Beitrag "Re: conv_std_logic_vector"
... zwei Libs eingefügt, weil er die conv_std_logic_Vector nicht 
gefunden hat.

Darauf lief das Design durch und ich konnte ein bitfile generieren.

Leider hatte ich das falsche FPGA Gehäuse eingestellt. Ich habe das nun 
auf das richitige geäändert, dabei unbeabsichtigt kurz den FPGA 
verstellt, (S3 statt S6) und als ich es richtig eingestellt hatte, neu 
synthetisiert.

Jetzt will er es nicht bauen und meckert:

" Multiple declarations of unsigned included via multiple use clauses; 
none are made directly visible"

Das sind zwei Zeilen in denen ich die conv... benutze.

1) wie kann denn sowas sein? Sind da durch das Projektverstellen 
irgendwelche Fehlermeldungen schärfer geworden?


2) Welche LIB muss weg?

Das sind die Libs:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.NUMERIC_STD.ALL;

wie ich in dem anderen thread schreibe, geht es nicht so, wie es dort 
empfohlen ist.

von ... (Gast)


Lesenswert?

Nimm mal die Zeilen

use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

raus.

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


Lesenswert?

Hotte schrieb:
> Ich hatte zunächst wie hier beschrieben ...
> Beitrag "Re: conv_std_logic_vector"
> ... zwei Libs eingefügt, weil er die conv_std_logic_Vector nicht
> gefunden hat.
Hast du den Link im Beitrag "Re: conv_std_logic_vector" 
nicht gesehen?

Siehe den Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete"
Und hier noch der ziemlich aktuelle 
Beitrag "Re: Parallel/Seriel Wandler, mit Convertierung von BIT_VERTOR zu STD_LOGIC"

Um dir unnötige Lesearbeit abzunehmen, hier die Lösung mit der 
numeric_std:
output_d1 <= std_logic_vector(to_unsigned(output,8));

von Duke Scarring (Gast)


Lesenswert?

Hotte schrieb:
> (S3 statt S6)
Da wird intern ein anderer VHDL-Parser genommen.
Aber die eigentliche Ursache habe die anderen schon genannt.

Duke

von Duke Scarring (Gast)


Lesenswert?

Hotte schrieb:
> use IEEE.STD_LOGIC_ARITH.ALL;
> use IEEE.STD_LOGIC_UNSIGNED.ALL;

P.S.: Aus welchem Buch hast Du das mit diesen Libs?

von Klakx (Gast)


Lesenswert?

wie schon gesagt, sollte man sich auf jeden fall von den genannten libs 
trennen

Duke Scarring schrieb:
> Hotte schrieb:
>> (S3 statt S6)
> Da wird intern ein anderer VHDL-Parser genommen.
> Aber die eigentliche Ursache habe die anderen schon genannt.
>
> Duke

wenn das problem wirklich nur am parser liegt, dann kann man auch für S3 
(zumindest funktionierts gut für V5) den neuen parser aktivieren

siehe bebildert von lothar:
http://www.lothar-miller.de/s9y/categories/41-Xilinx-ISE

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.