Forum: FPGA, VHDL & Co. FPGA-Setup time


von Joerg (Gast)


Lesenswert?

Hallo,

wie lange dauert es in etwa, bis ein FPGA von einem externen ROM seinen 
Initialzustand geladen hat?
Ich moechte eine PC-Erweiterungskarte bauen, die schon direkt beim 
Einschalten in der Lage ist, via Memory Mapping Daten in den Adressraum 
einzublenden. Klassischerweise nimmt man dazu ja ein paralleles ROM und 
knueppert das mit etwas Logik an den Bus. Da ich aber mehr 
Funktionalitaet brauche (dafuer das FPGA) war meine Ueberlegung, ob ich 
nicht auch das Memory Mapping ueber das FPGA erschlagen kann....nur muss 
das Teil ja selber erst initialisiert werden. Wenn es zu spaet fertig 
ist, dann kommt das Memory Mapping zu spaet und der PC wird das ROM 
nicht erkennen :/

Danke fuer ein paar Kommentare!

Joerg

von TM (Gast)


Lesenswert?

Datenblätter der Hersteller.
Ich kann nur für Actel ProAsic FPGAs sprechen, und die sind schnell 
genug oben, um am Rechner zB als PCI-Device erkannt zu werden, dazu 
gehören ja auch direkt am Start Zugriffe auf den Configspace des 
Pci-Cores. Sind aber Flashbasierte FPGAs, die beim Start nicht erst 
geladen werden müssen.

von Morin (Gast)


Lesenswert?

Das Open Graphics Project hatte genau damit mal Probleme, weil deren 
FPGA nicht schnell genug oben war. Evtl findest du bei denen Info: 
www.opengraphics.org/. Hab hier aber schon gesagt bekommen dass das 
nicht mehr zwangsläufig ein Problem ist.

Ansonsten bist du mit den Flashbasierten Sachen auf der Sicheren Seite. 
Manche FPGAs haben Flash drin, ansonsten CPLDs (die sind fast immer 
Flash-basiert). Da brauchst du dann außerdem kein externes config-ROM 
mehr.

von Joerg (Gast)


Lesenswert?

Danke fuer den Hinweis auf die Flash-basierten FPGAs. Da waere dann ja 
auch weniger zu loeten :)

Joerg

von Kai G. (runtimeterror)


Lesenswert?

Bietet PCI keine Möglichkeit den Start des Rechners oder zumindest die 
PCI-Erkennung zu verzögern, bis die Karte initialisiert ist? Ich kann 
mir irgendwie sonst nicht vorstellen, dass alle anderen Karten am Markt 
mit jeder Rechnergeschwindigkeit klarkommen.

von Guest (Gast)


Lesenswert?

Es gibt schließlich so einige PCI-Karten die direkt mit dem FPGA auf den 
Bus gehen.

von Christian R. (supachris)


Lesenswert?

Je nach Komplexizität dauert das. Zum Beispiel ein Spartan 3E-250 gut 
zur Hälfte befüllt, per Master Serial aus dem Platform Flash: etwa 2,5 
Sekunden. Ein Virtex 4-LX40, auch etwa zur Hälfte voll, gleiche 
Bootmethode etwa 4,5 Sekunden.
CoolRunner2 512 volles Design benötigt immerhin nur knapp 300ms etwa.
Gibts an dem Bus keine Busy oder Ready Leitung?

von Joerg (Gast)


Lesenswert?

Leider keine ready-Leitung o.ae., daher meine Frage...sonst haett ich 
die benutzt. Ist im Prinzip XT bus.

von ... (Gast)


Lesenswert?

Fpga über Standby- Leitung versorgen?

von TM (Gast)


Lesenswert?

Nimm einem flashbasierten FPGA von Actel oder Lattice, und du hast keine 
Probleme. Die sind wie dafür gemacht, XT Bus klingt auch nicht nach 
extremen Timingforderungen (womit der Actel zB seine Probleme hat).

Vorteil des Lattice ist, dass der Konfigurationsspeicher flashbasiert 
ist, die Logik jedoch wie bei Xilinx SRAM-basiert. Das heisst, er lässt 
ähnliche Taktfrequenzen zu wie Xilinx/Altera, ist kommt aber ohne 
externen Konfigurationsspeicher aus und ist schneller hochgefahren.

Vorteile der Actel FPGAs liegen allgemein im bedeutend niedrigerem 
Strombedarf und in der Resistenz gegen Fehler durch elektromagnetische 
Strahlung.

von Joerg (Gast)


Lesenswert?

Danke allen fuer den Schubs in die richtige Richtung!

von ijuz (Gast)


Lesenswert?

Die flash basierten FPGAs sind schon arg winzig, letztlich haengt die 
ganze Sache davon ab welchen "Bus" die Karte nutzen soll und was fuer 
ein FPGA es sein soll.

Aber im Endeffekt ist es keinerlei Problem einen FPGA schnell genug zu 
konfigurieren, um sicher zu gehen dass es schnell genug ist sollte man 
aber nicht seriell konfigurieren.
Und natuerlich sollte man in der Spec nachschlagen wieviel Zeit man hat.
(Natuerlich wird die Spec von den Boards nicht richtig implementiert.)

von TM (Gast)


Lesenswert?

Ich weiß ja nicht, was du mit winzig meinst, aber ich finde 3Mio Gatter 
und 75.000 Register beim ProAsic3E-3000 nicht so wenig. Hier gilt das 
Prinzip, man wähle den Baustein nach Analyse der Aufgabe. Da die meisten 
jedoch noch nie mit etwas anderem ausser Xilinx oder Altera in Berührung 
gekommen sind, ist die Sicht dementsprechend eingeschränkt.
Für die oben genannte Aufgabe wäre ein ProAsic von Actel so ziemlich 
ideal. Wenn man natürlich Zeit hat, sich mit etweigen Problemen bei der 
Konfiguration rumzuschlagen, kann man auch nen Spartan3 oder so nehmen.

von ijuz (Gast)


Lesenswert?

ProAsic3E-3000 ,ich kann jetzt noch genau abschaetzen wie gross der 
Actel ist, aber ich seh als Nachteil, dass die Teile nichtmal SERDESe 
haben und
nur 504 kBit RAM.
Also weit weg von einem grossen high performance FPGA, wie es sie von 
Altera und Xilinx gibt. (Lattice sind nur auf Papier oder im Webbrowser 
toll)

Aber vielleicht reicht der Platz ja.

Es gibt scheinbar einige Nutzer von PCIe mit Spartan3, dafuer gibt es 
auch Eval Boards. Der Interessante Punkt ist, dass man einen externen 
PHY fuer den Spartan3 braucht, weil er keine integrierten SERDESe hat. 
Dieser PHY implementiert (wenn ich das richtig verstanden habe) dann 
auch low level Teile von PCIe und gibt einem extra Zeit beim starten.
Also bei PCIe hat man 100µs.

Ich weiss allerdings nicht ob der PCIe core von xilinx ordentlich 
funktioniert oder ob man timing Probleme hat.

von Rick Dangerus (Gast)


Lesenswert?

@Christian R.:

Der Füllgrad des FPGAs sollte eigentlich nichts mit der 
Konfigurationszeit zu tun haben. Die Bitfiles haben (im Prinzip) immer 
die gleiche Größe und nicht genutzte Blöcke müssen mit Null 
initialisiert werden.

Das stimmt natürlich nur solange, wie die Konfigurationsdaten nicht 
komprimiert werden.

Rick

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.