[VHDL] Barrel Shifter und Cache

Persönliche Seite #1275819
Lesenswert?

Hey

Habe gestern Abend für mich 2 kleine VHDL Sachen beschrieben, erstens 
einen Barrel Shifter den man ganz fix durch Generics einstellen kann und 
zweitens ein kleines Cache System.

Zu dem Barrel Shifter muss ich denke ich nichts sagen doch das Cache 
System erkläre ich mal kurz:

Eigentlich ist der Cache sehr einfach aufgebaut und belegt bei mir im 
Spartan 3 ca 180 Slices und je nach Einstellung auch BRAMs.

Das einzige was man noch schnell machen muss ist das interne FIFO an 
seine Ram Schnittstelle anzubinden.
Die macht man über den Ausgang CMD, er besteht aus den Daten die 
geschrieben werden sollen einem Bit was ausacht ob geschrieben oder 
gelesen werden soll und der Adresse, also so:

Daten + Bit + Adresse

Für das Lesen muss man die Daten an Data anlegen und NewData auf High 
ziehen.

Das Bit bedeutet wenn es Low ist das gelesen wird und wenn es High ist 
nat. das geschrieben wird.

So jetzt einmal kurz zu der Technik:

Wenn man in den Cache schreibt wird der Eintrag mit einem Teil der 
Adresse assoziiert und der Rest der Adresse + die Daten in den Cache 
geschrieben.
Gleichzeitig wird genau das selbe in den FIFO geschrieben aus dem Ja der 
Ram gefüttert wird.

Das heißt dass, das FIFO als Warteschlange fungiert, falls der FIFO voll 
ist wird solange gewartet bis ein Eintrag Frei ist.

Dadurch wir der Ram immer Aktuell gehalten und durch die FIFO Struktur 
gibt es auch keine Probleme von wegen das der Cache nicht aktuell ist.

Beim Lesen ist es dann so, das falls der Eintrag vorhanden ist er aus 
dem Cache gelesen wird und sonst über das FIFO angefordert wird.

Solange der Cache arbeitet ist übrigens Bussy High.

Bei Fragen könnt ihr einfach hier Fragen!

mfg-AD

PS: Hänge den Cache im nächsten Beitrag an.
Angehängte Dateien:
Persönliche Seite #1276259
Lesenswert?

Hey

Ja habe ich ganz vergessen ^^

Eig. benutze ich die Lib schon die ganze Zeit doch wenn man das am 
Anfang vergisst dann denkt man da später nicht mehr dran ^^
Kann man bei Xilinx iwie das Standard Template ändern ?

Hier einmal Cache auf die Numeric Std. Lib umgebaut ^^

mfg-AD
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren