Mein design wird zu kompliziert und mir gehen die Resourcen aus. Die einzige Möglichkeit sehe ich darin, dass der FPGA umgeschaltet wird, also ein anderes bit-file geladen wird. Leider habe ich das noch nie gemacht. Brauche ich dazu einen Controller, der den FPGA aus dem Hauptflash lädt, oder kann der FPGA das selber? Es handelt sich um den S3E500. Die Idee wäre, dass der FPGA mit einer Steuerleitung erkennt, welches file er laden muss und beim Umschalten von 0 auf 1, das bit-file 1 lädt und umgekehrt beim Wechsel von 1 auf 0 das file 0. Tut sich nichts, arbeitet der FPGA im aktuellen Modus. Wie könnte der FPGA entscheiden und zur Laufzeit vorbestimmen, mit welchem flash file er nach einem restart geladen wird?
Beim ollen S3e geht das nur mit externer Logik, z.B. mit einem XCF32P und etwas externer FlipFlop Speicher Logik, die den Zustand der Revision Select Pins des Platform Flash steuert. Alternativ ein BPI Flash und die Logik steuert den Pegel der oberen Adressleitungen. Beim Spartan 6 und neuer geht sowas mit großem Flash und dem internen ICAP Modul, da kannst du die Warm Boot Start Adresse einstellen und dann einen Warmstart machen. Achja, mehrere SPI Flashes bei denen die externe Logik die CS Pins umschaltet sind natürlich auch denkbar.
Kannst du das Design noch ändern? Wenn du nicht auf einen besseren FPGA umschwenken kannst/sollst, würde ich einen Microcontoller draufpappen und den des Flash managen lassen. Das schafft dir alle Optionen.
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.