Forum: FPGA, VHDL & Co. Lattice XP2 On-chip Flash lesen und schreiben


von Thomas W. (donka)


Lesenswert?

Hallo,

Ist es eigentlich möglich auf den Konfigurationsspeicher beim XP2 aus 
der Logic heraus lesend und schreibend zuzugreifen? So als wäre es ein 
externer Flash.

von Schlumpf (Gast)


Lesenswert?

Meines Wissens nicht direkt.
Aber wenn ich mich recht erinnere, gibt es eine Möglichkeit, Inhalte vom 
EBR ins Flash kopieren zu lassen.

von Thomas W. (donka)


Lesenswert?

Schlumpf schrieb:
> Meines Wissens nicht direkt.
> Aber wenn ich mich recht erinnere, gibt es eine Möglichkeit, Inhalte vom
> EBR ins Flash kopieren zu lassen.

Hier handelt es sich aber um zusätzlichen Flash Speicher (User Flash). 
Ich meinte schon den Konfigurations Flash.

von Schlumpf (Gast)


Lesenswert?

Thomas W. schrieb:
> Hier handelt es sich aber um zusätzlichen Flash Speicher

Richtig, aber spielt es für dich eine Rolle, wo deine Werte abgelegt 
werden?

von Thomas W. (donka)


Lesenswert?

Schlumpf schrieb:
> Thomas W. schrieb:
>> Hier handelt es sich aber um zusätzlichen Flash Speicher
>
> Richtig, aber spielt es für dich eine Rolle, wo deine Werte abgelegt
> werden?

Ja, ich möchte falls möglich die Option haben die Firmware des FPGA zu 
aktualisieren. Und zwar nicht nur extern via JTAG oder SPI sonder intern 
aus der FPGA Logic heraus. Und dazu muss ich das Konfigurations-Flash 
beschreiben können.

von Schlumpf (Gast)


Lesenswert?

Ach so.. na das wird nicht gehen.

von Schlumpf (Gast)


Lesenswert?

Aber abgesehen davon, dass ich mir gerade nicht vorstellen kann, wozu 
man sowas braucht, wäre ein Ansatz, dass du ein SPI im FPGA modellierst, 
welches du dann auf der Leiterplatte an die SPI-Prog-Schittstelle des 
FPGA verdrahtets. Dann kann der FPGA sich selbst überschreiben.

von Thomas W. (donka)


Lesenswert?

Das wäre ein machbarer Ansatz. Danke für den Hinweis. Manchmal denkt man 
zu kompliziert und übersieht die simplen Lösungsmöglichkeiten.

von Sigi (Gast)


Lesenswert?

Schlumpf schrieb:
> Aber abgesehen davon, dass ich mir gerade nicht vorstellen kann, wozu
> man sowas braucht, wäre ein Ansatz, dass du ein SPI im FPGA modellierst,
> welches du dann auf der Leiterplatte an die SPI-Prog-Schittstelle des
> FPGA verdrahtets. Dann kann der FPGA sich selbst überschreiben.

Das sollte allerdings nur als theoretische Möglichkeit
gesehen werden. Ein Fehler bei der Beschreibung und das
FPGA/CPLD startet nicht mehr, ausser es wird von "Aussen"
neu beschrieben. Aus diesem Grund sind ja auf vielen
DevBoards zwei Bausteine (FPGA/CPLD/uC). Ein uC kann
z.B. nach einem Beschreiben und einem fehlerhaften Starten
einen Neuversuch machen. Das kann der FPGA dann nicht mehr.

von Christian R. (supachris)


Lesenswert?

Sigi schrieb:
> Das sollte allerdings nur als theoretische Möglichkeit
> gesehen werden. Ein Fehler bei der Beschreibung und das
> FPGA/CPLD startet nicht mehr, ausser es wird von "Aussen"
> neu beschrieben.

Dafür gibts bei aktuellen FPGAs seit einer Weile das Multiboot mit 
Fallback. Da hat man immer noch ein sicheres Bitfile im Flash. bei CPLDs 
natürlich nicht.

von Duke Scarring (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Thomas,

für Dich dürfte der "MachXO2 Programming and Configuration Usage Guide" 
interessant sein. Laut Anhang kommst Du auch über den internen Wishbone 
an den Flashspeicher. Ab Seite 27 (WISHBONE Configuration Mode) in 
besagtem Guide ist das näher erläutert:
1
The MachXO2 can access the Configuration Flash, User Flash Memory, 
2
and the Feature Row from an internal WISHBONE bus.

Duke

von Pat A. (patamat)


Lesenswert?

Der TO hat aber ein XP2 und der hat leider keinen internen Wishbone für 
Hardwarekomponenten. Ob man trotzdem intern über eine Hardwarekomponente 
an den Konfig-Flash kommt, kann ich so aus dem Stehgreif nicht sagen. 
Möglich ist jedenfalls das interne Lesen und Schreiben des Serial TAG 
Memorys per SPI.

Die Lösung mit den extern geloopten SPI-Leitungen finde ich sehr gut. 
Wenn man Multiboot bzw. ein "golden image" verwenden möchte, dann ist 
beim XP2 zu beachten, dass dies nur in Kombination von internem und 
externem Flash funktioniert. Mit einem einzigen Flash ist das im 
Gegensatz zu anderen FPGAs nicht möglich.

von Thomas W. (donka)


Lesenswert?

Ich habe mich jetzt doch für ein zusätzliches externes Flash 
entschieden. Das interne Flash bekommt das golden image und das extene 
kann man bei Bedarf updaten. Das mit dem geloopten SPI scheint mir doch 
zu riskant bei nur einem Flash. Ein fehlgeschlagenes Update beim Kunden 
wird dann doch schnell zum Servicefall.

Dank an allen

von Lupinus Digitalus (Gast)


Lesenswert?

Es gibt beim XP2 eine interne Komponente SSPI die den Zugriff auf den 
Konfigurationsspeicher erlaubt, ist quasi eine interne Slave SPI 
Schnittstelle. Damit entfällt das externe loopen.

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.