Forum: FPGA, VHDL & Co. Anfänger: Bitte um Empfehlung für erste Schaltung (MAX 3000A?)


von Matthias M. (Firma: privat) (quadraturencoder)


Lesenswert?

Hallo,

Kurz vorweg, ich programmiere seit 30+ Jahren in C, C++ und Assembler, 
habe TTL 74'er Schaltungen entwickelt, habe also mehr als Basiswissen.

Mein neustes Projekt soll nun den Sprung in die Welt der CPLDs 
besiegeln. Darum möchte ich bitten, dass jemand mal über meine Annahmen 
schaut und mir den richtige Chip empfiehlt. Danke!

Ein kleines Board soll den internen Bus eines Apple Newton PDA(*) (CMOS 
Level, drei serielle Busse) mit einem ESP8266 Modul (3.3V) und einem 
FTDI USB Wandler möglichst flexibel verbinden. Das ESP wird so 
programmiert, dass es sich dem Newton gegenüber wie ein Hayes Modem 
verhält, gegenüber der Welt aber wie eine moderne Internetverbindung.

Die Aufgabe für den CPLD ist also nicht sehr komplex, sondern soll:
 - von CMOS auf 3.3V TTL umsetzen und zurück
 - per TriState den Bus frei halten, wenn der Newton das verlangt
 - die Modemleitungen bedienen und den ESP entlasten
 - jeden der drei seriellen ports mit jeweils dem ESP oder dem FTDI 
verbinden
 - Ruhestromverbrauch sollte sich auf ein Minimum senken lassen können

Ich glaube, dass so ein Board in der Komplexität niedrig genug ist, um 
in Ruhe Verilog(?) und alles andere über CPLDs zu lernen.

Klappt das so?

Ist das ein guter Einstieg?

Ist der MAX 3000A der richtige Chip?


(*): der Apple Newton MessagePad ist ein PDA, ein "SmartPhone" von 1994. 
Er kann zwar grundsätzlich in ein WLan Netzwerk einloggen, beherrscht 
aber kein WPA2. Die Schaltung soll die heute noch ganz prima 
funktionierenden Geräte wieder mit der Aussenwelt verbinden.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Matthias M. schrieb:
> Ich glaube, dass so ein Board in der Komplexität niedrig genug ist, um
> in Ruhe Verilog(?) und alles andere über CPLDs zu lernen.
> Klappt das so?
Hört sich nach einer Strategie an. Allein die Sache mit Verilog würde 
ich angesichts der Tatsache, dass du hier in Europa für VHDL leichter 
einen Helfer findest, nochmal überdenken.

> Ist der MAX 3000A der richtige Chip?
Der kann immerhin eine deiner Hauptanforderungen: 5V IO-Spannung. Und 
den Rest kann der auch. Da ist ja nichts Aufwändiges dabei...

> Ist das ein guter Einstieg?
Ich würde nicht mit irgendwas Produktivem beginnen. Mach zuerst die 
einfachen Spielereien: LED, Lauflicht, SIO, VGA usw...
Dann hast du genug Wissen, um mit deinem Projekt so loszulegen, dass 
was Brauchbares dabei herauskommt.

: Bearbeitet durch Moderator
von Blitzmieze (Gast)


Lesenswert?

Matthias M. schrieb:
> Klappt das so?
>
> Ist das ein guter Einstieg?
>
> Ist der MAX 3000A der richtige Chip?

Das klingt für mich nach einer ehr guten Strategie. Gut wäre es wenn du 
noch einen kleinen Logicanalyzer oder ein scope dabei hast.

Verilog ist IMHO auch in Europe die bessere Wahl für den Einstieg 
insbesonders für gestandene Elektroniker da man 74-Logik geradliniger 
beschreiben kann als im VHDL-behaviroul style.
Wenn das läuft kannst du das dann in VHDL umsetzen, die Tools 
unterstützen i.d.R. eh beides.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Blitzmieze schrieb:
> Verilog ist IMHO auch in Europe die bessere Wahl für den Einstieg
> insbesonders für gestandene Elektroniker da man 74-Logik geradliniger
> beschreiben kann als im VHDL-behaviroul style.
So hat man seine Ansichten. VHDL ist nicht per Definition "geschwätzig" 
und "umständlich", es wird nur gerne an den Schulen so gelehrt. Ich 
kann mit VHDL natürlich auch kompakt Logik beschreiben...

Siehe dazu das da:
http://www.lothar-miller.de/s9y/archives/88-VHDL-vs.-Verilog-am-Beispiel-einer-Stoppuhr.html
Und den darin verlinkten Beitrag "Frage zur Lernkurve VHDL vs. Verilog"

von Matthias M. (Firma: privat) (quadraturencoder)


Lesenswert?

Toll, danke für die super schnellen Antworten.

Ein Mixed Mode Scope ist vorhanden (die Zeit die man damit spart ist gar 
nicht in Gold aufzuwiegen).

Ob nun Verilog oder VHDL werde ich nach ein paar Tutorials in diesen 
Sprachen entscheiden. Ich vermute mal, ich werde schnell merken, welche 
mir besser liegt. Die Entwicklerumgebung kann ja beides gleichermassen.

