Gast
#3232607
Hallo, ich bin recht neu in VHDL und habe Frage zum Speichern von Daten im BRAM. Gibt es eine Moeglichkeit bei einem BRAM nur bestimmte Bits vom Inhalt einer Speicheradresse zu aendern ohne dass man den Ihnalt jedes Mal erst auslesen muss. Die Frage versteh ich so selbst nicht, also am besten ein Beispiel: Nehmen wir an, an der Adresse 1 im BRAM steht als erstes: 0000 0000 0000 0000. Nun erhalte ich 4 Bit an Daten (z.B. 1101) die ich an dieser Adresse folgendermassen speichern moechte: 0000 0000 0000 1101 Dann erhalte ich wieder 4Bit an Daten (z.B. 1010) die wieder an der selben Adresse gespeichert werden sollen. Danach soll der Ihnalt folgendermassen sein: 0000 0000 1010 1101 Naechsten 4 Bit (z.B. 1111). Inhalt dann: 0000 1111 1010 1101 usw. Erst wenn alle Daten da sind muss die Adresse wieder komplette ausgelesen werden um die Daten weiter zu verarbeiten. Ich muss BRAM verwenden, da es insgesamt zu viele Daten sind um sie in FFs oder LUTs zwischen zu speichern. Natuerlich kann ich das so machen, dass ich zunaechst den Inhalt auslese, mit den neuen Daten zusammenfasse und dann wieder an der selben Adresse speichere. Das kostst aber zusaetzliche Takte. Ich kann die Daten auch nicht auf verschiedene Adressen aufteilen, da ich die Daten innerhalbt eines Taktes brauche. Am besten sollte jedes schreiben nur 1 Takt und dann auch jedes lesen nur 1 Takt brauchen. Gibt es also eine andere Moeglichkeit? Oder hat sonst jemand eine Idee wie ich das angehen koennte? (Ich habe einen Virtex 5) Viele Gruesse