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
Nachtrag: das Problem tritt auch beim einem Minimalbeispiel auf das fixed_pkg benutzt:
1 | architecture rtl of top is |
2 | signal x, y : sfixed (3 downto -3); |
3 | begin
|
4 | x <= to_sfixed(in1, 3, -3); |
5 | y <= x * 2; |
6 | out1 <= to_slv(y); |
7 | end rtl; |
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.
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.
Andreas Schwarz wrote: > float_pkg lässt sich nach Auskommentieren von ein paar Aliasen ebenfalls > synthetisieren. welche aliasen hast du auskommentiert .
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 ;-)
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 ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.