Es dürfte ja inzwischen viele von Lothars Homepage erfahren haben. Er hat ein rieiges Schätzchen an Codefragmenten und Erklärungen zusammengetragen wo man herrvorragend rumstöbern kann. Habe ich auch getan und promt eine Frage zu dem Fifo Artikel. http://www.lothar-miller.de/s9y/archives/21-FIFO.html#extended Langsame Datenquelle und schnellere Senke. Klar. Wenn ich mir jetzt aber vorstelle, daß der Eingang langsamer als der Ausgang bedient werden kann, könnte ich mir vorstellen, daß eben aus dem Umstand der wr auch etwas länger auf 1 gesetzt ist als einen clock. Würde dann nicht Din mehrere Takte reingehämmert? (Wr='1' and full_loc='0') ist ja mehrere Takte gültig. Wäre es dann sinnvoll und erlaubt, wr einmal in einem FF zu speichern und dann (Wr="01" and full_loc='0') heranzuziehen? Ich glaube ich muss mir fpga/vhdl hart erarbeiten. Einen intuitiven Zugang habe ich offenbar nicht. Bin vielleicht auch zu pedantisch, sollte einfach machen und nicht alles in Frage stellen. Wenn aber programmierbare Logiken weiter in unsere Projekte Einzug halten und ich auch direkt damit zu tun bekäme führt das dann nur zu Reibereien mit Kollegen die das 'wir machen das einfach' intuitiv drauf haben... Ich bemühe mich aber, auch ein gewisses Gefühl zu entwickeln.... Ach ja, Lothar, falls du mal sortierst und zusammenträgst: ICH kauf dir dein Praxisnahe Einführung, Tips und Rezepte Buch ab ;-))
In der Tat würde dann bei langserem Wr natürlich mehr als einmal der Datensatz geapeichert. Man könnte das mit zwei Clock Domains und den Dual-Port-BRAMs wohl am elegantesten lösen, wenn das Wr aus der langsameren Clock Domain gesetzt werden soll. Allerdings ist es hier glaube ich so gedacht, dass die schnellere Senke hier steuert, ob die Daten eingelesen werden oder nicht, die ja dann die gleiche Clockdomain hat, wie das FiFo selbst. Alles aber unter Vorbehalt, bin selbst Anfänger.
snyder schrieb: > Wenn ich mir jetzt aber > vorstelle, daß der Eingang langsamer als der Ausgang bedient werden > kann, könnte ich mir vorstellen, daß eben aus dem Umstand der wr auch > etwas länger auf 1 gesetzt ist als einen clock. Diesen FIFO ist ausschließlich für eine Taktdomäne nutzbar. Asynchrone FIFOs sind erheblich komplexer. Das heißt also, pro Datum, welches in das FIFO geschrieben werden soll, darf die wr Leitung nur für 1 Takt gesetzt sein (genauso lesen). Die Aussage "langsame Datenquelle" bezieht sich darauf, dass nicht mit jedem Takt ein neues Datum geliefert wird. grüße
Schau auch mal hier rein: Beitrag "[VHDL] Asynchrones FIFO" Was da eventuell noch ran müsste, wäre eine Übergabe der Zählerstände mittels Gray-Umwandlung zwischen den Clock Domains.
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.