Kategorien: Mikrocontroller-Schaltungen
Anzahl der Ansichten: 21445
Kommentare zum Artikel: 0

Was ist FPGA eine einfache Sprache für Anfänger

 

Womit ist digitale Elektronik verbunden? Zunächst mit logischen Elementen UND, ODER, NICHT. Ferner kommen Schieberegister, Decoder, Multiplexer usw. in den Speicher. Mit zunehmender Komplexität elektronischer Geräte und dem Trend zur Miniaturisierung wurde jedoch die Erstellung von Geräten auf der Basis integrierter Schaltkreise (ICs) aus den oben genannten Komponenten schwieriger. Benutzerdefinierte ICs mit der erforderlichen Topologie und Schaltung erwiesen sich nur dann als sinnvoll, wenn das Gerät in großer Anzahl repliziert wurde, in anderen Fällen war es unangemessen teuer.

Der Ausweg aus dieser Situation war die Entwicklung programmierbarer integrierter Logikschaltungen (abgekürzt als FPGA, Fremdabkürzung als programmierbare Logikvorrichtung, PLD). Was es ist und wo es verwendet wird, werden wir in diesem Artikel erzählen.

Was ist FPGA eine einfache Sprache für Anfänger

Unterschiede zu Mikrocontrollern

Mit dem Wort "programmierbar" verbinden sich die meisten Anfänger mit Mikrocontrollern. Trotz der Tatsache, dass sie auch programmiert sind, sind FPGAs ein völlig anderes Gerät.

Für Entwickler von Mikrocontrollern steht ein fester Satz von Lösungen und Mitteln zur Verfügung, die einem bestimmten Chip inhärent sind. Es funktioniert in keiner Weise, sich von der Architektur zurückzuziehen. Sie erhalten eine Reihe von Befehlen, mit denen Sie Interaktionsvorgänge mit der Umgebung ausführen, indem Sie Daten von digitalen und analogen Eingängen lesen und Signale über Ausgänge an Aktuatoren senden.

Darüber hinaus können Sie Berechnungen durchführen, Daten in Registern oder ROMs speichern sowie mit Daten arbeiten, die in den Speicher des Mikrocontrollers geflasht wurden. Dies ist im Wesentlichen der Zweck und die Merkmale der Arbeit mit Mikrocontrollern.

Programmierbar 769; log 769; Ganzzahl 769; Flachs 769; ma (FPGA, englisches programmierbares Logikgerät, PLD)

Integrierte Schaltkreise mit programmierbarer Logik (FPGAs) unterscheiden sich darin, dass Sie beim Programmieren eines Geräts selbst eine Architektur aus grundlegenden Logikelementen erstellen. So erhalten Sie eine hohe Geschwindigkeit und Flexibilität des Chips. Dies ermöglicht es, ohne einen Chip zu wechseln, eine Reihe von Projekten durchzuführen.

Im Allgemeinen kann das interne FPGA-Gerät in drei Hauptgruppen unterteilt werden:

1. Ein Array logischer Elemente (Makrozellen, logische Blöcke).

2. Eingangs- / Ausgangsblöcke (IO).

3. Kommunikationsleitungen zwischen ihnen und dem Gerät, das diese Verbindungen steuert.

Eine solche Strukturierung ist jedoch sehr verallgemeinert. Wir werden dieses Problem im Folgenden genauer betrachten.

Durch die Programmierung verbinden Sie die Elemente auf die gleiche Weise wie Sie es tun, indem Sie ein Gerät aus einzelnen Elementen zusammensetzen und deren Ein- und Ausgänge mit Leitern verbinden.

Hinweis:

Der Hauptunterschied zwischen FPGAs und Mikrocontrollern besteht darin, dass Sie in einem Mikrocontroller die internen Verbindungen zwischen den einfachsten Elementen nicht ändern können und das Programmieren und Arbeiten mit ihnen auf dem Registrieren von Verbindungen basiert.

Die Auswahl der Mikrocontroller basiert auf vielen Kriterien, wie zum Beispiel:

  • Geschwindigkeit und Taktrate;

  • Die Menge an ROM und RAM;

  • Die Anzahl der Ein- und Ausgänge.

