Forum: FPGA, VHDL & Co. synchronen SRAM an Spartan3e


von Ich (Gast)


Lesenswert?

Hallo.
Ich muss Daten mit 200MHz kontinuierlich über ein Spartan3e einlesen. 
Jetzt hab ich mir ein synchrones SRAM IS61LPS25636A angeschaut, werd 
aber aus dem Datenblatt nicht richtig schlau.

http://www.issi.com/pdf/61VPS_LPS25636A_51218A.pdf

Kann ich wirklich mit jedem Takt an CLK eingang des RAMs einen 
Speicherzylus abarbeiten?

Gruß

von SuperWilly (Gast)


Lesenswert?

Hallo,

ich würde bei der Auswahl eines externen Speichers immer sicherstellen, 
dass
es ein Speicher-HDL-Simulationsmodell gibt, mit dem Du deine Simulation 
durchführen kannst. Das erleichtert die Entwicklung ungemein.
Der Hersteller ISSI scheint solche Modelle nicht anzubieten, zumindest 
findet man keine auf deren Homepage.

Gruß,
SuperWilly

von ohne ahnung (Gast)


Lesenswert?

superwilly:
ich bin gerade kürzlich bei einer sram-suche über die vhdl modelle der 
firma cypress zu deren rams gestolpert und fragte mich: warum in aller 
welt.

würdest du das bitte mal erklären?

danke und gruss.

von SuperWilly (Gast)


Lesenswert?

>warum in aller welt.

Eine klare Frage wäre hilfreich ;O)

von Christian R. (supachris)


Lesenswert?

Warum man Simulations-Modelle braucht? Weil FPGA-Designer, die das 
professionell betreiben, ihre Designs nun mal simulieren. Sonst stochert 
man doch nur im Nebel...

von ich (Gast)


Lesenswert?

Natürlich simuliert man seine designs, aber die komplette Schaltung in 
VHDL beschreiben? Das wäre mir auch neu, könnte aber in einigen Fällen 
Sinn machen.
Hat jemand eine Antwort auf meine ursprüngliche Frage?

von Georg A. (Gast)


Lesenswert?

"Kann ich wirklich mit jedem Takt an CLK eingang des RAMs einen
Speicherzylus abarbeiten?"

Jein. Es gibt Latenzen und gewisse Totzeiten durch die eingebauten 
Register. zB. S18: Der Read wird mit der zweiten steigenden Flanke 
erkannt, das Ergebnis kannst du erst mit der vierten einlesen. Beim 
Schreiben (S.19) kommen die Schreibdaten nicht zB. wie bei den 
Xilinx-RAMs im selben Takt wie WE und A, sondern einen Takt später. Wenn 
man sich das Blockdiagramm auf S.2 anschaut, sollten die Verzögerungen 
klar werden.

Ein Read-Modify-Write-Zyklus wird damit natürlich langsam. Solange du 
aber mit Bursts grössere Mengen Reads oder Write machen kannst, kann man 
die volle Geschwindigkeit ausnutzen. Du musst übrigens auch nicht das 
beschränkte Burst-Feature des RAMs dazu nehmen. Wenn du selbst schnell 
genug zählen kannst (und das vom Signal her auch sauber rauskommt), kann 
man auch einen vollständigen Zugriff mit beliebiger Adresse jeden Takt 
machen.

BZTW: Bei 200MHz wird die Taktverteilung schon recht kritisch. Da muss 
man mit DCM/PLL und Feedback arbeiten, damit RAM und FPGA wirklich 
synchron sind. Xilinx hat da zB. ein paar Appnotes dazu.

von Ich (Gast)


Lesenswert?

Dankeschön

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
Noch kein Account? Hier anmelden.