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ß
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
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.
Warum man Simulations-Modelle braucht? Weil FPGA-Designer, die das professionell betreiben, ihre Designs nun mal simulieren. Sonst stochert man doch nur im Nebel...
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?
"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.
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.