Modelsim XE 6.2 // synthesis_translate_on/off

Gast #553361
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
#553411
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
#553513
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.
1
process (clk)
2
begin
3
 if (clk'event and clk='1') then
4
  a_in <= A; b_in <= B;
5
  mult_res <= a_in * b_in;
6
  pipe_1 <= mult_res;
7
  pipe_2 <= pipe_1;
8
  pipe_3 <= pipe_2;
9
  MULT <= pipe_3;
10
 end if;
11
end process;

 -- stefan
Gast #553750
... 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
#553759
> ...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
Gast #553990
@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
Gast #554048
... 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

Eine eigene Frage? Dieser Thread ist über 19 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.