// Datei: elektr_wuerfel_ohnedek.abl
// Autor: Sebastian Müll
// Datum: 30.05.11
MODULE Elektr_Wuerfel
TITLE 'Elektronischer Würfel - Lösung ohne Dokodierer'
DECLARATIONS
// Eingabe Pins
Clk pin 88;
Btn pin 15;
Res pin 17;
// Flipflops
q0 pin istype 'REG,BUFFER';
q1 pin istype 'REG,BUFFER';
q2 pin istype 'REG,BUFFER';
q3 pin istype 'REG,BUFFER';
d0 pin 58 istype 'REG,BUFFER';
d1 pin 59 istype 'REG,BUFFER';
d2 pin 60 istype 'REG,BUFFER';
d3 pin 61 istype 'REG,BUFFER';
// Enable (pin 91) muss, mittels Jumper,
// mit pin 5V verbunden werden für Stromversorgung
// per USB
En pin 91 istype 'com';
EQUATIONS
// Enable aktivieren um Würfelplatine zu aktivieren
En = 1;
// Zähler (zählt im Würfelcode)
q0.d = !q0.q;
q0.clk = Clk;
q0.ar = Res;
q1.d = (q3.q $ q2.q) & (q1.q # q0.q);
q1.clk = Clk;
q1.ar = Res;
q2.d = q1.q & q0.q;
q2.clk = Clk;
q2.ar = Res;
q3.d = !q2.q;
q3.clk = Clk;
q3.ar = Res;
// Speicher bis zum nächsten Klick
d0.d = q0.q;
d0.clk = Clk & Btn;
d0.ar = Res;
d1.d = q1.q;
d1.clk = Clk & Btn;
d1.ar = Res;
d2.d = q2.q;
d2.clk = Clk & Btn;
d2.ar = Res;
d3.d = q3.q;
d3.clk = Clk & Btn;
d3.ar = Res;
END