www.mikrocontroller.net

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


Autor: Joerg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: TM (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joerg (Gast)
Datum:

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

Joerg

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Guest (Gast)
Datum:

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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Joerg (Gast)
Datum:

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

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fpga über Standby- Leitung versorgen?

Autor: TM (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joerg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke allen fuer den Schubs in die richtige Richtung!

Autor: ijuz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.)

Autor: TM (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ijuz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.