PSHDL => Erste Schritte für "Arduino" in der FPGAwelt?

Gast #3469019
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?
#3469065
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.
Gast #3469213
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. :)
Moderator (Firma: Titel) Persönliche Seite #3469676
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"
Gast #3470654
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
#3470768
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...
Gast #3470876
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, ...)
#3472464
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.
(Firma: TUHH) #3529504
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
Gast #3596482
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,
Gast #3611263
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren