mikrocontroller.net

Forum: FPGA, VHDL & Co. SRAM speichert nicht


Autor: Paul (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

folgendes Problem:
Ich versuche vom FPGA (Atmel FPSLIC) aus Daten im SRAM zu speichern und
vom AVR aus rauszulesen. Irgendwie bekomme ich das aber nicht hin.
Sobald ich das write-Signal (im Quelltext in Zeile 41) wieder auf Null
lege, oder weiterlaufe sind keine Daten mehr im Speicher. Muss ich da
noch irgendwas beachten?

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast dir die AppNote von Atmel angeschaut und probiert das angegebene
Timing nachzubilden?

http://www.atmel.com/dyn/resources/prod_documents/...

Autor: Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja,

ich dachte, das hätte ich, aber irgendwo hat sich wohl ein Fehler
eingeschlichen.

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du auch die Datenverschiebung um einen halben Takt nachgebaut ;)

"Notice that address updates are generated on the rising edge of the
clock, while data and write strobe updates occur on the falling edge,
half clock cycle later. This will result in the most optimal timing
relationship at the SRAM interface."

Im Verilog Code ist als Beschreibung folgender Satz:
"  // Delay SRAM write data and write pulse by 1/2 clock cycle"

In deinem VHDL Code wird aber überall mit rising_edge gearbeitet.

Baue mal den Teil:

process(reset,fpgaclk)    -- schreibt die Daten in den SRAM
begin
if(reset='0') then
  sramdatain <= "00000000";
  sramwe <= '1';
elsif rising_edge(FPGACLK) then <-- Hier falling_edge
  sramdatain <= data_reg;
  sramwe <= write_strb;
end if;
end process;

um.
Gruss Jörn

Autor: Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich umgeändert, bringt mich aber leider auch nicht weiter.
Da ich im AVR doch den Dualportram richtig auslesen kann, muss doch der
entsprechende Wert auch mal gesetzt worden sein.
Sobald ich aber in Zeile 41 write_strb auf Null setzte, gibt das Board
nur noch Null aus.

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du deine vhdl Beschreibung schon simuliert und mit dem
Timingdiagramm in der Appnote verglichen?

Autor: Jörn (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hast du den Verilog Code ausprobiert?

Probier mal die VHDL Beschreibung im Anhang. Hab noch ein paar Sachen
gefunden.

Gruss Jörn

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe grad dasselbe Problem mit einem Spartan-3 Board, d.h.
irgendwie speicher ich falsch.
Meine Frage kann man oben angegebenen Code auch für ein Spartan -3
Board  anwenden, der einzige Unterschied den mein Board hat ist, daß
meine Datenleitung zum SRAM eine Bidirektionale Leitung ist.

Gruß Tobias

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tobias,

ehr unwahrscheinlich, da die RAM Ansteuerung in diesem Fall synchron
erfolgt und das RAM auf dem Xilinx Board wahrscheinlich asychron ist.

Was ist für ein RAM Chip drauf?

Gruss Jörn

Autor: Tobias Danz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörn,

Ich habe ein fast, asynchronous 256Kx16 ISSI SRAM. Ich habe Probleme
damit diesen Speicher anzusteuern. Irgendwie speichert der meine Werte
nicht oder liest völligenBlödsinn aus.

Gruß tobias

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.