Hallo an alle, wir haben ein Problem mit unserem technischen Projekt. (12. Klasse TG) Wir müssen ein universelles Schieberegister mit dem Lattice erstellen (ispLSI 1016E). Das SChieberegister muss umstellbar auf Seriell ein-Seriell aus, Parallel ein-Parallel aus, Seriell ein-Parallel aus, Parallel ein-Seriell aus, sein. Es soll über 8-bit verfügen. Es wird mit einer SChülerplatine dargestellt. Bisher haben wir mit einem auswahlbit die Umstellung bestimmt. (Se-Sa usw. ...) Wir haben versucht es zu programmieren, jedoch ohne Erfolg das es durchläuft. Falls jemand unser bisheruiges Programm sehen möchte folgt am Montag. Ich hoffe ihr könnt etwas mit den Infos anfangen. Bei fragen einfach melden. Liebe Grüße Lajuja
Lajuja Auwesch schrieb: > Wir haben versucht es zu programmieren In welcher Sprache? > Falls jemand unser bisheruiges Programm sehen möchte folgt am Montag. OHNE das Programm (oder besser "die Beschreibung") macht dieser Post wohl kaum einen Sinn... Oder was meinst du, wie sollte man dir jetzt helfen können?
Programmiersprache ist in ABEL. Dies ist unser gesamt Programm mit allen 4 Schieberichtungen: MODULE gesamt TITLE 'gesamt' Declarations d,c,b,a pin 3,4,5,6 istype'buffer,reg'; takt pin 11; sein pin 18; u4,u3,u2,u1 pin 41,42,43,44; v pin 40; ([v,u4,u3,u2,u1,d,c,b,a]:>[d,c,b,a]) "PePa" [0,1,0,0,0,0,0,0,0]:>[0,0,0,0]; [0,1,0,0,0,0,0,0,1]:>[0,0,0,1]; [0,1,0,0,0,0,0,1,0]:>[0,0,1,0]; [0,1,0,0,0,0,0,1,1]:>[0,0,1,1]; [0,1,0,0,0,0,1,0,0]:>[0,1,0,0]; [0,1,0,0,0,0,1,0,1]:>[0,1,0,1]; [0,1,0,0,0,0,1,1,0]:>[0,1,1,0]; [0,1,0,0,0,0,1,1,1]:>[0,1,1,1]; [1,1,0,0,0,1,0,0,0]:>[1,0,0,0]; [1,1,0,0,0,1,0,0,1]:>[1,0,0,1]; [1,1,0,0,0,1,0,1,0]:>[1,0,1,0]; [1,1,0,0,0,1,0,1,1]:>[1,0,1,1]; [1,1,0,0,0,1,1,0,0]:>[1,1,0,0]; [1,1,0,0,0,1,1,0,1]:>[1,1,0,1]; [1,1,0,0,0,1,1,1,0]:>[1,1,1,0]; [1,1,0,0,0,1,1,1,1]:>[1,1,1,1]; "PeSa" [0,0,1,0,0,0,0,0,0]:>[0,0,0,0]; [0,0,1,0,0,0,0,0,1]:>[0,0,0,1]; [0,0,1,0,0,0,0,1,0]:>[0,0,1,0]; [0,0,1,0,0,0,0,1,1]:>[0,0,1,1]; [0,0,1,0,0,0,1,0,0]:>[0,1,0,0]; [0,0,1,0,0,0,1,0,1]:>[0,1,0,1]; [0,0,1,0,0,0,1,1,0]:>[0,1,1,0]; [0,0,1,0,0,0,1,1,1]:>[0,1,1,1]; [1,0,1,0,0,1,0,0,0]:>[1,0,0,0]; [1,0,1,0,0,1,0,0,1]:>[1,0,0,1]; [1,0,1,0,0,1,0,1,0]:>[1,0,1,0]; [1,0,1,0,0,1,0,1,1]:>[1,0,1,1]; [1,0,1,0,0,1,1,0,0]:>[1,1,0,0]; [1,0,1,0,0,1,1,0,1]:>[1,1,0,1]; [1,0,1,0,0,1,1,1,0]:>[1,1,1,0]; [1,0,1,0,0,1,1,1,1]:>[1,1,1,1]; "SePa" [0,0,0,1,0,0,0,0,0]:>[0,0,0,0]; [0,0,0,1,0,0,0,0,1]:>[0,0,0,1]; [0,0,0,1,0,0,0,1,0]:>[0,0,1,0]; [0,0,0,1,0,0,0,1,1]:>[0,0,1,1]; [0,0,0,1,0,0,1,0,0]:>[0,1,0,0]; [0,0,0,1,0,0,1,0,1]:>[0,1,0,1]; [0,0,0,1,0,0,1,1,0]:>[0,1,1,0]; [0,0,0,1,0,0,1,1,1]:>[0,1,1,1]; [1,0,0,1,0,1,0,0,0]:>[1,0,0,0]; [1,0,0,1,0,1,0,0,1]:>[1,0,0,1]; [1,0,0,1,0,1,0,1,0]:>[1,0,1,0]; [1,0,0,1,0,1,0,1,1]:>[1,0,1,1]; [1,0,0,1,0,1,1,0,0]:>[1,1,0,0]; [1,0,0,1,0,1,1,0,1]:>[1,1,0,1]; [1,0,0,1,0,1,1,1,0]:>[1,1,1,0]; [1,0,0,1,0,1,1,1,1]:>[1,1,1,1]; Equations a.clk=takt; b.clk=takt; c.clk=takt; d.clk=takt; "SeSa" a.d=sein; b.d=a.q; c.d=b.q; d.d=c.q; END Vielleicht hilft euch das ein bisschen weiter uns irgendwie zu helfen ;).
>Es soll über 8-bit verfügen.
Braucht man für 8 Bit nicht auch acht FlipFlops?
Lajuja Auwesch schrieb: > wir haben ein Problem mit unserem technischen Projekt. (12. Klasse TG) Lajuja Auwesch schrieb: > Programmiersprache ist in ABEL. Ich fass es nicht... Das Ganze spielt sich doch hoffentlich im Fach "Geschichte, spätes Mittelalter" ab? Es ist ausgemachter Blödsinn, mit ausgestrobenen Beschreibungssparchen wie ABEL herumzubasteln. Nur so zur allgemeinen Info: Welche Schule ist das? Leider kann ich euch nicht helfen, weil ich das schon seit 20 Jahren nicht mehr gesehen habe. Siehe auch den Beitrag "Ampelsteuerung mit Abel" Da gibts einen Link zu einem Tutorial...
Lothar Miller schrieb: > Ich fass es nicht... > Das Ganze spielt sich doch hoffentlich im Fach "Geschichte, spätes > Mittelalter" ab? Es ist ausgemachter Blödsinn, mit ausgestrobenen > Beschreibungssparchen wie ABEL herumzubasteln. Ach Lothar, komm mal von Deinem hohen Ross runter. Was ist wohl das Ziel dieses Projektes in einer Schule? Geht es um irgendwelche Prinzipien und absolute Basics-Grundlagen oder sollen da zukünftige FPGA-Experten ausgebildet werden? Was ist an ABEL so schlimm? Es ist wunderbar einfach und simpel. Sollen die Schüler erstmal zwei Monate damit verbringen die Tool-Chain eines FPGAs und das geschwätzige VHDL lernen? So ungefähr keiner dieser Schüler drüfte jemals wieder in seinem Leben mit programmierbarer Logik zu tun haben. Und wenn doch, wird ihn die Erfahrung mit ABEL in der 12. Klasse bereichern anstatt ihm das Erlernen von VHDL oder Verilog zu erschweren. Mit was man Grundlagen und Prinzipien erlernt, ist piep-egal! Einfach mal ein wenig gelassener über den eigenen Tellerrand schauen...
Hardware-Entwickler schrieb: > Ach Lothar, komm mal von Deinem hohen Ross runter. Warum sollte ich? Ich sitze da ganz gut... ;-) > Und wenn doch, wird ihn die Erfahrung mit ABEL in der 12. Klasse > bereichern anstatt ihm das Erlernen von VHDL oder Verilog zu erschweren. Gilt das dann analog auch für Fortran/Cobol und C/Java? > Was ist wohl das Ziel dieses Projektes in einer Schule? Wenn einer durch diesen unsäglichen Lehrplan von programmierbarer Logik abgeschreckt wird, dann finde ich das schade. Ich traue mir zu (und habe das auch schon geschafft), innerhalb kurzer Zeit das Interesse zu wecken und junge Erwachsene von diesem Thema zu begeistern. In einer allgemeinbildenden Schule darf ich ruhig die urschleimigsten Basics weglassen und als gegeben voraussetzen. Da wird auch nicht der Transistor bis ins letzte Atom zerpflückt. Und wenn einer hinterher E-Technik studiert, dann bekommt er das schon beigebogen... Und damit ergibt sich: > Sollen die Schüler erstmal zwei Monate damit verbringen die Tool-Chain > eines FPGAs und das geschwätzige VHDL lernen? 1. Die Toolchain kann in einem Tag gelernt werden. 2. Hier geht es um ein kleines CPLD. 3. Und so ein Schieberegister schreibe ich in 10 Zeilen VHDL-Code hin. Ich muss ja nicht jeden Synthese-Schalter und dessen Auswrikungen kennen und ich muß nicht ein CPLD/FPGA bis in den hintersten Winkel beherrschen, nur um ein Schieberegister zu bauen. > Einfach mal ein wenig gelassener über den eigenen Tellerrand schauen... Tut mir leid. Beim Thema "Schulbildung" kann ich nicht gelassen bleiben.
> Mit was man Grundlagen und Prinzipien erlernt, ist piep-egal!
Kleiner Tipp: Motivation. Die spielt beim Lernen eine sehr große Rolle,
auch wenn viele sogenannte "Lehrer" das nicht wahrhaben wollen.
Und bei solchen Tabellen wie oben beschrieben geht die Motivation sehr
schnell verloren.
Ich vermisse vor allem die bidirektionalen parallelen Anschlüsse. Oder sollen die Paralleleingänge getrennt von den Ausgängen sein? Ich habe mal mit dem Vorgänger 1016 (ohne E) gearbeitet, groß genug für 8 Bit sollte es sein mit 64 D-Flipflops. Man kann auch in Abel mit State-machine Gleichungen arbeiten, das wäre eine Alternative zu der Wahrheitstabelle.
@ Lothar Miller (lkmiller) Benutzerseite >Tut mir leid. Beim Thema "Schulbildung" kann ich nicht gelassen bleiben. Soll ich dem Don Quichote noch eine Windmühle bauen? In meinem Studium vor etwas mehr als 10 Jahren (exakt, 1999) hatten wir auch Abel für die GAL(!) Programmierung. Aber "Hardware-Entwickler" hat IMO recht, auch mit Abel kann man die Grundlagen gut vermitteln, obige Tabellen kann man sowohl in VHDL oder ABEL schreiben, der Aufwand und das Aussehen sind ähnlich. Und auch in Abel kann man das besser und kompakter schreiben. Aber bei 4 Bit, die man ja in den Grundlagen immer noch per Wahrheitstabelle/KV-Diagramm kanonisch disjunktive Normalform beackert, kann man das schon mal so hinschreiben. MFG Falk Ich würde sogar soweit gehen, dass in dieser Lernstufe es DRINGEND geboten ist, sowohl mit einem Gatterschaltplan ALS AUCH der HDL-Beschreibung zu arbeiten, damit die Leute WIRKLICH kapieren, wie das funktioniert. Sonst kriegt man am Ende alles Java-Nasen, die HDL machen wollen und für ne blinkende LED ein Virtex6 brauchen 8-0
Falk Brunner schrieb: > Aber bei 4 Bit, die man ja in den Grundlagen immer noch per > Wahrheitstabelle/KV-Diagramm kanonisch disjunktive Normalform beackert, > kann man das schon mal so hinschreiben. Schon, nur sollte dann anschliessend mit einem VHDL/Verilog Beispiel gezeigt werden, wie man das heutzutage macht. Und du würdest ja auch diesen logischen Schritt tun... > mit einem Gatterschaltplan ALS AUCH der HDL-Beschreibung zu arbeiten Blöd nur, dass ich mir sicher bin, dass das "ALS AUCH" auf der Strecke bleiben wird... :-/ > In meinem Studium vor etwas mehr als 10 Jahren (exakt, 1999) hatten > wir auch Abel für die GAL(!) Programmierung. Ich weiß nicht, was wir in meinem Studium hatten, aber es hat mich eigentlich erst mal von der programmierbaren Logik abgeschreckt. Damals war das dann so, dass ich die Ideen hatte, wie etwas aufzubauen war, und meine beiden Kommilitonen haben sich mit der Beschreibung herumgeärgert. Das nannte sich dann Symbiose... ;-) > in dieser Lernstufe Würde ich vorrangig den Spass an der Technik herausstellen. Auf einem TG sind schliesslich auch noch potentielle Maschinenbauer und Statiker und sonstwer... Kompliziert werden mit dem ganzen drumrum darf das dann ruhig im Studium. Und wenn schon ein Beispiel, dann wenigstens was, wo man was sieht. > ein universelles Schieberegister mit dem Lattice (ispLSI 1016E) gehört für mich nicht unbedingt zu dieser Kategorie... Lauflichter und PWM für Leds schon eher.
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.