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
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 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?
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.
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.