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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
Die welche zu Fehlermeldungen führen.

Autor: Youssef .a (Firma: privat) (youssef)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich werde es testen . danke

Autor: Youssef .a (Firma: privat) (youssef)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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
  • 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.