rendered paste bodyMODULE Counter
TITLE '3 bit Grey Code Counter'
CLK, !EN, !LD, !HOLD PIN;"
D3..D0 PIN;
Q3..Q0 PIN ISTYPE 'REG';
DIN = [D3..D0];
DOUT = [Q3..Q0];
Equations
[Q3..Q0].CLK = CLK;
[Q3..Q0].OE = EN;
WHEN LD THEN DOUT := DIN; ELSE
WHEN (HOLD) THEN DOUT = DOUT; ELSE
WHEN (DOUT == 0) THEN DOUT := 1; ELSE
WHEN (DOUT == 1) THEN DOUT := 3; ELSE
WHEN (DOUT == 3) THEN DOUT := 2; ELSE
WHEN (DOUT == 2) THEN DOUT := 6; ELSE
WHEN (DOUT == 6) THEN DOUT := 7; ELSE
WHEN (DOUT == 7) THEN DOUT := 5; ELSE
WHEN (DOUT == 5) THEN DOUT := 4; ELSE
WHEN (DOUT == 4) THEN DOUT := 0; ELSE
WHEN (DOUT >= 8) THEN DOUT := 0;
END
MODULE Decoder
TITLE '7Seg Decoder'
"CLK, !EN,
Q3, Q2, Q1, Q0 PIN;
!A, !B, !C, !D, !E, !F, !G PIN ISTYPE 'COM';
DOUT = [A,B,C,D,E,F,G];
DIN = [Q3,Q2,Q1,Q0];
equations
TRUTH_TABLE (DIN -> DOUT )
1 -> 48;
2 -> 109;
3 -> 121;
4 -> 51;
5 -> 91;
6 -> 95;
7 -> 112;
8 -> 127;
9 -> 115;
10 -> 119;
11 -> 31;
12 -> 78;
13 -> 61;
14 -> 79;
15 -> 71;
0 -> 126;
END