ElektronIQ

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
bauteil:fpgas [2016/06/03 22:38]
wendrich Quartus Versionen, Hersteller Übersicht
bauteil:fpgas [2019/10/30 12:31] (current)
mkoch [Familien Übersicht]
Line 10: Line 10:
     * Virtex: high end. Unter andere in die NI-RIO Karten verbaut.     * Virtex: high end. Unter andere in die NI-RIO Karten verbaut.
     * Ein par Virtex varianten gibt es auch als Rad-Hard.     * Ein par Virtex varianten gibt es auch als Rad-Hard.
 +
   * Altera   * Altera
     * MAX: non-volatile,​ meist wenige LEs     * MAX: non-volatile,​ meist wenige LEs
Line 18: Line 19:
     * Die letzte Modelle von Cyclone, Aria und Stratix haben auch ARM-Prozessoren dabei.     * Die letzte Modelle von Cyclone, Aria und Stratix haben auch ARM-Prozessoren dabei.
     * Ich meine das es auch noch so etwas wie einen Intel-Altera Combi-Chip gibt (x86 mit FPGA, ziemlich dickes Ding). Intel hat Altera auch aufgekauft.     * Ich meine das es auch noch so etwas wie einen Intel-Altera Combi-Chip gibt (x86 mit FPGA, ziemlich dickes Ding). Intel hat Altera auch aufgekauft.
 +
   * Lattice   * Lattice
-    * ? +    * ICE40 HX4K/HX8K kosten um 6 Euro, haben Logik (7680 LCs), Speicher (128 kbit), PLL und GPIOs, sind in einer ähnlichen Größenordnung wie die hier sonst verwendeten Altera MAX10, haben aber keine internen AD-Wandler. 
-    * So auf der schnelle nichts Auffälliges erkanntBasic FPGAs in verschiedene ​GrößenVielleicht das irgendjemand anderes deren Angebot besser kennt.+    * ICE40 UP5K sind langsam, aber für sehr niedrigen Stromverbrauch optimiert. 
 +    * ECP5 sind vergleichsweise große (bis 84K LCs) und teure Chips, die erst bei entsprechenden Anforderungen sinnvoll werden. 
 +    * Lattice-FPGAs laden den Bitstream aus einem externen SPI-Flash und können auch über einen Microcontroller als SPI-Slave "​gebootet"​ werden. Das Protokoll ist vollständig dokumentiert,​ ich habe bereits meinen eigenen Bootloader dafür geschrieben. Es werden keinerlei spezielle Tools gebraucht; die offiziellen Boards verwenden ein FTDI-USB-Seriell-Brücke zum Beschreiben des externen SPI-Flash. Für fertige Designs gibt es außerdem einen nur einmal beschreibbaren internen Konfigurationsspeicher. 
 +    * Der ganz große Vorteil bei Lattice ist die Software: Es gibt eine Open Source Toolchain, die Verilog kompiliert und sich wie ein Kommandozeilencompiler für einen Microcontroller anfühlt. Wer mit Quartus/​Vivado/​Libero gekämpft hat, wird es zu schätzen wissen. https://​symbiflow.github.io/​ Project Icestorm für ICE40 http://​www.clifford.at/​icestorm/​ und Project Trellis für ECP5. 
 +    * HX4K und HX8K enthalten den gleichen Chip-Die, sind allerdings in verschiedenen Gehäusevarianten erhältlich:​ TQPF144 und verschiedene BGA. "​HX4K"​ ist nur eine Beschränkung zur Marktsegmentierung in der Hersteller-Software "​Diamond"​. 
 +    * Hinter der freien Toolchain steckt ein Projekt zur formellen Verifkation,​ die Software ist sehr stabil und ausgereift. 
 +    * Alle besonderen Funktionsblöcke sind von Lattice aus offiziell dokumentiert,​ es ist nicht nötig, sich mit irgenwelchen Konfiguratoren herumzuschlagen. 
 +    * Für eine Einführung:​ Dr. Matthias Koch, D229, fragen. Ich habe diese FPGAs in meiner Doktorarbeit verwendet und zwei verschiedene ​Prozessorkerne darauf implementiert,​ einer davon eine Eigenentwicklunghttp://​mecrisp.sourceforge.net/​ 
   * MicroSemi / Actel   * MicroSemi / Actel
     * Fusion: FPGA + Analog (einen ADC mit viele Features und deutlich höhere Spannungen als üblich)     * Fusion: FPGA + Analog (einen ADC mit viele Features und deutlich höhere Spannungen als üblich)
