Forum: FPGA, VHDL & Co. PSHDL => Erste Schritte für "Arduino" in der FPGAwelt?


von mpt (Gast)


Lesenswert?

Habe gerade folgendes Video angeschaut:
http://media.ccc.de/browse/congress/2013/30C3_-_5186_-_en_-_saal_6_-_201312282145_-_programming_fpgas_with_pshdl_-_karsten_becker.html

Habe es zwar noch nicht selber probiert, aber es klingt sehr 
vielversprechend :)
Was haltet ihr davon?

von Gustl B. (-gb-)


Lesenswert?

Hab den Talk auch gesehen. Ich bin Anfänger und hab mir das jetzt auch 
nicht genauer angeguckt, aber in den ganzen Beispielen 
http://pshdl.org/pshdltutorial.html fehlt für mich z.B. bei welcher 
Taktflanke das passiert.

Und der Vortragende sagt da in dem Video, dass ihm VHDL viel zu 
geschwätzig ist, den genauen Wortlaut weiß ich leider nichtmehr. Ich mag 
geschwätzige Sprachen weil man bei denen auch fremden Quelltext schnell 
verstehen kann.

Also ich würde da abwarten und gucken ob sich das daraus entwickelt, 
also ob die großen Hersteller das mit unterstützen.

von mpt (Gast)


Lesenswert?

Gustl Buheitel schrieb:
> http://pshdl.org/pshdltutorial.html fehlt für mich z.B. bei welcher
> Taktflanke das passiert.

in dem Video wird gesagt, dass es standardmäßig auf steigende Flanke 
eingestellt ist, falls du das nicht haben willst dann kannst du in der 
"sensitivitiy list" explizit eine andere Flankensteuerung dazuschreiben 
:)

von Klaus (Gast)


Lesenswert?

mpt schrieb:
> falls du das nicht haben willst dann kannst du in der
> "sensitivitiy list" explizit eine andere Flankensteuerung dazuschreiben

Genau, weil "implizit ist besser als explizit!" Scheint für alles bei 
PSHDL zu gelten... ;-)

von Mac G. (macgyver0815)


Lesenswert?

Ist also quasi sowas wie Verilog?
;-)

(halb ernstgemeinte Frage warum nicht Verilog, da sieht die Syntax ja 
schon so ähnlich aus?)

von mpt (Gast)


Lesenswert?

Klaus schrieb:
> mpt schrieb:
>> falls du das nicht haben willst dann kannst du in der
>> "sensitivitiy list" explizit eine andere Flankensteuerung dazuschreiben
>
> Genau, weil "implizit ist besser als explizit!" Scheint für alles bei
> PSHDL zu gelten... ;-)

naja wenn man mit Arduino arbeitet, dann denkt ja ein unerfahrener 
Nutzer z.b. nicht an USART,... und benutzt stattdessen einfach 
serialprintline() oder ähnliches ohne zu wissen was intern abläuft.
So wie ich das sehe soll das ganze Projekt einfach einen guten Einstieg 
in die FPGAwelt einführen und daher auch der Vergleich mit Arduino 
meinerseits. :)

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


Lesenswert?

mpt schrieb:
> naja wenn man mit Arduino arbeitet, dann denkt ja ein unerfahrener
> Nutzer z.b. nicht an USART,... und benutzt stattdessen einfach
> serialprintline() oder ähnliches ohne zu wissen was intern abläuft.
Oder wie beim Auto fahren: es hat mir schon einiges Geld gespart, die 
möglichen Geräusche eines solchen Forbewegungsmittels zu kennen. Und 
rechtzeitig eine Werkstatt anzusteuern, wenn sich das ding seltsam 
anhörte.

Wenn jetzt aber jemand nicht weiß, was dieses "schaben", "kratzen" oder 
"poltern" zu bedeuten hat, dann fährt er einfach weiter, bis die Mühle 
vollends kaputt ist.
Und genau das ist es auch, wo dann die Arduino-Bibliotheks-Nutzer 
regelmäßig auf die Schnauze fallen: wenn irgendwas mal nicht so 
"mainstream"-mäßig abgehandelt werden kann. Oder wenn das Zeitbudget 
knapp ist, weil der Prozessor viel zu tun hat.

Und bei einem FPGA ist die Schicht zwischen "das geht ja einfach" bis 
"Mann ist das kompliziert" noch wesentlich dünner. Da hilft es überhaupt 
nichts, wenn sogar der Takt vor dem Anwender versteckt wird. Er wird 
hinterher nochmal "richtig" lernen müssen...

mpt schrieb:
> Was haltet ihr davon?
Du wirst Neuland betreten.
Wir hatten schon mal was im Beitrag "Elektronik-Stammtisch (Attraktor, Hamburg):FPGA/ PSHDL-Workshop"

