AGBAboutImpressum

FAQ

In diesem Bereich der Seite versuche ich Fragen, die häufiger gestellt werden, zu beantworten. Das tue ich nach meinem besten Wissen und Gewissen. Sollten mir trotzdem Fehler unterlaufen, bitte ich um eine kurze Mail an: fpga-dev@web.de.

Warum funktioniert mein NIOS II-System nicht nach dem Download der RBF-Datei über USB?

Diese Frage betrifft vor allem die User meines Cyclone II-Boards. Wenn ein NIOS II-System und dessen Software erfolgreich mit Hilfe eines JTAG-Adapters getestet wurde, wird man in der Regel feststellen, daß nach der Konfiguration des FPGAs mit der RBF-Datei über USB das NIOS-II System nicht zu laufen scheint. Der Grund dafür liegt in der Verwendung der printf-Textausgaben über die JTAG-Debug Schnittstelle. Sobald eine printf-Anweisung versucht Text über die nicht mit einem JTAG-Adapter verbundene JTAG-Debug Schnittstelle auszugeben, hängt das System. Ein Ausweg aus dieser Situation ist es, entweder alle printf-Anweisungen auszukommentieren oder die STDIO-Ein-/Ausgabe von "jtag_uart" auf "null" umzubiegen. Das geschieht unter System Library Properties der NIOS II-IDE. Nach der erneuten Erstellung des Projekts müssen noch unter Quartus II-Umgebung die RAM-Blockinhalte aktualisiert werden und der Assembler gestartet werden.FPGA design services

Welche SODIMMs können mit dem Cyclone-Board benutzt werden und was kosten diese?

Es wurden diverse 4/8-Chip 128 und 256 MByte SODIMMs mit dem Cyclone-Board erfolgreich getestet. Bei dem Einsatz von 128 MByte SODIMMs muss das gegebene NIOS II-Design an die geringere Adressbreite angepasst werden. Preise dieser Module liegen im Bereich zwischen 20-30 Euro.

Wie hoch ist der Ethernet-Datendurchsatz von DM9000A?

Die über Ethernet effektiv übertragbare Datenmenge hängt in hohem Maße von der Leistung des Prozessors, dem benutzten Protokoll (und damit verbundenem Softwareoverhead) und einer effizienter Anbindung (Stichwort DMA) des LAN-Kontrollers ab. Unter idealen Voraussetzungen ist es möglich, etwa 70 MBit dauerhaft mit dem DM9000A zu übertragen.

Schafft der USB-Controller CY68013 wirklich 480MBit/s?

Ja. Das ist die Brutto-Bitrate eines jeden USB 2.0 high-speed Kontrollers. Erfahrungsgemäß schafft der eingesetzte Kontroller effektiv (Netto) ca. 44 MByte/sec zum oder vom Host (PC). Das ist wiederum nur unter bestimmten Voraussetzungen zu erreichen.

Das SDRAM ist ja mit 64-bit angebunden, die NIOS II-CPU hat aber lediglich 32 bit Busbreite. Entstehen aus der Anpassung der Busbreiten (im Avalon-System) irgendwelche Performance-Einbußen - z.B. werden keine Burst-Transfers mehr duchgeführt?

Nein, ganz sicher nicht. Falls nötig, kann SDRAM aber jederzeit auch 32-bittig ins System eingebunden werden. Die Hälfte des Speichers und der Datenleitungen bleibt dabei unbenutzt. So wurde es beispielsweise bei dem Board von www.ge-research.at hardwareseitig gemacht.

Gibt es irgendeine Form von Support für das Cyclone-Board?

Bei technischen Fragen können Sie sich direkt an mich wenden, ich beantworte diese in der Regel kurzfristig.

Sind die Sourcen zu dem CPLD des Cyclone-Boards frei verfügbar?

Nein, nur die JEDEC-Programmierdatei für den CPLD wird auf der beigelegten CD mitgeliefert.

