meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
bauteil:fpgas [2016/06/03 18:11] – [Vorschläge für Verdrahtung] wendrich | bauteil:fpgas [2019/10/30 11:31] (current) – [Familien Übersicht] mkoch | ||
---|---|---|---|
Line 5: | Line 5: | ||
Hier im Institut haben wir uns ziemlich auf die Altera Chips eingeschossen, | Hier im Institut haben wir uns ziemlich auf die Altera Chips eingeschossen, | ||
- | (TODO) | + | * Xilinx |
+ | * Spartan, Artix: low cost | ||
+ | * Zynq: FPGA mit ARM | ||
+ | * Virtex: high end. Unter andere in die NI-RIO Karten verbaut. | ||
+ | * Ein par Virtex varianten gibt es auch als Rad-Hard. | ||
+ | |||
+ | * Altera | ||
+ | * MAX: non-volatile, | ||
+ | * MAX10: non-volatile wie MAX, fähig wie Cyclone, hat sogar analoge Eingängen | ||
+ | * Cyclone: Low cost | ||
+ | * Arria: Mid range | ||
+ | * Stratix: High end | ||
+ | * 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. | ||
+ | |||
+ | * 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. | ||
+ | * 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 " | ||
+ | * 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/ | ||
+ | * HX4K und HX8K enthalten den gleichen Chip-Die, sind allerdings in verschiedenen Gehäusevarianten erhältlich: | ||
+ | * Hinter der freien Toolchain steckt ein Projekt zur formellen Verifkation, | ||
+ | * Alle besonderen Funktionsblöcke sind von Lattice aus offiziell dokumentiert, | ||
+ | * Für eine Einführung: | ||
+ | |||
+ | * MicroSemi / Actel | ||
+ | * Fusion: FPGA + Analog (einen ADC mit viele Features und deutlich höhere Spannungen als üblich) | ||
+ | * SmartFusion: | ||
+ | * Igloo, ProAsic : basic low power FPGA | ||
+ | * RT-xxx : Strahlungsharte FPGAs, von klein bis riesig. Nur die RTG4 hat PLLs und Multiplikatoren. | ||
+ | * Multiplikatoren gibt es nur in wenige Baureihen. | ||
+ | |||
+ | * (Diese Liste erhebt kein Anspruch auf Vollständigkeit. Es sind nur die übliche Verdächtige.) | ||
+ | |||
+ | ===== Vorschläge für Verdrahtung ===== | ||
+ | Jede größere FPGA gibt es nur noch in BGA-Gehäusen (Ball Grid Array). Wie kommt man an die Pins ran? | ||
+ | Mit der Lötkolbe geht da nichts mehr. Dies geht nur noch mit Reflow-Löten im Ofen oder noch besser mit Dampflöten. Am besten geht es aber wenn man dies an Bestückungsfirmen auslagert. | ||
+ | |||
+ | Wir müssen dann nur noch den Entwurf machen und die richtige Technik-Optionen auswählen. | ||
+ | * Die TQFP Gehäusen sind noch mit Standart Einstellungen in 8mil-Technik realisierbar. | ||
+ | * Für FBGAs mit 1.0mm Raster gibt es eine Lösung die mit einfache Zusatzoptionen realiserbar ist. Diese Gehäuse machen aber erst Sinn wenn man mindestens einen 4-Lagen Board entwerft. | ||
+ | * Die äußere beide Reihen kann man direkt erreichen. Bei einer Pad-Durchmesser von 0.5mm, braucht man 7mil Linienbreite und 6mil Isolation. Beides ist mit normaler 6mil-Technik möglich. | ||
+ | * Für die innere Pins ab der dritte Reihe sind Vias nötig. | ||
+ | * Drill: 8mil, Restring: 6mil, Durchmesser: | ||
+ | * Dies sind meistens Sonderoptionen. | ||
+ | * Die kleine Vias sollen mit Stoplack überdeckt sein (Eagle: DRC --> Masks --> Limit=0.4mm). Dies verhindert Kurzschlüsse unter dem Chip. | ||
+ | * Die Öffnungen im Stoplack für die Pads sollten nur 3mil größer sein als die Pads (Eagle: DRC --> Masks --> Stop-Min=Stop-Max=3mil). | ||
+ | * Da diese Vias ziemlich klein sind, sollte man vorallen für Ground und Versorgung viele Vias nutzen. | ||
+ | * Ein Vorbild für wie es dann aussieht: {{: | ||
+ | * Für UBGA und MBGA hab ich noch keine Lösung gefunden. Man braucht hier meistens Spezial-Optionen aus er Kategorie "auf Anfrage" | ||
+ | * 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. | ||
+ | * Weitere Links zu genaue Platinen-Maßen: | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | |||
+ | Zum selberlöten von BGAs gab es auch mal eigene Versuche auf eine andere Seite im Wiki: [[fertigung: | ||
+ | |||
+ | ===== Altera ===== | ||
==== Altera Gehäusen ==== | ==== Altera Gehäusen ==== | ||
Line 30: | Line 90: | ||
| M15 | M484 | 22 x 22 | 0.5mm | | | M15 | M484 | 22 x 22 | 0.5mm | | ||
- | ==== Vorschläge für Verdrahtung ==== | ||
- | Wie kommt man an die Pins ran? | ||
- | Der Lötkolbe kann hier nichts mehr. Dies geht nur noch mit Reflow-Löten im Ofen oder noch besser mit Dampflöten. Am besten geht es aber wenn man dies an Bestückungsfirmen auslagert. | ||
- | |||
- | Wir müssen dann nur noch den Entwurf machen und die richtige Technik-Optionen auswählen. | ||
- | * Die TQFP Gehäusen sind noch mit Standart Einstellungen in 8mil-Technik realisierbar. | ||
- | * Für FBGAs mit 1.0mm Raster gibt es eine Lösung die mit einfache Zusatzoptionen realiserbar ist. Diese Gehäuse machen aber erst Sinn wenn man mindestens einen 4-Lagen Board entwerft. | ||
- | * Die äußere beide Reihen kann man direkt erreichen. Bei einer Pad-Durchmesser von 0.5mm, braucht man 7mil Linienbreite und 6mil Isolation. Beides ist mit normaler 6mil-Technik möglich. | ||
- | * Für die innere Pins ab der dritte Reihe sind Vias nötig. | ||
- | * Drill: 8mil, Restring: 6mil, Durchmesser: | ||
- | * Dies sind meistens Sonderoptionen. | ||
- | * Die kleine Vias sollen mit Stoplack überdeckt sein (Eagle: DRC --> Masks --> Limit=0.4mm). Dies verhindert Kurzschlüsse unter dem Chip. | ||
- | * Die Öffnungen im Stoplack für die Pads sollten nur 3mil größer sein als die Pads (Eagle: DRC --> Masks --> Stop-Min=Stop-Max=3mil). | ||
- | * Da diese Vias ziemlich klein sind, sollte man vorallen für Ground und Versorgung viele Vias nutzen. | ||
- | * Ein Vorbild für wie es dann aussieht: {{: | ||
- | * Für UBGA und MBGA hab ich noch keine Lösung gefunden. Man braucht hier meistens Spezial-Optionen aus er Kategorie "auf Anfrage" | ||
- | * 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. | ||
- | |||
- | Zum selberlöten von BGAs gab es auch mal eigene Versuche auf eine andere Seite im Wiki: [[fertigung: | ||
==== Altera Pinbelegung ==== | ==== Altera Pinbelegung ==== | ||
- | Bei den QFP Gehäusen ist die Pinbelegung kein wirklich wichtiges Auswahlkriterium. Versorgung, Ground und IO liegen immer gemischt. | + | Bei den QFP Gehäusen ist die Pinbelegung kein wirklich wichtiges Auswahlkriterium. Versorgung, Ground und IO liegen immer gemischt |
Bei den BGAs sieht das anders aus. Dort sind die innere Pins schwierig zu routen, zumindest wenn man nur 4 Lagen hat und nur durchgehende Vias durch alle Lagen. Man möchte deshalb möglichst viele Signalpins auf den äußere beide Reihen haben. Manche der Pinbelegungen sind in dieser Hinsicht sub-optimal. | Bei den BGAs sieht das anders aus. Dort sind die innere Pins schwierig zu routen, zumindest wenn man nur 4 Lagen hat und nur durchgehende Vias durch alle Lagen. Man möchte deshalb möglichst viele Signalpins auf den äußere beide Reihen haben. Manche der Pinbelegungen sind in dieser Hinsicht sub-optimal. | ||
Line 64: | Line 104: | ||
* Vierkant mit steigende oder fallende Flanke: Clock | * Vierkant mit steigende oder fallende Flanke: Clock | ||
* Rund oder Hexagon: IO | * Rund oder Hexagon: IO | ||
+ | * Kreuz: Nicht angeschlossen | ||
* Farbe: zeigt die jeweile IO-Bank an | * Farbe: zeigt die jeweile IO-Bank an | ||
Line 81: | Line 122: | ||
{{: | {{: | ||
{{: | {{: | ||
+ | |||
+ | Es gibt eine auffällige Übereinstimming zwischen den MAX2 und MAX5 Chips im gleichen Gehäuse. | ||
+ | |||
+ | === MAX10 === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | 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. | ||
+ | |||
=== Cyclone 2 === | === Cyclone 2 === | ||
Line 99: | Line 152: | ||
{{: | {{: | ||
- | === Cyclone | + | === Cyclone |
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | |||
+ | === Cyclone 5E === | ||
{{: | {{: | ||
{{: | {{: | ||
{{: | {{: | ||
+ | |||
+ | === Cyclone 5GX === | ||
+ | {{bauteil: | ||
+ | {{bauteil: | ||
+ | |||
+ | |||
+ | ==== Altera Quartus Versionen ===== | ||
+ | |||
+ | (Wir betrachten hier nur für die Gratis-Version.) | ||
+ | |||
+ | Einen Upgrade bringt hier leider nicht nur neue Sachen und Verbesserungen, | ||
+ | |||
+ | Stress gibt es nur wenn man bestehende Projekte mit der falsche Version öffnet. Dabei will Quartus bereits beim Öffnen, Projektdateien überschreiben, | ||
+ | |||
+ | ^ Version ^ Simulator ^ MAX7000 ^ MAX3000 ^ MAX2 ^ MAX5 ^ MAX10 ^ Cyclone1 ^ Cyclone 2 ^ Cyclone 3 ^ Cyclone 4 ^ Cyclone 5 ^ | ||
+ | | 9 | Build-in, Modelsim | v | v | v | | ||
+ | | 10 | Modelsim | ||
+ | | 11 | Modelsim | ||
+ | | 12 | Modelsim | ||
+ | | 13.0 | Modelsim | ||
+ | | 13.1 | Modelsim | ||
+ | | 14 | Modelsim | ||
+ | | 15 | Modelsim | ||
+ | | 16 | Modelsim | ||
+ | |||
+ | * Der einfach zu benutzende eingebaute Simulator gibt es nur bis Version 9 (und vielleicht noch als Academic Sonder-Download). | ||
+ | * Für MAX3000, MAX7000, Cyclone2 und Cyclone3 gilt: nur bis Version 13.0. | ||
+ | * Für alle neuere gilt: nimm die neueste Quartus Version (16). | ||
+ | |||