Hi Leute ich habe grade mal mit dem Xilinx IP-Core-Generator nen Cordic Square Root Modul erstellt bzw den Generator das erstellen lassen. Dann hab ich noch vollautomatisch ne Testbench dazu geklickt und nur das Eingangssignal (die zu wurzelnde Zahl) hinzugefügt. Ich habe also nichts geändert. Die Simulation (siehe Bild im Anhang) zeigt allerdings dass das RDY (Ready) Signal einen Takt vor dem eigentlichen Ergebnis kommt. Meine Frage an erfahrenere Leute als ich es bin ist jetzt: Ist das Absicht und hat das nen Grund? Wenn ja welchen? danke für eure Hilfe
Kiigass schrieb: > Die Simulation (siehe Bild im Anhang) zeigt allerdings dass > das RDY (Ready) Signal einen Takt vor dem eigentlichen Ergebnis kommt. Sieht unschön aus... > Ist das Absicht und hat das nen Grund? Was steht in der Doku zum Core?
> Ist das Absicht und hat das nen Grund?
ja, z.B. einen Automatentheoretischen. Du weisst dadurch
schon einen Takt vor dem Ergebnis, dass ein Ergebnis vorliegt
bzw. dass du die nächste Rechnung anstossen kannst (nennt man
ab und zu LookAhead-State/Token etc.). Dadurch hann die
Effizienz erhöht werden.
Wenn es Dich stört: Das ready um einen Takt zu verzögern sollte kein Problem sein. Nur umgekehrt wird's schwierig ;-) Duke
Warum unschön, so kann man doch 'in Ruhe' das Ergebnis fetchen !?!
Ben schrieb: > Warum unschön, so kann man doch 'in Ruhe' das Ergebnis fetchen !?! Wozu braucht man zum Datenabholen eine "Vorwarnzeit"? Eine so umständlich geschriebene FSM, die sowas braucht, möchte ich mal sehen. Abholen kann man die Daten doch auch, wenn das Ready zusammen mit den Daten kommt...
Woher weis der Core, dass neue Daten anliegen und er das RDY generieren muss? Einige Cores haben deshalb einen eigenen Eingang, der zusammen mit den geänderten Daten auf 1 gesetzt werden muss. Wird dieser Eingang richtig angelegt?
Diesen Eingang (ND = New Data) gibt es als optionalen Eingang. Ich habe ihn aber nicht mit reingenommen.
@Lothar Miller >Wozu braucht man zum Datenabholen eine "Vorwarnzeit"? Eine so >umständlich geschriebene FSM, die sowas braucht, möchte ich mal sehen. die kannst du zu genüge sehen, schau dir einfach mal die komplexeren Xilinx- oder Altera- .. Komponenten sehr genau an (speziell wie die Komponenten max. ausgelastet werden können). Im zweiten Teil gebe ich dir aber zum Teil recht: Um maximale Taktgeschwindigkeit zu erreichen muss man nunmal mehr aufwand betreiben => komplexere FSM. In unserem Beispiel: Wie willst du den Producer maximal auslasten ohne schon einen Takt vorher bescheid zu wissen? Im Spezialfall möglich, allgem. unmöglich.
Kiigass schrieb: > Diesen Eingang (ND = New Data) gibt es als optionalen Eingang. Ich habe > ihn aber nicht mit reingenommen. Ja, das könnte das Problem sein. Ich habe das Datenblatt für Cordic 4.0 nur kurz überflogen, aber mir scheint der RDY Ausgang über den ND-Eingang funktioniert. Am ND-Eingang legt man einen Puls an, wenn man neue Daten an die Unit anlegt, und dieser Pulse erscheint genau richtig verzögert, um zu signalisieren dass die Daten am Ausgang bereit sind.
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.