Forum: FPGA, VHDL & Co. Layout-Programm f. FPGA in der Ausbildung/Hobby


von Fritz J. (fritzjaeger)


Lesenswert?

Hallo,

für die Anfertigung eines FPGA-Evalboards in der Ausbildung wird ein 
Layoutprogramm gesucht.

Die Platine wird von einem Dienstleister gefertigt und bestückt, dennoch 
sollen technologische Hürden wie Hi-Speed routing oder High-Density 
Verbinder vermieden werden. Das Board soll auf einen Takt im 
zweistelligen MHz-Bereich ausgelegt werden (20MHz, u.U. ein SDRAM-Block 
um 100 MHz). Von der Komplexität nicht höher als ein S3A Starterkit 
(Gerber-Plots hier: 
http://www.xilinx.com/support/documentation/boards_and_kits/s3a_starter_gerbers.pdf).

Ohne BGA-Package für den FPGA wird es wahrscheinlich nicht gehen, daher 
wird es wohl nicht ohne Mehrlagenplatine (ein oder drei Innenlagen) 
machtbar sein.

Vorschläge für ein geeignetes (Preis, Einarbeitung) Layout-Programm 
erbeten.

MfG,

PS: Unter http://www.mikrocontroller.net/articles/Kategorie:Platinen 
vermisst man Auswahlhilfen bezüglich dem das für (wenig anspruchsvolle) 
FPGA-boards nötig (BGA-Layout, Mehrlagenplatinen) ist.

von Hmm (Gast)


Lesenswert?

>vermisst man Auswahlhilfen

Man? Wer ist das?

Es gibt deswegen keine Auswahlhilfen in Bezug auf FPGAs weil das (aus 
meiner Sicht) mehr oder weniger sinnlos ist.
BGA oder nicht BGAist keine Frage des Layoutprogrammes. Auch nicht in 
Bezug auf das Routing.
Und in den Spezifikationen steht drin ob ein Programm Mehrlagen-Platinen 
geeignet ist oder nicht. Mit "geeignet" ist dann gemeint, ob man solche 
damit erzeugen kann.

Deine Fragestellung (ich meine das folgende zwar kritisch aber im besten 
Sinne und in aller Höflichkeit) ist eher so eine "schulmässige", 
motiviert von dem Gedanken, das alles was neu für dich ist, ausdrücklich 
beschrieben werden muss, damit Du damit zufrieden bist.

Ob ein Board nun für BGAs, 20MHz oder 200MHz geeignet ist, liegt am 
Layout und nicht (in erster Linie) am Programm. Andererseits gibt es bei 
manchen Programmen gewisse Hilfen die Du aber ausgeschlossen hast.

Nimm einfach Eagle. Das ist recht günstig. Es gibt Studentenlizenzen 
(hoffentlich noch) und die Libraries dafür sind schon recht umfangreich.

Auch gegen Target (das ist umsonst) oder Mentor spricht nichts. Im 
Grunde ist das Programm egal und die Vor- und Nachteile sind vor allem 
Subjekt sehr persönlicher Wertung.

von K. D. (deka)


Lesenswert?

Fritz Jaeger schrieb:
> PS: Unter http://www.mikrocontroller.net/articles/Kategorie:Platinen
> vermisst man Auswahlhilfen bezüglich dem das für (wenig anspruchsvolle)
> FPGA-boards nötig (BGA-Layout, Mehrlagenplatinen) ist.

BGA können alle, Multilayer auch fast. Ich empfehle an dieser Stelle auf 
Grund der weiten Verbreitung und des moderaten Preises immer Eagle von 
Cadsoft.  Alle deine Anforderungen sind problemlos machbar, was nicht 
integriert ist kann per Script hinzugefügt werden. Einarbeitungszeit ist 
eigentlich minimal im Vergleich zu Altium z.B.

: Wiederhergestellt durch Admin
von Strubi (Gast)


Lesenswert?

Moin,

kicad ist auch noch populär und IMHO besser zu bedienen als Eagle, 
allerdings nicht so mächtig. Trace length matching kann es allerdings 
nicht, aber das dürfte hierbei nicht der Showstopper sein. Mache damit 
andauernd miniaturisiertes Zeug, und ansonsten gilt: Das Layout ist auch 
nur so gut wie der Layouter :-)

Schöne W-nachten,

- Strubi

von Helmut S. (helmuts)


Lesenswert?

> kicad ist auch noch populär und IMHO besser zu bedienen als Eagle

Das mit dem "besser bedienen" halte ich für ein Gerücht.

von Strubi (Gast)


Lesenswert?

Helmut S. schrieb:
>> kicad ist auch noch populär und IMHO besser zu bedienen als Eagle
>
> Das mit dem "besser bedienen" halte ich für ein Gerücht.

Einfach mal selber ausprobieren. Nach ca. 12 Jahren als Eagle-User (ja, 
schon unter DOS..) route ich nun mit kicad deutlich schneller und die 
Umarbeitung hat sich längst amortisiert. Über einige "Quirks" von kicad 
muss man vielleicht drüber hinwegsehen. Forum "Platinen" gibt dazu aber 
genug her.

von J. S. (engineer) Benutzerseite


Lesenswert?

Eagle sollte reichen, denke ich. Und ja, Eagle war zu DOS-Zeiten richtig 
gut und effektiv. Inzwischen finde ich das immer unschöner.

von Fritz J. (fritzjaeger)


Lesenswert?

Hmm schrieb:
> Es gibt deswegen keine Auswahlhilfen in Bezug auf FPGAs weil das (aus
> meiner Sicht) mehr oder weniger sinnlos ist.
> BGA oder nicht BGAist keine Frage des Layoutprogrammes. Auch nicht in
> Bezug auf das Routing.
> Und in den Spezifikationen steht drin ob ein Programm Mehrlagen-Platinen
> geeignet ist oder nicht. Mit "geeignet" ist dann gemeint, ob man solche
> damit erzeugen kann.
>
> Deine Fragestellung (ich meine das folgende zwar kritisch aber im besten
> Sinne und in aller Höflichkeit) ist eher so eine "schulmässige",
> motiviert von dem Gedanken, das alles was neu für dich ist, ausdrücklich
> beschrieben werden muss, damit Du damit zufrieden bist.


Also meione Frage ist motiviert von der Empfehlung CAD Programme resp. 
Versionen von den zu nutzen die kostenfrei sind aber auf zwei-lagige 
Platinen beschränkt sind. Das trifft bspw. auf eagle zu, wie Du dich mit 
einem kurzen Blick auf deren web-site überzeugen kannst. Also BGA ja, 
mehrlagig-ja -- FPGA  Nein! Ich lasse mich gern eines besseren lehren, 
aber mit einem zweiseitigen PCB halte ich ein erfolgreiches routing bei 
FPGA unmöglich. Vielleicht bei QFP, bei IC's mit nur einer 
Versorgungsspannung und einer Busausrichtung (z.B S(D)RAM's) mag das 
auch noch möglich sein. Nicht aber bei FPGA's deren 16x16 Matrix in alle 
Himmelsrichtungen verzweigt und an mindestens drei Powerplanes hängt. 
Ferner sind bei FPGA's weitere CAD-Feature von Vorteil, die bei der 
Betrachtung von Mikrocontrollerdesigns nur von geringem Rang sind:

-Differentiale Leitungspaare mit definierten Skew
-Stromversorgung über Power Planes (Polygone statt Copper-tracks 
zeichnen)
-Designspezifischer ERC, basierend auf Spezifikation der Port-Richtung 
der GPIO

Schön, wenn jemand von Erfahrungen berichten kann, die er mit einer 
Hobbyisten oder Educational-Lizenz gemacht hat. Bei Preisen von 200+€ 
wäre es argerlich Wochen in einer flache Lernkurve zu steigen oder mit 
fehlerhaften Designs arbeiten müssen, weil ERC und DRC nur mässig 
anpassbar und genau sind.

MfG,

von Fritz J. (fritzjaeger)


Lesenswert?

Hmm schrieb:
> Auch gegen Target (das ist umsonst) ...  spricht nichts.

Hm also gegen Target spricht meines Erachtens die beschränkung auf 2 
Kupfer-layer und 250/400 pins only (allein ein FT256-Gehause hat 256 
Pins). Erst die economy version bringt für 719€ 4 Kupferlagen mit.

Wie in der Replik eins drüber dargestellt, m.E. braucht es für ein 
FPGA-Design mehr als zwei Lagen, Gegenbeispiele sehe ich mir gern an.

MfG,

von Hmm (Gast)


Lesenswert?

Ich habe mit keinem Wort gesagt das Du eine zweilagiges Layout entwerfen 
sollst. Keine Ahnung was das soll. Willst Du hier Streitgespräche führen 
oder Hilfe finden?
Deinen Tonfall halte ich für unangemessen, ganz abgesehen von der Unart 
nach dem ersten Post und den ersten Antworten weitere einschränkende 
Kriterien einzuführen.

Sieh' alleine zu wie Du fertig wirst.

von Guest (Gast)


Lesenswert?

Fritz Jaeger schrieb:
> Ich lasse mich gern eines besseren lehren,
> aber mit einem zweiseitigen PCB halte ich ein erfolgreiches routing bei
> FPGA unmöglich.

Alles schon gemacht, kein Problem. Mal von den TQFP-FPGAs abgesehen geht 
das auch bei BGA ganz gut. Ich habe mal ein 2-Lagen Board mit einem 
Xilinx Spartan 3AN FPGA im BGA256 Gehäuse gemacht. Funktioniert ziemlich 
passabel und hat 80 IOs und JTAG rausgeführt. Das gleiche funktioniert 
auch mit Spartan6 FPGAs, allerdings muss man dann IO und AUX Spannung 
aufs gleiche Niveau nageln, also 2.5V oder 3.3V. Und es fallen ein paar 
Pins für Config-Speicher weg (4 Stück oder so für SPI Flash).

Fritz Jaeger schrieb:
> Schön, wenn jemand von Erfahrungen berichten kann, die er mit einer
> Hobbyisten oder Educational-Lizenz gemacht hat. Bei Preisen von 200+€
> wäre es argerlich Wochen in einer flache Lernkurve zu steigen oder mit
> fehlerhaften Designs arbeiten müssen, weil ERC und DRC nur mässig
> anpassbar und genau sind.

Ich nutze eine EDU Lizenz von Altium Designer. Kostet incl. MwSt 124 
Euro im Jahr, gibts aber nur für Studenten. Schaltplan zeichnen ist 
genauso mühsam wie in Eagle, Footprints machen ist meist 
vollautomatisiert und das Routen ist ne gute Ecke besser als in Eagle 
und co (welche ja auch was kosten). Features wie interaktiver Pin-Swap, 
also back-annotation auf den Schaltplan aus dem PCB raus sind schon 
nett, wobei Eagle hier in Version 6 wohl nachgelegt hat (?). Sachen wie 
automatisches net-length Matching kannst du dagegen vergessen, sobald 
die Anforderungen komplizierter werden (DDR SDRAM) musst dus doch wieder 
manuell machen.

von Strubi (Gast)


Lesenswert?

Fritz Jaeger schrieb:
> -Differentiale Leitungspaare mit definierten Skew
> -Stromversorgung über Power Planes (Polygone statt Copper-tracks
> zeichnen)
> -Designspezifischer ERC, basierend auf Spezifikation der Port-Richtung
> der GPIO

Bloss die Dinge nicht verakademisieren...
Wenn die LVDS-Paare unbedingt impedanzkontrolliert sein müssen: einen 
PCB-Kalkulator haben fast alle. Aber wirklich wichtig ist das nicht, 
wenn man unter den 'magischen' 7 cm Tracelänge bleibt und daran denkt, 
dass die Elektronen auch wieder einen Rückweg nehmen müssen.
Ansonsten liegen u.A. bei Texas Instruments einige Design-Rule-Howtos 
rum.
Und nicht die Physik vergessen, und dementsprechend auch ruhig ein paar 
extra Footprints zur optionalen Bestückung säen (Terminierung...)
Bei DRAM und BGA würde ich auf jeden Fall mindestens 4 Lagen anpeilen, 
sonst sendet das Ding oder das DRAM spinnt rum.

ERC ist bei kicad recht effektiv, man muss nur ein paar Tricks (wie z.B. 
bei Power-Sourcen) wissen.
Bis auf die Portrichtung herunter macht's aber beim FPGA wenig Sinn...
Lieber sich klar werden, was zu welcher I/O-Bank geroutet werden muss.

Am besten einfach mal loslegen. Es gibt hier immer mal nette 
Protagonisten, die Dir einen Layout-Screenshot gratis "reviewen".

von Fritz J. (fritzjaeger)


Lesenswert?

Moin, moin

und danke für die Rückmeldungen (augenommen "Hmm").

Also zwei-Lagen Design scheint nur unter Einschränkungen und Restrisiken 
möglich, deshalb verbleib ich gegen eine entscheidung für eine 
billigvariante. Es müssen also mindestens 4 Lagen sein. Das dürfte somit 
das Aus für Target und damit auch für die ct-beilage-CD's (mit Target) 
sein. Eagle scheint von Preis erst mal OK (Hobbyist-Lizenz), leider 
schliesst diese Lizenz aber den Gebrauch in der Ausbildung/Schulung aus.

Möglichwerweise kann stattdessen in Schulungen (Schulkurs, Amateurfunk 
Bastelkurs)an einem kostenlosen Gerberviewer das Layout 
erklärt/Vermittelt wenn auch nicht die Design/Layout-erstellung.

"Interaktiver Pinswap" wie von Guest angesprochen, klingt insbesonders 
für den geplagten FPGA-Layouter verlockend. Das "Konsistent-Halten" von 
Schematic und Layout ist ja gerade bei den Multi-Pin's FPGA ein großes 
Thema. Ich erinner mich da an längliche Listen die zwischen Layouter und 
Schaltplanzeichner hin und hergingen.

Eine Rand-frage bezüglich "Nichtkommerzielle Nutzung". Viele der 
Einstiegslizenzen schliessen dergleichen aus. Wäre es eine kommerzielle 
Nutzung wenn man ein paar PCB's mehr auf dem Nutzen bringt und diese 
anderen Hobbyisten als Evalboard zum Unkostenpreis überlässt?

Bis nach der Gans,

von Guest (Gast)


Lesenswert?

Fritz Jaeger schrieb:
> Also zwei-Lagen Design scheint nur unter Einschränkungen und Restrisiken
> möglich, deshalb verbleib ich gegen eine entscheidung für eine
> billigvariante

2 Layer sind signifikant billiger als 4 Layer (über den Daumen gepeilt 
faktor 2 bis 3)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.