Library "use work.std_arith.all"

Gast #1846938
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
Angehängte Dateien:
Gast #1848317
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
Gast #1850811
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
Gast #1850825
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren