Mikroprozessor, der SRAM über ein FPGA steuert

Ich habe einen ARM Cortex 3M (Referenzhandbuch hier ), der über den FSMC (Flexible Static Memory Controller) mit einem Spartan 6 FPGA verbunden ist. Der Spartan 6 wiederum ist mit einem externen SRAM verbunden .

Ich muss den SRAM in der Produktion testen. So wie ich das sehe, habe ich zwei Möglichkeiten:

  1. Schreiben Sie einen SRAM-Treiber direkt aus dem FPGA (ohne Beteiligung des Cortex).
  2. Führen Sie die Cortex-Speicherstifte durch das FPGA zum Speicher.

Liest man sich die Spezifikationen des SRAM durch, scheint es, dass das Schreiben eines SRAM-Treibers für das FPGA eine relativ schwierige Aufgabe ist. Ich neige daher eher zu Option 2. Mir wurde jedoch gesagt, dass es zu Latenzproblemen kommen kann, wenn ich den Cortex naiv zum SRAM überbrücke.

Wie kann ich mit diesen potenziellen Latenzproblemen umgehen? Gibt es andere Schwierigkeiten, die sich aus Option 2 ergeben, die ich möglicherweise übersehe?

Was macht das FPGA in dieser Schaltung, wenn es nicht der Speichercontroller ist?
Letztendlich wird es im Endprodukt (teilweise) der Speichercontroller sein. Für Produktionstests ist das FPGA jedoch leer.
Wie wäre es mit einem Datenblatt für das SRAM? Ist es für Boundary-Scan-Tests ausgelegt?
@ThePhoton: Hier ist ein Link zum SRAM-Datenblatt.

Antworten (1)

Vermutlich hat das FPGA einen Zweck für seine SRAM-Verbindung, obwohl Sie nicht angegeben haben, was das ist. Ich würde vermuten, dass es am besten wäre, ein Mittel zu haben, mit dem der Cortex ausreichend beeinflussen kann, wie das FPGA in den SRAM schreibt, und genug darüber herauszufinden, was er liest, um festzustellen, ob der SRAM ordnungsgemäß funktioniert. Wenn beispielsweise das FPGA normalerweise den SRAM mit von einem ADC empfangenen erfassten Daten schreiben und diese nach einer Verzögerung an einen DAC ausgeben würde, könnte man einen Testmodus haben, der stattdessen Daten aus einem Schieberegister mit linearer Rückkopplung schreibt , und ein weiterer Testmodus, der aus dem SRAM gelesene Daten in ein Schieberegister mit linearer Rückkopplung mit leicht unterschiedlichen Abgriffen mischen würde. Wenn man dafür sorgen kann, dass jeder Testmodus eine kontrollierte Anzahl von Malen durch den SRAM läuft,

Danke für diese Ideen. Wenn meine Tests ausgeführt werden, enthält das FPGA leider keine Logik (außer meinen Tests).
Warum ist das FPGA mit dem SRAM verbunden? (a) Wenn das FPGA in der endgültigen Anwendung als einfacher Speichercontroller fungiert, weil der ARM aus irgendeinem Grund nicht direkt mit dem SRAM verbunden werden kann, programmieren Sie das FPGA in Ihrem Produktionstest auf die gleiche Weise und lassen Sie die Software in die ARM testet den SRAM. (b) Wenn das FPGA in der endgültigen Anwendung etwas Komplizierteres macht – vielleicht das Lesen und Schreiben des SRAM viel schneller als der ARM-Chip allein – dann müssen Sie eine benutzerdefinierte Logik im FPGA haben, die das SRAM auf ähnliche Weise einem Stresstest unterzieht (aber deterministisch) Weise.