Library "use work.std_arith.all"

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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.