Forum: FPGA, VHDL & Co. Optimierung ISE 4.2 Xilinx


von Mina (Gast)


Lesenswert?

Hallo!

Ich benutze das ISE 4.2 von Xilinx und hätte eine Frage zur Optimierung
beim Kompieliren:

Wie kann man den das Optimieren ganz ausschalten, ich meine für alle
Bauteile?

Wäre sehr wichtig. Im Internet ist nicht viel zu finden...

Dankeschön, gLg Mina

von Mina (Gast)


Lesenswert?

UUUppps,

Wie hab ich den geschrieben Kompilieren :-) Sorry.

von FPGAküchle (Gast)


Lesenswert?

Vorschlag, wechsle auf eine aktuelle version(8.1). Die 4.2 stammt IMHO
aus den vergangenen Jahrtausend, die Experten dazu sind
"ausgestorben".

von Mina (Gast)


Lesenswert?

Naja... Die ist von der Firma vorgegeben. Da ist das mit den Lizensen
nicht so einfach...

Zuhause benutze ich natürlich die neuerste Version...

Danke, Mina

von Xenu (Gast)


Lesenswert?

>Wie kann man den das Optimieren ganz ausschalten, ich meine für alle
>Bauteile?

Viel interessanter ist die Frage: Was ist denn das eigentliche
Problem?

Was optimiert er Dir denn weg, das Du "das Optimieren" ausschalten
willst?

Welcher Baustein?

von Mina (Gast)


Lesenswert?

Ich bin in dem Gebiet kein Profi. Soll nur die Schalftung machen... Ich
weiß nur, dass die Schaltung ziemlich empfindlich ist. Durch das
Kompilieren werden oft z.B.: Buffer weggelassen, die aber für die
Schaltung wichtig sind (Verzögerungszeit)...

Ich habe übrigens schon was gefunden.

Ein Attribut wird beim Bauteil eingefügt:

Name: OPT
Value: OFF

also: OPT=OFF

und somit wird "wahrscheinlich" die Optimierung des Bauteils
ausgeschalten. Ich hoffe, das stimmt.

lg Mina

von FPGAküchle (Gast)


Lesenswert?

Hm,die 8.1 kommt doch als kostenlose Lizenz, wo ist das problem?

Optimierung ausschalten ->
 Recht verstanden, sollen die Subroutinen die nicht zwingend für
 Synthese gebraucht werden nicht gestartet werden. Das können
 subroutinen zur verkleinerung des Flächenbedarfs (Areaoptimierung)
 oder zur verkürzung des kritischen Pfades (timingoptimierung) oder
 routinen die überflüssige Schaltungsteile (dead code elimination)
 entfernt.

 Einen Schalter, der all dies abschaltet kenne ich nicht.
 Du könntest an allen tools den effort level auf minimum (standard
 stellen. Also bei synthese (XST)  und map. (Place&route (par)) dürfte
 IMHO die Schaltung nicht verändern). Dann gibt es gelegentlich noch
 die ATTRIBUTE dont_touch, keep_signal, keep_driver. keep_hierarchy
 könnte auch helfen. Allerdings wird eine "Optimierung" immer aktiv
 sein. Nämlich ob die Synthese/Implementierung auf Timing (SPEED) oder
 Fläsche (AREA) achten soll. Da wirst du ausprobieren müssen. Ebenso
 stellt sich die Frage nach dem FSM Codierungen (ONEHOT,BINARY).
 Um all diese möglichen Stellen falscher Umsetzung  auszuschliessen,
 müßtest du das design als reine Netzliste von Logik, FF und BRAMS
 beschreiben.

Aber ich kann nur im nebel stochern, da ich die Steinzeittools nicht so
genau kenne. Und scematic entry statt VHDL ist auch nicht mein Bier. Und
die Frage ist falsch gestellt, Du willst wahrscheinlich
Toolfehler (XST etc) ausschliessen ohne diese nachweisen zu können.


Simulier dein design und wenn sich das anders verhält als in echt, dann
kann man an den Tools suchen.

von Mina (Gast)


Lesenswert?

Danke für die lange Erklärung, leider habe ich Null verstaden.

Ich bin jetzt mit der dritten Klasse HTL fertig, bin 17, arbeite als
Praktikantin bei einer tollen Chip-Design-Firma und weiß gerade mal was
ein Transistor ist, wie er zu beschalten ist und weiß wie ein Oszi
funzt, aber von deinen Fachwörtern da oben, habe ich ziemlich nichts
vertsanden.

VHDL... Schön und gut. Das höchste, was ich mit VHDL programieren kann
sind 2 zusammengeschaltene Zähler. :-)

Bei diesem Projekt ist die Schnelligkeit und der Platz auf dem FPGA
egal. Es sollen einfach alle Bauteile im FPGA vorhanden sein.

Danke trotzdem. Du scheinst dich ja super auszukennen. =)
Herzliche Grüße!
Ein dummes Mädchen...

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
Noch kein Account? Hier anmelden.