Was mich umgehauen hat ist der unglaublich niedrige Preis der MAX 3000A: 
für 1.60 Euro sogar in der Apotheke als Einzelstück, da muss man 
wirklich nicht lange überlegen.

Nochamls danke,

 - Matthias

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Matthias M. schrieb:
> Ob nun Verilog oder VHDL werde ich nach ein paar Tutorials in diesen
> Sprachen entscheiden.
Ein Tipp: fang frühzeitig mit der Simulation an.
Der Simulator ist der Debugger des FPGAs.
Im Simluator findest du strukturelle und systematische Fehler.
Mit dem Oszi findest du dann Umsetzungsprobleme oder Timingprobleme.
Aber wehe, dein Design liefe nicht mal in der Verhaltenssimulation (und 
du weißt das nicht) und du hast zusätzlich noch ein Timingproblem: 
du suchst dich an solchen überlagerten Fehlern dumm und tappig...

Dort geht es ganz von vorn los und dann kommt noch eine Testbench dazu:
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html

: Bearbeitet durch Moderator
von Matthias M. (Firma: privat) (quadraturencoder)


Lesenswert?

Guter Tip mit der Simulation. Timing hat in diesem Projekt noch keine 
Priorität. 19,2 kHz benötigt ja noch keine doppelt geschirmte Koax 
Kabel.

Ich bestelle dann gleich mal ein Experimentierboard ;-)

von Matthias M. (Firma: privat) (quadraturencoder)


Lesenswert?

Zwischenmeldung:

Nochmals Danke für die Hilfe soweit. Ich habe die Chips bekommen, 
Breakout-Platinen, und den USB Blaster. Quartus 13.0sp1 liess sich 
erträglich gut unter Parallels auf dem Mac installieren. Der Blaster 
meldet sich.

Auch das erste Verilog Programm habe ich nach etwas Hickhack 
programmiert bekommen. Morgen werde ich dann mal einen Chip auflöten und 
programmieren.

Bei dem Gedanken an meine früheren TTL-Gräber kommt mir das grauen.

Wo kann ich am sinnvollsten Fragen zu Verilog stellen? Hier im Forum? In 
einem neuen Thread? Oder lieber in einem ganz anderen Forum?

Ich habe eine recht gute Idee, was meine Schaltung können muss, habe 
aber noch viele Fragen.

von Klakx (Gast)


Lesenswert?

Matthias M. schrieb:
> Auch das erste Verilog Programm [..]
Seufz. Aber vielleicht findest du ja doch noch zu VHDL ;)

Matthias M. schrieb:
> Wo kann ich am sinnvollsten Fragen zu Verilog stellen? Hier im Forum? In
> einem neuen Thread? Oder lieber in einem ganz anderen Forum?

Hier in diesem Forum :)
Idealerweise in neuen Threads oder ganz kleine Sachen kannst auch hier 
noch reindrücken

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Matthias M. schrieb:
> Wo kann ich am sinnvollsten Fragen zu Verilog stellen? Hier im Forum?
> In einem neuen Thread? Oder lieber in einem ganz anderen Forum?
Natürlich kannst du Fragen zu Verilog auch hier stellen (probieren 
kostet nichts). Aber weil Verilog eher ausserhalb Europas verbreitet 
ist, wirst du evtl. in englischsprachigen/amerikanischen Foren leichter 
Unterstützung finden.

Nachdem du sowieso mit Quartus arbeitest, empfiehlt sich das Altera 
Forum:
http://alteraforums.com/forum/forumdisplay.php?f=70
Und dann noch:
http://www.edaboard.com/group128.html
http://www.edaboard.com/forum30.html

> In einem neuen Thread?
Ein Thread pro "Problem". Und natürlich ist es evtl. sinnvoll, einen 
"alten" Thread im neu zu beginnenden Thread zu verlinken, wenn dort 
bereits etwas Ahnliches diskutiert wurde.

von Matthias M. (Firma: privat) (quadraturencoder)


Lesenswert?

DANKE!

Ich habe den ersten Chip heute programmiert bekommen. Es war alles am 
Ende relativ einfach.

Und was soll ich Euch sagen: das ist ja wohl MEGAGEIL!

Die Schaltung, die ich im Kopf hatte war zwar simpel, aber hat auf 
Anhieb genau so funktioniert wie geplant. Und jetzt kann ich die 
Hardware noch erweitern, ohne nochmal den Lötkolben in die Hand zu 
nehmen!

Tausend Dank für Eure Starthilfe!

Als nächstes werde ich das selbe Problem noch einmal in VHDL lösen, um 
beide Sprachen sinnvoll vergleichen zu können. Danach geht's dann in die 
Tiefe.

 - Matthias

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Matthias M. schrieb:
> Als nächstes werde ich das selbe Problem noch einmal in VHDL lösen, um
> beide Sprachen sinnvoll vergleichen zu können.
Tu das. Und lass dich nicht vom akademisch geschwätzigen 
Beschreibungsstil aus Büchern und Tutorials in die Irre führen...
Siehe 
http://www.lothar-miller.de/s9y/archives/88-VHDL-vs.-Verilog-am-Beispiel-einer-Stoppuhr.html

Und fang auch gleich mit Testbenches und Simulationen an:
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html
Oder kurz: der Simulator ist der Debugger der Hardware...

: Bearbeitet durch Moderator
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.