Forum: FPGA, VHDL & Co. Library "use work.std_arith.all"


von Jochen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich verwende im Anhang angehängten Code für ein FSK-Modem.
Beim Synthetisieren erhalte ich folgende fehlermeldung:

ERROR:HDLParsers:3014 - "C:/ISE_Projekte/Modem_prototyp/Modem.vhd" Line 
43. Library unit std_arith is not available in library work.

Mir ist klar, dass es an der fehlenden Library liegt.
Habe auch schon gelesen, dass sie veraltet, bzw. den allgemeinen 
Standards nicht mehr entspricht.

Habe einige Zeilen auskomentiert. Der Modulator läuft. ich vermute die 
Bibliothek wird vom Demodulator verwendet und dieser geht dann nicht.

Wie kann ich das Problem umgehen und den Code vollständig lauffähig 
machen?

Guß,
Jochen

von Ottmar (Gast)


Lesenswert?

Das std_arith package ist in der ieee lib zu finden und nicht in work.

Ändere also work in ieee beim use.

von Ottmar (Gast)


Lesenswert?

Es muss natürlich std_LOGIC_arith heißen.

von Jochen (Gast)


Lesenswert?

Nun kommt aber folgende Fehlermeldung:

ERROR:HDLParsers:3312 - "C:/ISE_Projekte/Modem_prototyp/Modem.vhd" Line 
89. Undefined symbol 'synthesis_off'.

(bei nicht kommentierter Zeile)

Gruß,
Jochen

von Jochen (Gast)


Lesenswert?

...ist dieser Fehler+ Lösung niemandem bekannt?

Gruß,
Jochen

von Georg (Gast)


Lesenswert?

"synthesis_off" gibt es nicht.

Stattdessen:

1
process(clk)
2
begin
3
    if rising_edge(clk) then
4
        synth_test <= '1';
5
6
        --synthesis translate_off
7
        synth_test <= '0';
8
        --synthesis translate_on
9
    end if;
10
end process;

D.h. in der Simulation greift synth_test <= '0', in der Synthese 
synth_test <= '1'

Gruß, Georg

von Jochen (Gast)


Angehängte Dateien:

Lesenswert?

> "synthesis_off" gibt es nicht.

Wie meinst du das?
Ist Doch im Quellcode vorhanden.


Gruß,
Jochen

von Jochen (Gast)


Lesenswert?

...würde mich üner eine Antwort freuen.

Gruß,
Jochen

von Georg (Gast)


Lesenswert?

... aber auskommentiert

von Jochen (Gast)


Lesenswert?

Georg schrieb:
> ... aber auskommentiert

Es ist eben nicht auskommentiert! Und so entsteht der Fehler!

Gruß,
Jochen

von Jochen (Gast)


Lesenswert?

...gibt es keinen der an dieser Stelle weiterhelfen kann?


Gruß,
Jochen

von Kai (Gast)


Lesenswert?

Hallo Jochen,

damit das SYNTHESIS_OFF wirken kann, muss es als Kommentar angegeben 
werden.

Es handelt sich dabei nicht um ein VHDL Schlüsselwort. Daher gibt es 
auch Fehlermeldungen wenn SYNTHESIS_OFF ohne Kommentarzeichen verwendet 
wird.

Dem Compiler während der Simulation ist dieser Kommentar total egal. Für 
ihn ist es ein richtiger Kommentar, der ignoriert wird.

Während der Synthese des VHDL Codes wird aber speziell nach dem 
--SYNTHESIS_OFF Kommentar gesucht und dann der VHDL Code bis zum 
nächsten --SYNTHESIS_ON ignoriert.

Gruß Kai

von Jochen (Gast)


Angehängte Dateien:

Lesenswert?

In meinem Quellcode gibt es kein "synthesis_on"

Würde es bedeuten, wenn ich den Code syntheisieren möchte, einfach die 
Zeile 88. "attribute synthesis_off of i_sum:signal is true;" 
auskommentieren und der Rest funktioniert?

Gruß,
Jochen

von Kai (Gast)


Lesenswert?

Jochen,

ich kann mir so auf den ersten Blick keinen Grund vorstellen, warum das 
Signal i_sum, das für die Berechnung des Filters benötigt wird, bei der 
Synthese des ganze Codes ausgeschlossen werden sollte.

Daher würde ich die ganze Zeile (mit dem attribute) einmal 
auskommentieren und schauen, was dabei rauskommt.

Gruß
Kai

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.