Sind die Gerberdateien / Boardlayout frei verfügbar?

Nein. Diese stehen nur gegen Entgelt zur Verfügung.

Kann ich ein Altera / terasIC USB Blaster zur Programmierung benutzen?

Ja. Das ist auf jeden Fall die bequemste Art und Weise den FPGA zu Konfigurieren und Debuggen.

Was sind das für SMD-Verbinder (Hersteller/Typ) auf dem Cyclone-Board?

Ich kenne zwei Hersteller dieser standardisierter Steckverbinder: Hirose und Harwin; Typ: DF9 bzw. M40. Datenblätter sind auf der CD vorhanden bzw. kann ich zumailen. Distributoren sind u.a. Farnell und Digikey.

Ist es möglich, das Cyclone-Board ohne die 2,54mm-Buchsenleisten am Rand zu bekommen?

Ja, das ist möglich. Bis zu zwei Wochen Lieferzeit.

Sind die Boards auf Funktion getestet worden?

Ja, natürlich. Folgende Test werden durchgeführt, bevor ein Board für funktionstüchtig befunden wird:

  • SDRAM-Test mit einem 256 MByte Speicherriegel,
  • Flash-Test,
  • übertragen und Verifizieren einer großen Datenmenge über USB mit CyBulk von Cypress,
  • Konfiguration des FPGAs über den Cypress USB-Kontroller,
  • Konfiguration des FPGAs über JTAG,
  • Programmierung einer Konfigurationsdatei in den Flash und anschließende Konfiguration aus dem Flash,
  • Lauflicht für alle I/Os (dazu wurden extra zwei Test-Boards für obere und untere I/Os gebaut),
  • Senden und Empfangen der Daten über Ethernet.

Gibt es eine Garantie?

Nein. Es gilt die gesetzlich geregelte Gewährleistungspflicht, siehe AGB.

Wie wird der Speedgrade der FPGAs bestimmt?

Die Bestimmung des Speedgrades und die Überprüfung der Funktionstüchtigkeit eines FPGAs erfolgt in einem Arbeitsschritt. Der zu testende FPGA wird mit verschiedenen, großen Schaltungen konfiguriert, die möglichst viele FPGA-Ressourcen belegen. Die Schaltungen sind so ausgelegt, dass jede Hardwareressource mindestens einmal getestet wird. Es wird die maximale Taktfrequenz bestimmt, mit der die jeweiligen Schaltungen getaktet werden können. Je nach Ergebnissen wird dem FPGA ein Speedgrade zugeteilt, dieser Vorgang wird "speed binning" genannt.

Welches Speedgrade dann tatsächlich auf dem Gehäuse gedruckt wird, hängt von der Nachfrage nach langsamen FPGAs ab. Ist diese höher als das Angebot, dann werden schnelle FPGAs mit einem Speedgrade versehen, der eigentlich für einen langsameren FPGA vorgesehen ist. Das nennt man auch "down binning". Die Chance einen schnelleren FPGA mit einem langsamen Speedgrade zu erhalten, ist höher, je besser ein Hersteller den Fertigungsprozess im Griff hat.

Können FPGAs übertaktet werden?

Nach der Platzierung und Verdrahtung wird von einem Timing-Analyzer die maximale Taktfrequenz (Fmax) bestimmt, mit der eine Schaltung betrieben werden kann. Die FPGA-Hersteller garantieren, dass die Schaltung unter allen (zulässigen) Betriebsbedingungen mit Fmax funktioniert. In der Regel ist Fmax eine sehr konservative Abschätzung, die von der niedrigsten zulässigen Versorgungsspannung und der höchsten zulässigen Die-Temperatur ausgeht. Weiterhin wird noch eine Sicherheitsreserve beaufschlagt.