Line 27: Line 37:
     * RT-xxx : Strahlungsharte FPGAs, von klein bis riesig. Nur die RTG4 hat PLLs und Multiplikatoren.     * RT-xxx : Strahlungsharte FPGAs, von klein bis riesig. Nur die RTG4 hat PLLs und Multiplikatoren.
     * Multiplikatoren gibt es nur in wenige Baureihen.     * Multiplikatoren gibt es nur in wenige Baureihen.
 +
   * (Diese Liste erhebt kein Anspruch auf Vollständigkeit. Es sind nur die übliche Verdächtige.)   * (Diese Liste erhebt kein Anspruch auf Vollständigkeit. Es sind nur die übliche Verdächtige.)
  
Line 47: Line 58:
     * Diese Gehäusen sind für uns zu klein. Aber sag niemals nie. Spätestens wenn irgendjemand ein Atominterferometer im Händy haben will, werden wir auch diese Chips einsätzen.     * Diese Gehäusen sind für uns zu klein. Aber sag niemals nie. Spätestens wenn irgendjemand ein Atominterferometer im Händy haben will, werden wir auch diese Chips einsätzen.
     * MBGAs sind nur noch mit Via-in-Pad möglich.     * MBGAs sind nur noch mit Via-in-Pad möglich.
 +  * Weitere Links zu genaue Platinen-Maßen:​
 +    * https://​www.multi-circuit-boards.eu/​leiterplatten-design-hilfe/​bga-leiterplatte-ball-grid-array.html
 +    * http://​www.xilinx.com/​support/​documentation/​user_guides/​ug1099-bga-device-design-rules.pdf
 +    * https://​www.altera.com/​content/​dam/​altera-www/​global/​en_US/​pdfs/​literature/​an/​an114.pdf
  
 Zum selberlöten von BGAs gab es auch mal eigene Versuche auf eine andere Seite im Wiki: [[fertigung:​selbstloetenvonballgridarray]] Zum selberlöten von BGAs gab es auch mal eigene Versuche auf eine andere Seite im Wiki: [[fertigung:​selbstloetenvonballgridarray]]
Line 113: Line 128:
  
 {{:​bauteil:​fpgas:​10m08daf256c8g.png?​300|}} {{:​bauteil:​fpgas:​10m08daf256c8g.png?​300|}}
 +
 {{:​bauteil:​fpgas:​10m08daf484c8g.png?​400|}} {{:​bauteil:​fpgas:​10m08daf484c8g.png?​400|}}
 +{{:​bauteil:​fpgas:​10m25daf484c8g.png?​400|}}
 +
 +Die Pinbelegung der andere MAX10-Varianten unterscheidet sich im gleichen Gehäuse nicht. Zumindest in die meiste Fälle, sieh Datenblatt. Nur ein par Pins ändern sich wenn man zwischen der Analog und der Compact-Version wechselt.
  
-Die Pinbelegung der andere MAX10-Varianten unterscheidet sich im gleichen Gehäuse nicht. Nur ein par Pins ändern sich wenn man zwischen der Analog und der Compact-Version wechselt. 
  
 === Cyclone 2 === === Cyclone 2 ===
Line 134: Line 152:
 {{:​bauteil:​fpgas:​ep4ce15f23c8.png?​400|}} {{:​bauteil:​fpgas:​ep4ce15f23c8.png?​400|}}
  
-=== Cyclone ​===+=== Cyclone ​4GX === 
 + 
 +{{:​bauteil:​fpgas:​ep4cgx22bf14c8.png?​250|}} 
 +{{:​bauteil:​fpgas:​ep4cgx22cf19.png?​300|}} 
 +{{:​bauteil:​fpgas:​ep4cgx30cf23c8.png?​400|}} 
 + 
 + 
 +=== Cyclone 5E ===
  
 {{:​bauteil:​fpgas:​5ceba2f17c8.png?​300|}} {{:​bauteil:​fpgas:​5ceba2f17c8.png?​300|}}
 {{:​bauteil:​fpgas:​5ceba2f23c8.png?​400|}} {{:​bauteil:​fpgas:​5ceba2f23c8.png?​400|}}
 {{:​bauteil:​fpgas:​5ceba7f23c8.png?​400|}} {{:​bauteil:​fpgas:​5ceba7f23c8.png?​400|}}
 +
 +=== Cyclone 5GX ===
 +{{bauteil:​5cgxfc3b7f23c8.png?​400|}}
 +{{bauteil:​5cgxfc4c7f23c8.png?​400|}}
 +
  
 ==== Altera Quartus Versionen ===== ==== Altera Quartus Versionen =====