Andere Funktionsmerkmale und Peripheriegeräte, z. B. Unterstützung für Kommunikationsleitungen und -protokolle (I2C, Eindraht, PWM-Signal usw.).

Bei der Auswahl eines FPGA ist das Hauptkriterium die Anzahl der programmierbaren Blöcke - sie sollten ausreichen, um die Aufgabe zu implementieren.

Abhängig vom spezifischen FPGA kann die Anzahl der Blöcke stark variieren, und auch die Kosten ändern sich.

Der Mikrocontroller führt nacheinander alle in seinem Programm vorgeschriebenen Operationen aus, während FPGA-Blöcke die Aufgabe parallel und unabhängig voneinander ausführen. Daher ist ein Vergleich dieser Geräte nach Taktfrequenz unpraktisch. Ihr Funktionsprinzip ist zu unterschiedlich.

FPGA-Typen

Spezies

Derzeit sind zwei Haupttypen von FPGAs relevant:


1. CPLD (Complex Programmable Logic Device - Integrierte Schaltung für programmierbare Logik, tatsächlich ist dies FPGA im klassischen Sinne). Es verfügt normalerweise über einen integrierten nichtflüchtigen Speicher, in den die Firmware geladen wird.

Die interne Struktur basiert auf einer Matrix von Makrozellen oder logischen Blöcken, und die Anzahl der darin enthaltenen Elemente liegt im Bereich von Hunderten und Tausenden von Teilen. Aufgrund ihrer relativen Einfachheit sind sie billiger als die nächste Art programmierbarer Logik. All dies führt dazu, dass CPLD hauptsächlich in Schaltkreisen verwendet wird, in denen hohe Geschwindigkeit und eine große Anzahl von Ausgängen benötigt werden, während einfache Aufgaben ausgeführt werden.


2. FPGA (Field-Programmable Gate Array - Benutzerprogrammierbares Gate-Array, wird jedoch häufig als FPGA bezeichnet) - Im Vergleich zu CPLD weiterentwickelte und komplexere Geräte bauen auf logischen Blöcken mit flexibler Umschaltung auf und enthalten eine größere Anzahl von Elementen (Zehntausende oder Hunderttausende von Teilen).

Die Firmware wird normalerweise in einem externen nichtflüchtigen Speicher gespeichert. Zusätzlich zu den einfachsten Logikelementen können FPGAs vorgefertigte Blöcke zum Ausführen beliebiger Operationen enthalten, beispielsweise DSP-Signalverarbeitungsblöcke. All dies ermöglicht es Ihnen, einen Prozessor, Signalverarbeitungsgeräte und andere komplexe Geräte zu implementieren.


Interessant:

Obwohl in der Tat das Vorhandensein eines nichtflüchtigen Speichers keine programmierbare Logik CPLD macht. Dies ist teilweise irreführend. Der Hauptunterschied zwischen CPLD und FPGA ist die interne Struktur.

Der Unterschied zwischen CPLD und FPGA ist die interne Struktur

Das interne CPLD-Gerät ist in der folgenden Abbildung detaillierter dargestellt.

CPLD-internes Gerät

Und das ungefähre Schema seiner Makrozelle sieht folgendermaßen aus:

Beispiel für ein CPLD-Makrozellenlayout

Die Makrozelle besteht aus programmierbaren Multiplexern, Triggern (einem oder mehreren) und bildet in mehreren Versionen eine Gruppe von FB-Ausgangssignalen.

Das folgende Beispiel zeigt ein Blockdiagramm eines CPLD-Chips aus der Altera MAX II-Chipfamilie.

Altera MAX II CPLD Flussdiagramm

Und der Strukturplan der Chips derselben Familie.

Altera MAX II CPLD-Blockdiagramm

Zwischenreifen werden Makrozellen mithilfe eines Knotens wie z. B. eines Verteilers in Englisch zugewiesen. Es klingt wie ein Logik-Allokator, der in der folgenden Abbildung dargestellt ist. Er zeigt auch die Schaltmatrix (Global Routing Pool) und hat am Ausgang Makrozellen (Makrozellen) zwei Rückkopplungen.

Verteiler- und Schaltmatrix

