mikrocontroller.net

Forum: FPGA, VHDL & Co. Modelsim XE 6.2 // synthesis_translate_on/off


Autor: Seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich arbeite mit einem Multiplizierer, der von ISE9.1i - Coregen 
generiert wurde. Beim kompilieren und synthetisieren mit ISE gibt es 
keine Probleme, allerding beim Compilieren mit Modelsim XE.

Auszug aus dem VHDL File des Multiplizieres:

38 LIBRARY ieee;
39 USE ieee.std_logic_1164.ALL;
40 --synthesis translate_off
41 Library XilinxCoreLib;
42 -- synthesis translate_on
43 ENTITY mult_fix_wizard IS

Meine Frage: Weiß jemand, wie mit den Zeilen --synthesis 
translate_on/off umgegangen werden muss?

Ich bekomme eine Fehlermeldung beim Kompilieren des VHDL Files:
Internal Error: ../../src/vcom/genexpr.c(5483)

Kann damit jemand etwas anfangen oder Tips geben??? Hängt es vielleicht 
mit o.g. Zeilen zusammen?

Sollten mehr Infos benötigt werden, um etwas zu dem Problem sagen zu 
können, bitte nachfragen.

Vielen Dank!

Gruß Sebastian

Autor: Johnsn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verzichte einfach auf die Coregen-Files. Mit der numeric_std Bibliothek 
und den unsigned/signed Typen erreicht du genau dasselbe!

Gruß
johnsn

Autor: Stefan Hanke (stefanhanke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johnsn wrote:
> Verzichte einfach auf die Coregen-Files. Mit der numeric_std Bibliothek
> und den unsigned/signed Typen erreicht du genau dasselbe!
Nein.

1. Der Coregen läßt dir die Wahl, ob du den Multiplizierer aus LUTs oder 
aus den 18x18 Blockmultiplizierern aufbauen willst.

2. Du kannst die Pipelinetiefe einstellen. OK, ich weiss nicht, ob man 
das irgendwie mittels VHDL-eigenen Mitteln auch bei solchen Funktionen 
hinbekommt...

@Seb
Du bist übrigens nicht der Erste, dem diese Fehlermeldung begegnet.
http://www.fpga-faq.com/archives/116725.html#116732
Dummerweise gab es da überhaupt keine Antwort...

> Meine Frage: Weiß jemand, wie mit den Zeilen --synthesis
> translate_on/off umgegangen werden muss?
Einfach drinnen lassen.

 -- stefan

Autor: Johnsn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan Hanke:

Ob LUT (und ob pipelined) oder Block kannst du genauso auch in den 
Synthese-Optionen einstellen.

Autor: Stefan Hanke (stefanhanke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johnsn wrote:
> Ob LUT (und ob pipelined) oder Block kannst du genauso auch in den
> Synthese-Optionen einstellen.

Die Optionen kannte ich nicht, danke!

Die Kodierung (aus: XST User Guide, 8.1i) läßt dann auch eine einfache 
Verlängerung der Pipe zu; einziger Wermutstropfen ist, dass keine 
Hardware-Multiplizierer verwendet werden können. Das ist dann doch eine 
starke Einschränkung, leider.
process (clk)
begin
 if (clk'event and clk='1') then
  a_in <= A; b_in <= B;
  mult_res <= a_in * b_in;
  pipe_1 <= mult_res;
  pipe_2 <= pipe_1;
  pipe_3 <= pipe_2;
  MULT <= pipe_3;
 end if;
end process;

 -- stefan

Autor: adpat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Update mal dein Modelsim (bzw. die core libraries des Modelsim), 
möglicherweise kennt es die neuen cores einfach nicht.

Autor: Seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... hallo,

@adpat
modelsim ist die neueste verfügbare version, sollte also alles kennen

@stefan
...dann muss wohl der FAE ran :o)

aber danke!

gruß sebastian

Autor: Stefan Hanke (stefanhanke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ...dann muss wohl der FAE ran :o)
Ich stehe gerade auf dem Schlauch :)

Übrigens, aus: XST User Guide, 8.1i, p.335
> The Translate Off (TRANSLATE_OFF) and Translate On (TRANSLATE_ON)
> directives can be used to instruct XST to ignore portions of your VHDL or
> Verilog code that are not relevant for synthesis; for example, simulation
> code. The TRANSLATE_OFF directive marks the beginning of the section to be
> ignored, and the TRANSLATE_ON directive instructs XST to resume synthesis
> from that point.

 -- stefan

Autor: Seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... der " Field Application Engineer "

...probier gerade noch, den generierten code anzupassen, mal schauen, 
was dabei raus kommt ...

Autor: adpat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Modelsim kann ja die neueste Version sein aber sind es die libraries 
auch? Die gibts meist als Update extra. Siehe hier

http://www.xilinx.com/xlnx/xil_sw_updates_display....

Autor: adpat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch ein Link für dich falls du den nicht schon kennst:

http://www.xilinx.com/xlnx/xil_ans_display.jsp?iLa...

Autor: Seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@adpat: zum zweiten link, genau das habe ich bereits versucht, gut es 
jetzt noch mal zu lesen. den link kannte ich bisher nicht. jetzt hängt 
es wohl noch an anderer stelle. mal schauen. aktualisiere gerade die 
libraries.

gruß seb

Autor: Seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... so jetzt geht das alles.
es lag nicht an den libraries. hatte auch noch nen syntaxfehler drin - 
die gutan alten semikolons :o)
jedenfalls war das problem, dass die generics nur im mapping aufgeführt 
waren und nicht im deklarationsteil der architecture des von coregen 
generierten files. das sollte, nein das muss man von hand ändern und 
alles ist gut :o)

in diesem sinne, schönes we!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.