www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx ISE & fixed_pkg/float_pkg

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:
Angehängte Dateien:

Hallo,

ich versuche die für Xilinx angepasste Version des fixed_pkg in ISE 9.1
zu synthethisieren (von http://www.eda-stds.org/fphdl/vhdl.html). Das
Kompilieren der Dateien klappt, allerdings bekomme ich dann folgende
Meldung:

=========================================================================
*                     Design Hierarchy Analysis
*
=========================================================================
ERROR:Xst:2683 - Unexpected error found while building hierarchy.
-->

Hat jemand eine Idee woran das liegen könnte? Das komplette Projekt ist
im Anhang (habe alles nach work verschoben um Fehler durch die Library
auszuschließen).

Gruß
Andreas
Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Nachtrag: das Problem tritt auch beim einem Minimalbeispiel auf das
fixed_pkg benutzt:
architecture rtl of top is
  signal x, y : sfixed (3 downto -3);
begin
  x <= to_sfixed(in1, 3, -3);
  y <= x * 2;
  out1 <= to_slv(y);
end rtl;
Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Mit Service Pack 2 wird die Meldung sinnvoller:

ERROR:Xst:2744 - "C:/Dokumente und Einstellungen/A/Eigene Dateien/FPGA/
fixpt-test/vhdl200x/fixed_pkg_c.vhdl" line 1026: alias of a function
is not supported.
ERROR:Xst:2683 - Unexpected error found while building hierarchy.

Nach Auskommentieren der Aliase funktioniert es.
Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Kurzer Erfahrungsbericht:
Multiplikation wird einwandfrei optimiert, auch Pipelining wird korrekt
erkannt. Division durch real-Konstante funktioniert leider nicht:
ERROR:Xst:769 - "C:/Dokumente und Einstellungen/A/Eigene
Dateien/FPGA/fixpt-test/vhdl200x/fixed_pkg_c.vhdl" line 2599: Operator
<INVALID OPERATOR> must have constant operands or first operand must be
power of 2

Naja, dann halt x * (1.0/c) statt x / c.

float_pkg lässt sich nach Auskommentieren von ein paar Aliasen ebenfalls
synthetisieren. Die Synthese erkennt hier kein Pipelining für die
Multiplizierer, gibt zumindest keine entsprechenden Meldungen aus,
trotzdem bringt eine Pipelinestruktur einige MHz. Ein 32 <= 32x32 Bit
MAC (jeweils 2 Register an den MUL- und ACC-Ausgängen) läuft im Spartan
3-1000-4 mit ca. 40 MHz. Der Logikverbrauch ist natürlich wie erwartet
hoch (~3000 LUTs bzw. 20%).

Ob das alles auch richtig rechnet habe ich noch nicht ausprobiert.
Autor: Youssef .a (Firma: privat) (youssef)
Datum:

Andreas Schwarz wrote:

> float_pkg lässt sich nach Auskommentieren von ein paar Aliasen ebenfalls
> synthetisieren.

welche aliasen hast du auskommentiert .
Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Die welche zu Fehlermeldungen führen.
Autor: Youssef .a (Firma: privat) (youssef)
Datum:

ich werde es testen . danke
Autor: Youssef .a (Firma: privat) (youssef)
Datum:

hallo  Andreas

ich habe folgende Meldung bekommen :
=========================================================================
*                     Design Hierarchy Analysis
*
=========================================================================
ERROR:Xst:2744 - "I:/Xilinx92i/test/fixed_pkg_c.vhdl" line 1026: alias
of a function is not supported.


FATAL_ERROR:Xst:Portability/export/Port_Main.h:127:1.17 - This
application has discovered an exceptional
condition from which it cannot recover.
Process will terminate.
For more information on this error, please consult the Answers Database
or open a
WebCase with this project attached at h**p://www.xilinx.com/support.

nach die aus kommentierung von die Linie 1026 und 1027

fixed_pkg_c.vhdl line 1026:
alias to_StdLogicVector is to_slv  [UNRESOLVED_ufixed
fixed_pkg_c.vhdl line 1027:   return STD_LOGIC_VECTOR];

bekomme ich dann nur noch tausende von diese Meldung und der Rechner ist
gelähmt :

ERROR:HDLParsers:333 - Binary file "xst/ieee_proposed/sub00/vhpl02" is
corrupted. Recompile unit fixed_pkg.fixed_pkg.


hast du eine Idee wie ich das los kriege ???? die frage ich doch für
alle ;-)
Autor: Youssef .a (Firma: privat) (youssef)
Datum:

ich denke ich habe es gefunden :-)

nach jede Änderung im package  habe ich gespeichert und danach clean
project fils gemacht und neue synthetisieren.

also es lauft jetzt ;-)

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




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net