Die externen Ausgänge der Mikroschaltung sind über einen anderen Block (Matrix) - ORP (Output Routing Pool) mit den Ausgängen der Makrozellen verbunden. Beachten Sie, dass über diesen die INPUT-Logik mit GRP verbunden ist, wie in der folgenden Abbildung gezeigt.

Hinweis:

Einige CPLDs haben sogenannte Direkteingänge (Direkteingang) - Sie sind direkt mit den Eingängen der Zellen verbunden, wodurch Verzögerungen verringert werden.

Die FPGA-Struktur hat die Form:

FPGA-Struktur
  • L - logisch konfigurierbarer Block;

  • S (Substitutionsblock) - Ein Substitutionsblock, der eine bestimmte Anzahl von Bits pro Bewegung empfängt, gemäß einem bestimmten Algorithmus konvertiert und eine andere Anzahl von Bits am Ausgang ausgibt. Mit anderen Worten, ein Decoder, ein Verschlüsseler und ein Schalter.

  • C (Verbindungsblock) - Verbindungsblock.

S-Block-Diagramm:

 

S-Block-Diagramm



Programmierung


HDL (Hardware Description Language) - Dies ist die Sprache, mit der FPGAs programmiert werden. Beliebt und vielseitig sind Verilog HDL und VHDL. Es gibt andere Sprachen, z. B. herstellerspezifische Sprachen wie AHDL für ALTERA-Produkte.

Die grafische Programmierung steht Entwicklern zur Verfügung, die mit FPGAs arbeiten. Das heißt, Sie können einfach Logikschaltungen zeichnen oder Code mit Grafiken kombinieren. Letzteres wird als modulare Entwicklungsmethode bezeichnet, wenn bestimmte Module vorgeschrieben sind, und das oberste Modul, in dem alles kombiniert ist, wird grafisch programmiert.


Beispiele für beliebte Hersteller und Serien

Am bekanntesten sind zum Zeitpunkt des Schreibens die Produkte zweier Hersteller.

  • Altera (gegründet 1983);

  • Xilinx (1984 gegründet).

Altera

Altera hat mehrere Hauptreihen programmierbarer Logik:

  • MAX, MAX II, MAX IIZ;

  • 7000S;

  • 3000A;

  • MAX V;

  • Zyklon

  • Arria;

  • Stratix

Lassen Sie uns jeden von ihnen genauer betrachten. In den folgenden Tabellen sehen Sie allgemeine Informationen zu den Chips der Familie.

Eigenschaften der Hauptserie der programmierbaren Logik
Eigenschaften der Hauptserie der programmierbaren Logik

Altera 3 CPLD CPLD:

  • MAX ist eine CPLD für den Einsatz in Mobilgeräten. Kennzeichen sind ein relativ geringer Stromverbrauch und Wärmeableitung. Abhängig von der Komplexität und den Jahren der Veröffentlichung werden folgende Änderungen unterschieden:

  • 7000S ist bis heute veraltet, es wurde 1995 veröffentlicht.

  • 3000A - veröffentlicht im Jahr 2002, wird mit 300-nm-Technologie hergestellt. Besteht aus einer kleinen Anzahl von Makrozellen (32-512)

  • Der 2004 veröffentlichte MAX II wird mit 100-nm-Technologie hergestellt und besteht aus einer größeren Anzahl von Einheiten (240-2210), die mit Frequenzen bis zu 304 MHz arbeiten. Das Produkt wird in Fällen von 0,5 Millimeter Typ TQFP mit 100 oder mehr Beinen hergestellt.

  • MAX IIZ - 2007 ist das Hauptmerkmal der reduzierte Stromverbrauch - dies ist ein positiver Punkt, jedoch werden die Frequenzen auf 152 MHz reduziert. Diese Mikroschaltungen werden mit 1,8 V betrieben.

  • MAX V - 2010 Jahr. Es wird nach 180-nm-Technologie hergestellt, kann 40 bis 2210 Blöcke enthalten und bei Frequenzen bis 152 MHz oder 304 MHz arbeiten - dies hängt von der Anzahl der Blöcke ab.

Altera 3 CPLD CPLD

