Was bedeutet denn diese Meldung ? You can improve the performance of the multiplier XYZ by adding two registers Wo sollte oder könnte man denn da zwei Register spendieren ?
Sieh dir das an, da sind 2 Registerebenen hinzugekommen Beitrag "Re: Latch bei Berechnung mittels FSM" --> das Design kann schneller getaktet werden, der Multiplizierer hat aber Latency (der braucht letztendlich gleich lang ;-) EDIT: Das mit dem "improve" bezieht sich also nur auf die maximale Taktfrequenz des Designs, nicht auf die absolute Rechendauer der Multiplikation.
Vorsicht, wenn das ein DSP48 aus dem Spartan3DSP ist, dann schafft der Synthesizer (noch) nicht, verfuegbare Register auch zum Pipilinen zu verwenden.
> der Synthesizer
Welche XST Version? Welches Service Pack?
Duke
Ah, jetzt ja. Aber was bringt der schnellere Takt als solcher wenn die Ausführungzeit gleich bleibt ? Eigentlich Nichts.
klar bleibt die Ausführungszeit deines multipliers u.U. gleich. Aber der Rest des Designs ist schneller, dein multiplier ist nicht mehr der kritische Pfad welcher die max Frequenz runterzieht. Und du wirst ja nicht nur den multiplier im Design haben?!? Hat Lothar auch schon geschrieben: > Das mit dem "improve" bezieht sich also nur auf die maximale > Taktfrequenz des Designs, nicht auf die absolute Rechendauer der > Multiplikation.
Hier fehlen irgendwie die Begriffe "Latenz" und "Durchsatz". Die Latenz verbessert sich durch das Pipelining nicht, die Zeit vom Start bis zum Ergebnis bleibt ungefähr gleich. Allerdings verdreifacht sich der Durchsatz, weil ja mit dem höheren Takt gearbeitet wird.
>Die Latenz verbessert sich durch das Pipelining nicht,
Doch, sie steigt!
> >Die Latenz verbessert sich durch das Pipelining nicht, > Doch, sie steigt! Damit verschlechtert sie sich aber.
>>Die Latenz verbessert sich durch das Pipelining nicht, >Doch, sie steigt! Sinn?
>>>Die Latenz verbessert sich durch das Pipelining nicht, >>Doch, sie steigt! >Sinn? Kein Sinn, sondern negativer Begleitumstand zugunsten des höheren Taktes. Lohnt immer dann, wenn die Summe an zu bearbeitenden Daten gross gegen die Latenz ist, weil N+D clocks abzuwarten sind ud die Zeit dann sinkt.
Was ist nun N und D schon wieder? Die Latenz steigt im Idealfall doch nur um 3 setup-Zeiten für die FFs, oder? In der Realität kommt wohl noch ein bischen was dazu, weil man die Arbeit sicher nicht exakt dritteln kann. In Anbetracht der Gesamtdauer für eine rein kombinatorische Multiplikation würde ich die Latenz eben als beinahe gleich ansehen.
> Die Latenz steigt im Idealfall doch nur um 3 setup-Zeiten für die FFs, oder? Die setup-Zeit ist erstmal vernachlässigbar klein. > In der Realität kommt wohl noch ein bischen was dazu, > weil man die Arbeit sicher nicht exakt dritteln kann. Gut erkannt. In einer Pipeline macht das den größten Teil der "verschwendeten" Zeit aus und ist i.A. weit mehr als nur "ein bischen". Gerade bei komplizierteren Pipelines wird ein Riesenaufwand betrieben, um die Dauer der einzelnen Stufen auszugleichen. Dieser spezielle Fall mit dem Multiplier ist aber wohlbekannt und es gibt sicher haufenweise Doku, wo genau die Register eingefügt werden sollen, d.h. jemand anderes hat dir schon die schlimmste Arbeit abgenommen.
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.