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
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.
@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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.