FPGA:

  • Cyclone ist ein preisgünstiger FPGA-Chip. Es gibt fünf Generationen, die mit griechischen Zahlen gekennzeichnet sind (von I bis V). Die erste Generation wurde 2002 auf den Markt gebracht und mit 180-nm-Technologie hergestellt. Die fünfte Generation wurde 2011 auf den Markt gebracht und mit 28-nm-Technologie hergestellt. Es ist erwähnenswert, dass alle Generationen relevant bleiben.

  • Arria - beziehen sich auch auf das FPGA der Mittelklasse.

  • Stratix - Leistungsstarke FPGAs.

Unten finden Sie die programmierbaren Logik-Pivot-Tabellen für Altera FPGA.

FPGA-Funktionen
FPGA-Funktionen
FPGA-Funktionen

Und die vollständige Tabelle unter dem Link:https://i.electricianexp.com/de/tablitsa.docx

Der Hersteller Xilinx CPLD präsentierte in Serie:

  • XC9500XL von 36-288 Makrozellen. Sie arbeiten mit Frequenzen bis zu 178 MHz und Modelle mit 288 Makrozellen mit 208 MHz. Es wird wie in kleinen Fällen mit 44 Stiften (Leitungen) in einem Abstand von 0,8 mm voneinander durchgeführt - solche Fälle gelten als leicht lötbar. Auch mit 64 und 100 Beinen in Schritten von 0,5 mm sowie mit Modellen in PLCC-Gehäusen erhältlich.

  • Die CoolRunner-II-Serie ist eine energieeffiziente und dennoch produktive CPLD. Eine Funktion wird mit einer Spannung von 1,8 V betrieben. Die Ein- und Ausgänge sind für einen Betrieb im Bereich von 1,5 bis 3,3 V ausgelegt. Sie bestehen aus 32-512 Makrozellen und werden mit 180-nm-Technologie hergestellt. Abhängig von der Anzahl der Zellen arbeiten sie im Frequenzbereich 179-323 MHz. Je kleiner die Zellen sind, desto mehr Frequenz können sie in diesem Fall arbeiten. Sie sind in verschiedenen Fällen zu finden, einschließlich leicht zu löten, wie in den Mikroschaltungen der oben betrachteten Reihe.

Xilinx Unternehmen nicht vorbei und FPGA:

  • Spartan-6 - besteht aus Logikblöcken mit 6 Eingängen, deren Anzahl im Bereich von 3840-147443 Stück liegt. Interessant daran, dass sie Controller für den Datenaustausch wie DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA usw. enthalten können.

  • Die Vitrex-7-Serie ist komplex. Mikroschaltungen können bis zu 2.000.000 Logikblöcke und 1.200 Kontakte enthalten.

Nachfolgend finden Sie die Übersichtstabellen mit den CPLD- und FPGA-Spezifikationen der Xilinx 6- und 7-Serien sowie des Zynq-7000.

FPGA-Funktionen der Xilinx 6- und 7-Serie
Eigenschaften von Virtex-6-FPGAs
Eigenschaften der FPGA-Familie Spartan-6
Eigenschaften der FPGA-Familie Spartan-6
FPGA-Funktionen
FPGA-Funktionen

Fazit

FPGAs und PPVMs werden auch von anderen Unternehmen wie Lattice Semiconductor (seit 2002 FPGAs), Actel und seinen bekannten Lesern unserer Website hergestellt. Mikrocontroller ATMEL und viele andere. Mit der programmierbaren Logik können Sie eine Reihe von Geräten implementieren, parallele Berechnungen unabhängig voneinander in einem Gerät implementieren. Bei Heimprojekten ist deren Kauf jedoch häufig finanziell nicht gerechtfertigt, aber gleichzeitig im Produktionsmaßstab als Alternative zu benutzerdefinierten integrierten Schaltkreisen durchaus sinnvoll.

P.S.Sehen Sie sich das Video an. Darin sehen Sie ein Beispiel für die Implementierung der Nintendo-Spielekonsole auf dem FPGA:

Siehe auch auf i.electricianexp.com:

  • Functional Block Diagram Language (FBD) und ihre Anwendung
  • Arten moderner integrierter Schaltkreise - Arten von Logik, Fälle
  • Logikchips. Teil 1.
  • PIC-Mikrocontroller für Anfänger
  • Speicherprogrammierbare Steuerungen für die Heimautomation

  •