Forum: FPGA, VHDL & Co. effizienz von edk/ise 8.1


von Breti (Gast)


Lesenswert?

Hi,

ich habe mir soeben edk und ise in version 8.1 mit den jeweils
verfügbaren updates installiert. dabei habe ich ein bisher
funktionierendes design für ein spartan3 starterkit neu synthetisiert
und es passt plötzlich nicht mehr in das fpga, was mich etwas stutzig
macht.
Gleichzeitig ist die maximale Geschwindigkeit des uBlazes von 88,87Mhz
auf 86,62Mhz gesunken.

vorher (hat gerade noch rein gepasst):
Logic Utilization:
  Number of Slice Flip Flops:  1,650 out of   3,840   42%
  Number of 4 input LUTs:      2,836 out of   3,840   73%
Logic Distribution:
 Number of occupied Slices: 1,918 out of 1,920 99%
 Number of Slices containing only related logic: 1,760 out of 1,918
91%
 Number of Slices containing unrelated logic: 158 out of 1,918 8%
Total Number 4 input LUTs:          3,292 out of   3,840   85%
  Number used as logic:              2,836
  Number used as a route-thru:         112
  Number used for Dual Port RAMs:      256
  Number used as Shift registers:       88

nachher:
Logic Utilization:
  Number of Slice Flip Flops: 1,595 out of   3,840   41%
  Number of 4 input LUTs:     3,014 out of   3,840   78%
Logic Distribution:
 Number of occupied Slices: 1,945 out of 1,920 101%!!!!
 Number of Slices containing only related logic: 1,759 out of 1,945
90%
 Number of Slices containing unrelated logic: 186 out of 1,945 9%
Total Number 4 input LUTs:          3,430 out of   3,840   89%
 Number used as logic:              3,014
 Number used as a route-thru:          69
 Number used for Dual Port RAMs:      256
 Number used as Shift registers:       91

Ist Euch ähnliches passiert? Es scheint mir, dass die Tools
ineffizienter arbeiten als vorher arbeiten.
Optimization ist übrigens auf "Speed" mit Optimization Effort
"high" gestellt. Ich könnte es natürlich mal auf Slices hin
optimieren - ich finde es aber trotzdem komisch, dass die Effizienz der
tools nachgelassen hat.

Viele Grüße,
             Thomas

von FPGAküchle (Gast)


Lesenswert?

Hm das ist zu Komplex um sicher antworten zu können. Was sich bei
updates ändert, sind die speedfiles. In diesen stehen die Zeiten fürs
Silizium, sind also bei updates genauer, meist schneller. In den ersten
Versionen baut man mehr Reserven ein, z.B wenn bisher 90% der
gefertigten Chips die LUT's in 1.9 ns durchlaufen werden, gibt Xilinx
vielleicht 2.2 ns an. Wenn dan die Ausschussrate (chips langsamer als
2.2ns) nicht steigt und immer noch die meisten Chips LUT's von 1.9 ns
haben, setzt man in den Speedfiles des updates die Laufzeit auf 2.0
ns.
Deshalb werden selbe Designs mit neuen Tools meist schneller.

Wenn jetzt ein design langsamer wird!? Vielleicht hat das Update
Defaulteinstellungen geändert. Also wenn z.B. die Treiberstärke der
IO-Pins nicht vorgeben wurde, wird in der Version x.01 12 mA gesetzt in
der Version x.02 8 mA.

Nach meinen Erfahrungen hilft nur ein Spielen mit den Optionen. Xilinx
gibt selbst ein Script/Tool heraus (Xplorer) um durch Try und Error die
optimalen Einstellungen zu finden. Ich hat schon ein Design, das mit
eingeschalteten Optimierungen größer und langsamer wurde.

Also ich kann nicht sicher sagen, ob die Tools wirklich schlechtere
Ergebnisse produzieren müßen.

von TheMason (Gast)


Lesenswert?

@breti
@fgpaküchle

also ich habe auch einen solchen effekt beobachtet. ich habe mir unter
6.2 einen kleinen dsp-kern gebastelt (mac einheit, 4 multiplexer, 3
blockrams, schieberegister, statemachine + ein bisschen logik).
beim 6.2 ise kam ich beim design auf 100MHz. beim 8.1 kam ich nur auf
53MHz.
aber danke für den tip mit den optionen. werds mal probieren ob ich da
auf mehr komme, da ich auch lieber neuere versionen nutze in denen
weniger bugs auftreten (wobei ich mit 6.2 bis jetzt eigentlich recht
zufrieden bin). schaun mer mal

gruß
rene

von Breti (Gast)


Lesenswert?

Hi,

also ich werde dann wohl auch mal den xplorer testen. Mal schauen, was
dabei herauskommt. Vielleicht geh ich mal bei unserem Prof. fragen. Die
entwickeln ein ähnliches Tool, welches genetische Algorithmen zur
exploration einsetzt. Mal schauen, was der dazu sagt.

Gruß,
      Thomas

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.