Hallo, ich bin neben synchronem Design auch noch damit beschäftigt, "Jemandem" (eine einzige Person!) eine FPGA-Einführung zu geben. Ich habe den Themenkomplex zwar noch nicht mal ansatzweise durchdrungen, aber das ist unnötig. Es geht nur um darum, eine Vorstellung zu vermitteln, wie ein in C geschriebener Algorithmus in Hardware "gegossen" werden kann -- und natürlich dem "Big Picture". Meine Vorstellung ist, dass ich Folien erstelle und dann damit ein Video. Das Video nehme ich mit "CamStudio" (Windows) auf, dass einfach den Bildschirm sampelt und dann in eine Datei schreibt (mit Ton). Ich nehme quasi eine "Trockenübung" auf. Was haltet ihr von der Vorgehensweise? Live bringt eine Präsentation zwar mehr, allerdings ist "Jemand" schon viel beschäftigt. Das Video könnte man dann öfters anschauen bzw. mal "die Zeit zurückdrehen". Es gibt zwar tonnenweise Material im Netz, aber ich habe hier die Möglichkeit, mein Wissen zu testen (nach dem Motto: "Wenn ich es erklären kann, dann habe ich es verstanden"). Ausserdem kann ich die Folien auf das Einsatzgebiet/die Algorithmen maßschneidern. -- stefan
Stefan, Hallo, > unnötig. Es geht nur um darum, eine Vorstellung zu vermitteln, wie ein > in C geschriebener Algorithmus in Hardware "gegossen" werden kann -- und > natürlich dem "Big Picture". Ich glaube ja die zündende Erkenntnis ist, dass es immer einfach nur um kombinatorische Logik zwischen FFs geht. Dann ist auch direkt klar, dass man mehr in "Data-Flow" als in "Control-Flow" denken muss. Zunaechst wuerde ich wohl einige Konstrukte fuer kombinatorische Logik vorstellen -- dazu auch immer direkt zeigen was daraus jeweils synth. wird. Also erstmal boolsche Operationen, einen MUXer, etc... Eventuell auch schonmal eine Komponente instantieren und die Signale verbinden -- da bin ich aber unschluessig. Aber eben zunaechst nur kombinatorische Sachen. Dann erklaeren wie man mit process (oder always @ falls verilog) ein FlipFlop baut. Anschliessend weitere Konstrukte in den Prozessen erklaeren, aber immer wieder darauf hinweisen, dass daraus kombinatorische Logik vor dem FF wird. Von da aus ist der Weg zu "was meint pipelinig"/"register balancing" "clock skrew" etc. nicht mehr weit. Ich habe einen solchen Aufbau mal fuer einen Vortrag benutzt -- und hatte Prinzipiell schon den Eindruck dass der sich bewaehrt hat. Habe beim Vorstellen der einzelnen Konstrukte etwas uebertrieben -- das sollte man nicht zu lang machen, sonst wird es langweilig. Die Zuhoerer haben anschliessen Fragen gestellt -- da hatte ich den Eindruck sie haben das Prinzip geblickt. > Meine Vorstellung ist, dass ich Folien erstelle und dann damit ein > Video. Das Video nehme ich mit "CamStudio" (Windows) auf, dass einfach > den Bildschirm sampelt und dann in eine Datei schreibt (mit Ton). Ich > nehme quasi eine "Trockenübung" auf. > > Was haltet ihr von der Vorgehensweise? Ich halte das fuer eine sehr gute Idee. IMHO fehlt sowas. Moechtest du das ehr allgemein machen, oder direkt auf ein Entwicklertool festgelegt? Also direkt mit ISE oder Quatus? j.
Tipp: Gab es nicht vor wenigen Monaten in der ELEKTOR einen FPGA-Kurs? Über 10 Kapitel/Monate, falls der nicht noch läuft.
Christian wrote: > Tipp: > Gab es nicht vor wenigen Monaten in der ELEKTOR > einen FPGA-Kurs? > Über 10 Kapitel/Monate, falls der nicht noch läuft. Hier ist er http://www.elektor.de/Default.aspx?tabid=136 Dummerweise kostet jeder Artikel €1,30. Ausserdem verwenden die Quartus, und ich ISE. Aber ich werde die zwei kostenlosen Anleitungen auf jeden Fall mal durchlesen, Danke! Eventuell kaufe ich sogar den ersten Artikel. Joerg wrote: > Ich glaube ja die zündende Erkenntnis ist, dass es immer einfach nur um > kombinatorische Logik zwischen FFs geht. Dann ist auch direkt klar, dass > man mehr in "Data-Flow" als in "Control-Flow" denken muss. Ja, das muss irgendwie rauskommen. Ich hatte auch vor, ein kleines Beispielprojekt durchzugehen, in dem Rahmen kann ich das zeigen. > Dann erklaeren wie man mit process (oder always @ falls verilog) ein > FlipFlop baut. Anschliessend weitere Konstrukte in den Prozessen > erklaeren, aber immer wieder darauf hinweisen, dass daraus > kombinatorische Logik vor dem FF wird. Ich verwende VHDL. Hardwarebeschreibungssprachen sind Punkt 2, nach einem (sehr) kurzem Abriss über FPGA's. In diesem Rahmen werde ich wohl auch die generelle Struktur von dem erklären, was hinten herauskommt (Kombinatorik + FF's). > Von da aus ist der Weg zu "was meint pipelinig"/"register balancing" > "clock skrew" etc. nicht mehr weit. Pipelining muss in den Vortrag. Daneben will ich noch Richtung Parallelismus gehen und ein bisschen Computerarithmetik -- ein paar Tatsachen, z.B. den Zusammenhang zwischen Bitbreite und Fläche oder so was. > Ich habe einen solchen Aufbau mal fuer einen Vortrag benutzt -- und > hatte Prinzipiell schon den Eindruck dass der sich bewaehrt hat. Habe > beim Vorstellen der einzelnen Konstrukte etwas uebertrieben -- das > sollte man nicht zu lang machen, sonst wird es langweilig. Ich dachte so max. 15 Minuten pro Video. Wenn ich mit dem ersten fertig bin, stelle ich es online :) -- stefan
Noch ein FPGA Kurs. o:) Leider wieder mal einer, der nur die Umsetzung in Logik und die Sprachelemente erklärt :-( Nötig wäre jedoch VORHER erstmal ein Kurs, der das Design und fie Funktion von Schaltungen erklärt - unabhängig, ob man sie in Logigbausteinen, in einem ASIC oder in einem FPGA baut. Heute kann jeder HDL - aber vernünftige Schaltungen sehe ich bei den jungen Leuten immer weniger.
Unbekannter wrote: > Noch ein FPGA Kurs. o:) Leider wieder mal einer, der nur die Umsetzung > in Logik und die Sprachelemente erklärt :-( Hmm. Ich selber habe mal einen Kurs gehört, in dem die VHDL-Konstrukte stundenlang knochentrocken runtergebetet wurden. Das will ich eigentlich vermeiden bzw. so kurz wie möglich halten. Das hat Joerg ja auch angesprochen. > Nötig wäre jedoch VORHER erstmal ein Kurs, der das Design und fie > Funktion von Schaltungen erklärt - unabhängig, ob man sie in > Logigbausteinen, in einem ASIC oder in einem FPGA baut. Was genau meinst du mit "Schaltungen"? Auf welcher Ebene würdest du das machen? > Heute kann jeder HDL - aber vernünftige Schaltungen sehe ich bei den > jungen Leuten immer weniger. Das musst du mir näher erläutern. Wenn jeder HDL "kann", dann kann er doch den Code so bauen, dass ordentliche Schaltungen rauskommen. -- stefan
Ich denke, die Frage lief darauf hinaus, mit welcher Logik (egal wie realisiert) ein bestimmtes Problem am besten zu lösen ist. Aber das würde bestimmt den Umfang eines solchen Vortrages sprengen. Wobei ich mir, ohne das Vorhaben abzuwerten, unter einer FPGA-Einführung auch etwas anderes als kommentiertes Windows-Geklickere vorstelle. Jörg
@Unbekannter >Noch ein FPGA Kurs. o:) Leider wieder mal einer, der nur die Umsetzung >in Logik und die Sprachelemente erklärt :-( Das ist ja cuh der Sinn eines FPGA Kurses. >Nötig wäre jedoch VORHER erstmal ein Kurs, der das Design und fie >Funktion von Schaltungen erklärt - unabhängig, ob man sie in >Logigbausteinen, in einem ASIC oder in einem FPGA baut. Das ist ein Grundlagenkurs in Digitaltechnik. Klar, der sollte VOR einem FPGA-Kurs stehen. Das kommt aber scheinbar mehr und mehr aus der Mode. >Heute kann jeder HDL - aber vernünftige Schaltungen sehe ich bei den >jungen Leuten immer weniger. Genauso wie viel Java"Programmierer" sich für Programmierer halten . . . ;-) MfG Falk
Vielleicht noch etwas zur Zielsetzung: Die betreffende Person ist definitiv intelligent, wenn ich da mit Digitaltechnik ganz von vorne anfange, lacht die sich tot ;-) Aber ihr habt schon recht, das Wichtigste kann man ja wenigstens mal erwähnen, wenn man das Zeug nicht braucht, verschwindet es im Ultra-Langzeitgedächtnis ;-) Ich will das ganze auch sehr kurz halten, das wird keine Vorlesung, das wird eher ein "Überblick" -- für mehr werden die angepeilten 15 Minuten auch nicht reichen. Die Vorlesungen und Praktika von div. Universitäten sind bei weitem zu allgemein und zu umfangreich. -- stefan
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.