Forum: FPGA, VHDL & Co. Universelles Schieberegister


von Lajuja A. (lajuja)


Lesenswert?

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

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


Lesenswert?

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?

von Lajuja A. (lajuja)


Angehängte Dateien:

Lesenswert?

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 
;).

von ich (Gast)


Lesenswert?

>Es soll über 8-bit verfügen.

Braucht man für 8 Bit nicht auch acht FlipFlops?

von Lajuja A. (lajuja)


Lesenswert?

Ja wir wollen es aber erst mal mit 4 bit versuchen.

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


Lesenswert?

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...

von Hardware-Entwickler (Gast)


Lesenswert?

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...

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


Lesenswert?

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.

von Martin G. (Firma: Leckermittag.de) (morin)


Lesenswert?

> 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.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@  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

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


Lesenswert?

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
Noch kein Account? Hier anmelden.