von Strubi (Gast)


Lesenswert?

mpt schrieb:
> Habe es zwar noch nicht selber probiert, aber es klingt sehr
> vielversprechend :)
> Was haltet ihr davon?

Ich hab's nicht ausprobiert, aber ein kurzer Blick auf die Seite sagt 
mir schon: Lieber nicht. In der Cloud arbeiten und Designs quasi von 
Anfang an opensourcen? Nix für die industrielle Anwendung.
Von all den Versuchen, neue Ansätze zur HDL zu finden, finde ich bisher 
nur MyHDL einigermassen elegant, das hat sich jetzt u.a. auch für ein 
CPU-Design bewährt. Prinzipiell spricht nichts dagegen, eine 
Meta-Sprache herzunehmen, die einigermassen lesbares *und 
synthetisierbares* VHDL erzeugt - für den Lernzweck sowieso legitim, da 
darf auch ein Exot wie Robei meinetwegen mitspielen. Irgendwann ist aber 
der Zeitpunkt erreicht, wo man sich in die Knackpunkte seines komplexen 
Designs selbst "hineinhacken" muss, spätestens dort scheitern die 
Arduino-Style-Tools, wie Lothar mit der Fahrzeug-Analogie treffend 
erläutert hat.
Betreffend Skalierbarkeit vom schnellen Prototypen bis zum stabilen 
Design würde ich mich jedoch nur auf etablierte Sprachen einlassen, bei 
denen die Mechanismen der Code-Generierung (VHDL-Zwischencode oder 
Simulation/Ausführung) gut bekannt sind.

Grüsse,

- Strubi

von Mac G. (macgyver0815)


Lesenswert?

Strubi schrieb:
> In der Cloud arbeiten und Designs quasi von
> Anfang an opensourcen? Nix für die industrielle Anwendung.

Das fand ich auch sehr abschreckend. Aber man kann es wohl auch 
irgendwie lokal verwenden?

Da muss man der NSA Danken, die ist ein wunderbar anschauliches (für 
Manager geeignetes) Beispiel  dafür warum man nicht mit der Cloud 
arbeiten sollte.
Wenn nicht wegen der NSA, dann wegen den Chinesen...

von Gustl B. (-gb-)


Lesenswert?

Klar geht das lokal. Das im Netz ist nur zum Testen da.

von Strubi (Gast)


Lesenswert?

Gustl Buheitel schrieb:
> Klar geht das lokal. Das im Netz ist nur zum Testen da.

Mir hat sich auf die Schnelle nicht erschlossen:
- Wo ich die Tools downloaden kann
- Wie ich sie lokal zum Laufen bringe
- Was es an ernstzunehmenden Referenzapplikationen gibt
- Was davon nun OpenSource ist

Ich will nicht unken, aber es ist vielleicht etwas früh, das 'Produkt' 
als solches zu bewerben. Ich würde mir etwas mehr Dokumentation des 
Designkonzepts (Was ist neu? Was passiert unter der Motorhaube?) als die 
fancy Web 2.0 Javascript-Oberfläche wünschen.
Mich interessiert im Endeffekt nur eines: Wie kann ich schneller und mit 
weniger systematischen Stolperfallen Hardwarebeschreibung hinbekommen, 
verwalten, testen und automatisieren. Und um eine Illusion schon gleich 
vorweg zu töten: ein stabiles Entwicklungssystem mit Simulation, 
Transfer in synthetisierbare Sprache, usw. kann locker 20 Mannjahre 
Jahre reifen (z.B. MyHDL, GHDL, ...)

von Gustl B. (-gb-)


Lesenswert?

Du kannst Dir hier http://pshdl.org/pshdl_pkg.vhd das runterladen, dann 
sollte das wohl auch lokal gehen. Ich habe das nie probiert weil ich 
nicht viel davon halte wie ich schon oben geschrieben hatte. Ich mag 
lieber Sprachen wie VHDL, Pascal die geschwätzig und gut lesbar sind.

von Strubi (Gast)


Lesenswert?

Hi Gustl,

das ist ja erst mal nur ein VHDL-Modul, mit dem ich nix anfangen kann..

von Gustl B. (-gb-)


Lesenswert?

Ok, ich hab da auch nichts ausprobiert, für mich sah das aber so aus, 
als wären da drinnen alle PSHDL Funktionen definiert. Sprich wenn man 
das in sein Projekt mit reinbaut, dann werden damit die PSHDL Dinge 
automatisch in VHLD übersetzt.

Also wenn das dann wirklich nur Cloud ist, dann ist das ja noch 
schlimmer.

von Karsten B. (Firma: TUHH) (karstenb)


Lesenswert?

