Forum: FPGA, VHDL & Co. RDY Signal kommt einen Takt zu früh?


von Kiigass (Gast)


Angehängte Dateien:

Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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?

von Sigi (Gast)


Lesenswert?

> 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.

von Duke Scarring (Gast)


Lesenswert?

Wenn es Dich stört: Das ready um einen Takt zu verzögern sollte kein 
Problem sein. Nur umgekehrt wird's schwierig ;-)

Duke

von Ben (Gast)


Lesenswert?

Warum unschön, so kann man doch 'in Ruhe' das Ergebnis fetchen !?!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von Klaus F. (kfalser)


Lesenswert?

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?

von Kiigass (Gast)


Lesenswert?

Diesen Eingang (ND = New Data) gibt es als optionalen Eingang. Ich habe 
ihn aber nicht mit reingenommen.

von Sigi (Gast)


Lesenswert?

@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.

von Klaus Falser (Gast)


Lesenswert?

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