Sind die Betriebsbedingungen günstig, kann eine Schaltung mit einer höheren Fmax betrieben werden. Günstige Bedingungen bedeuten in diesem Fall: niedrige Die-Temperatur, Versorgung mit einer höheren Spannung, große Anzahl an richtig dimensionierten Stützkondensatoren, gutes Layout. Ein weiter Faktor ist auch die Größe der Schaltung. Weil eine kleine Schaltung auch ein kleiner Stromverbraucher ist, somit sind auch die Stromspitzen geringer, die von Stützkondensatoren geglättet werden müssen.

Von einer Übertaktung zu sprechen, wenn eine Schaltung mit höherer Taktfrequenz als mit Fmax betrieben wird, ist meiner Meinung nach, nicht korrekt. Denn Fmax ist für den ungünstigsten Fall bestimmt worden. Und dieser liegt nicht immer vor. Es ist zwar sowohl bei Xilinx ISE und Altera Quartus Software möglich, die Betriebsbedingungen mittels user constraints einzustellen, doch diese werden meines Wissens nach, nicht in die Berechnung von Fmax einbezogen. Andererseits weiß man auch nicht, welches Speedgrade der vorliegende FPGA tatsächlich hat.

Sind die FPGAs von Xilinx oder Altera besser?

Diese Frage kann man nicht eindeutig beantworten. Mir ist im Laufe der Zeit einiges aufgefallen, was ich dem einen oder anderen Lager als großes Plus oder Minus anrechnen möchte. Dabei ist für den Entwurf für die FPGAs das eine oder andere Hardware-Feature nicht so wichtig, wie die Kleinigkeiten außerhalb der FPGAs, die den Gesamteindruck trüben und die Arbeit unnötig erschweren. Im folgendem liste ich die Pros(+) und Kontras(-), die den jeweiligen Hersteller besonders hervorheben oder auch nicht.

Altera:

  • (+) Bei den Cyclone-FPGAs nur zwei Versorgungsspannungen (VccIO und VccCore) notwendig. Das ermöglicht und erleichtert Layout mit weniger Lagen,
  • (+) Kein Einschaltstromimpuls nach dem Anlegen der Spannungsversorgung,
  • (+) Software macht einen sehr ausgereiften Eindruck. Sehr logisches und gut strukturiertes Gesamtkonzept.
  • (+) Ein in Quartus eingebauter Logik Analyzer "Signal Tap II",
  • (+) Kleine Blockspeicher erzeugen wenig Verschnitt bei großer Anzahl von kleinen Speicherblöcken,
  • (+) Die einzelnen Cores des SOPC-Builders, wie SDRAM-Kontroller, können auch ohne NIOS II-Prozessor in Verbindung mit einem eigenem Avalon-Master benutzt werden.
  • (+) Das Wissen um den Avalon-Bus ist sehr schnell zu erlernen und eigene Komponenten können innerhalb kürzester Zeit implementiert werden,
  • (+) Ein preiswerter Nachbau des USB-Blasters für 50$ verfügbar,
  • (-) Kaum Bezugsquellen für die FPGAs in Einzelstückzahlen in Deutschland,
  • (-) Ein internes Signal kann die Taktbäume nur über den Umweg einer PLL treiben.

Xilinx:

  • (+) Sehr gute Verfügbarkeit der FPGAs und der Entwicklungskits,
  • (-) Einschaltstromimpuls (mehrere Ampere) nach dem Anlegen der Spannungsversorgung,
  • (+) Mit PowerPC ein leistungsfähiger Hard IP-Prozessor im Programm,
  • (+) In die I/Os eingebaute LVDS-Terminierungswiderstände,
  • (+) Mit PlanAhead ein leistungsfähiger Flächenplaner verfügbar,
  • (-) Bei Xilinx muss der Logik Analyzer (ChipScope) extra gekauft werden,
  • (-) Bei den Spartan3(E)-Bausteinen sehr viele Pins nur als reine Eingänge nutzbar,
  • (-) In Vergangenheit waren FPGAs (Spartan3) teilweise bis zu einem Jahr nach der Markteinführung kaum lieferbar.
2005 - 2017 Valerij Matrose