Gast
#2991769
Hallo, ich würde in VHDL gerne eine Art Ringpuffer realisieren, bei dem es möglich ist, dass die write und read pointer nicht immer direkt auf die nächste Adresse zeigen sondern jeweils ein offset zur letzten Adresse haben können. Die Abfolge der Adressen ist fix und hängt nur von der gesamt Anzahl der Adressen ab. Etwas blöd zu erklären, also versuch ich es mal an einem kleinen Beispiel: Angenommen wir haben insgesamt 6 Adressen. Dann sollen die Adressen wie folgt abgelaufen werden. 1.Umlauf 2.Umlauf 3.Umlauf 4. Umlauf 5. Umlauf write Adressen: 1 2 3 4 5 6 1 3 5 2 4 6 1 3 5 2 4 6 usw. read Adressen : 1 3 5 2 4 6 1 3 5 2 4 6 1 3 5 usw. Wie könnte ich so etwas am besten realisieren so dass es auch bei hohen Taktraten (> 200 MHz) noch funktioniert. Die gesamt Anzahl der Adressen kanns sich ändern wird aber immer 2ˆn sein (2 4 8 16 32 64...) Kann mir jeamnd ein kurzes Code Beispiel schreiben? Vielen Dank!