Moin,
Ich bin der Autor von PSHDL und kann gerne Fragen dazu beantworten. Die 
Motivation für PSHDL wurde ja schon richtig erkannt. Den Quellcode für 
PSHDL gibt es unter http://code.pshdl.org
Dort befindet sich auch die Kommandozeilen version ( 
http://code.pshdl.org/pshdl.commandline/wiki/Home ). Die Weboberfläche 
dient primär den Neulingen, nicht den Menschen die ernsthaft damit 
arbeiten wollen. (Wobei ich sie auch gerne für meine Anwendungen 
benutze). Zu den ernsthaften Anwendungen zählt z.B. unser Rover von 
http://ptscientists.com oder auch eine diskrete wavelet Kompression die 
im Rahmen einer Diplomarbeit geschrieben wurde.

Das die Dokumentation noch verbesserungswürdig ist steht außer Frage, 
leider ist es zeitlich bei mir recht eng, da ich ja auch meine 
Dissertation fertig bekommen muß. Dort interessiert usability leider 
quasi null. Aber ich bin für jedes Feedback sehr dankbar und werde es 
einarbeiten wenn ich dazu komme. Wer also Verbesserungsvorschläge hat 
kann mir einfach eine kurze Mail an feedback@pshdl.org schreiben.

Karsten

von Josef G. (bome) Benutzerseite


Lesenswert?


von Chef (Gast)


Lesenswert?

Ich warte ja noch darauf, dass sich die ersten Leute mit 
"PSHDL-Erfahrung" bei mir in der Firma bewerben. Ich sag euch eins, die 
werden direkt unter KEINE Erfahrung mit HDL einsortiert.

von Fpgakuechle K. (Gast)


Lesenswert?

Die Wurzel des Übel ist der grundfalsche didaktische Ansatz eine 
Hardwarebeschreibungssprache wie eine Programmiersprache oder in 
Analogie zu einer zu lehren. Das kommt bei den Anwender an als "das ist 
wie C auf dem Arduino, nur auf einem FPGA":

Kann aber so nicht gelingen, da man für FPGA Digitalentwurf 
(Kombinatorische Netzwerke, sequentielle Logik, synchrones design, 
Bufferstrukturen, FF-Arten, Computerarchitektur, SERDES, UART)  als 
Vorrausetzung kennen muß,
bevor man daran geht das in einer HDL umzusetzen.

Wer beim VHDL lernen Analogien zu C zieht hat m.E. verloren oder macht 
es sich unnötig schwer. Bspw.: "In C mache ich Schleifen mit for und 
inkrement, also mache ich in VHDL Zähler auch mit for, heisst ja auch 
for -loop".

So ist meines Erachtens die beste Art Hardware-design mit VHDL Anfängern 
nahe zu bringen, zu zeigen wie Computerkomponenten wie 
Zeichsatzgrafik/PS2-Interface/VGA-Controller/SPI-konfiguration aus 
ROM/RAM und Grundblöcken (Zähler, decoder,muxer, Schieberegister) 
aufgebaut sind. Und das nicht als 3 minuten Einstieg in der ersten 
Stunde, sondern als eigeneständigen Kursblock.

MfG,

von Fpgakuechle K. (Gast)


Lesenswert?

Josef G. schrieb:
> Gestern gefunden bei Heise
> 
http://www.heise.de/newsticker/meldung/PSHDL-Board-fuer-FPGA-Einsteiger-2156768.html

Interesant, diese Boards könnte man in einen extra-thread diskutieren.
Ebenso die heise Aktivitäten zu FPGA wie den Artikel in der letzten 
Hardware-Hacks.

MfG,

von G_a_s_t (Gast)


Lesenswert?

Ist es schön gemütlich da oben bei euch im Elfenbeinturm? Ich würde ja 
gerne zu euch kommen, aber ich bin Anfänger und kann nicht 20 Jahre 
herbeizaubern.
Die Pros hier kommen natürlich NUR mit C und Pascal an und nicht mit 
Assembler wie ein Uberpro. Aber warum? Weil es les- und wartbarer ist 
eventuell?

Und warum muss heutzutage alles ein "Produkt" sein oder industriellen 
Maßstäben genügen?

Vor wenigen Jahren wurde Bre Pettis für seinen Enthusiasmus bei 
DIY-3D-Druckern (noch viel stärker) ausgelacht und beschimpft von den 
Experten, dass das keine Zukunft haben KANN. Jetzt schon wird es sogar 
im Fernsehen (z.B. Galileo, Pro7 - jaja lacht mal) nur noch in einem 
Nebensatz erwähnt, wenn mal wieder jemand ein 3D-gedrucktes Gehäuse o.Ä. 
benutzt.

@Karsten
Danke für dein Projekt, mach weiter so und viel Erfolg bei der Kampagne 
zum Board.

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.