Hallo, Ich bekomme Daten über die MII Schnittstelle. Diese möchte ich, z.B. mit einem FIFO verzögern. Das Funktioniert eigentlich auch, mein Problem ist nur, dass ich die Zeit, wie Lange verzögert wird, einstellen möchte. Das heist, die Größe das FIFO muss ich zur Laufzeit über irgendeine Steuerleitung ändern können. Gibt es soetwas ?? Gruß, Sebastian
für sowas nimmt man ein schieberegister. Oder wenn es ein fifo sein muss dann nimmt man nur ein element aus dem fifo wenn es eine bestimmt größe hat
Danke für denk Link. Also ich hatte eigentlich gedacht, dass ich einen Fifo nehme, der Zwei Takte hat. Einen für einlaufende und einen für rauslaufende Daten. Wenn ich dann den Takt für rauslaufende Daten abschalte, habe ich ja so eine art verzögerung. Das Problem ist dann nur, das ja auch immer Daten vorne reinlaufen. Die Verzögerung wäre dann ja nicht veränderbar. Ich brauche Quasi einen Fifo, der sich fast beliebig vergrößert, wenn Daten einlaufen und keine rausgenommen werden. Wenn man dann wieder Daten rausnimmt und nichts reinkommt, muss der Fifo wieder schrumpfen. Mh, gut beschrieben ? :-) Gruß, Sebastian
Du kannst das loesen wie du moechtest, scheint mir jedoch nicht der einfachste Weg zu sein. Cheers, Roger
Du kannst das FIFO verkürzen, indem Du zusätzliche Takte beim einschieben benutzt. Du musst Dir aber überlegen, was mit den übersprungenen Daten passieren soll, denn eine FIFO-Verkürzung zur Laufzeit heisst immer Daten weg. Ansonsten macht die Geschichte keinen Sinn. Beim FIFO ist es ja so, daß es auf das Einschreiben und das Auslesen ankommt, was die Lazenz angeht und eine Verkürzung alleine für die Daten garnichts bringt, es sei denn, es gäbe einen unverhinderten Überlauf oder Du müchtest die FIFO-Größe nutzen, um das Einschreiben i.A. des Ausleszustandes umgekehrt zu steuern. Beides kann man aber auch über die pointer-Signale machen und das Einschreiben oder VErwerfen manuel erreichen. Ich fürchte, daß Du Dir aber nicht ganz klar biat, was Du willst und einfach den falschen Denkansatz hast.
mh, vielleicht schein das mit einem Fifo doch keine so gute idee. Wenn ich das so wie in dem anderen Beitrag beschrieben mit einem Speicher mache, dann brauche ich einen Speicher, der verschiedene eingangs und ausgangsclocks hat. Außerdem muss ich auch noch bestimmen können wohin ich schreibe und woher gelesen wird. Wo finde ich soein baustein?
Wozu brauchst du verschiedene clocks? Es laesst sich elegant mit einem loesen.
Im FPGA gibt es doch RAMs, die mit unterschiedlichen Clocks arbeiten können. Wenn nicht, einfaches PLD und eine asynchronen RAM-Zugriff bauen. Bis 2 Ports, je Seite geht es recht einfach.
Helgo wrote: > Im FPGA gibt es doch RAMs, die mit unterschiedlichen Clocks arbeiten > können. Genau. Nimm ein DPRAM mit ein bisschen Steuerlogik drum herum und gut ist. Über die Grösse des Adressbereichs kannst du dann auch die FIFO-Länge einstellen.
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.