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.
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
:)
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... ;-)
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. :)
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"
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
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...
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, ...)
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.
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.
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
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.
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,
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.