DEVICE 20V8; TITLE 8 BIT BARREL SHIFTER IN A GAL20V8; NAME TRANSLATED FROM EXAMPLE IN LATTICE GAL HANDBOOK PAGE 5-32; SIGNATURE BARREL_8; REDUCE 0; /* INPUTS */ PIN 4 = D7; PIN 5 = D6; PIN 6 = D5; PIN 7 = D4; PIN 8 = D3; PIN 9 = D2; PIN 10 = D1; PIN 11 = D0; /* OUTPUTS */ PIN 22 = Q7; PIN 21 = Q6; PIN 20 = Q5; PIN 19 = Q4; PIN 18 = Q3; PIN 17 = Q2; PIN 16 = Q1; PIN 15 = Q0; /* CONTROL */ PIN 23 = S2; PIN 2 = S1; PIN 3 = S0; PIN 14 = RS; /* EQUATIONS */ Q0.D = !RS & ( !S2 & !S1 & !S0 & D0 /* SHIFT 0 PLACES */ | !S2 & !S1 & S0 & D7 /* SHIFT 1 PLACE */ | !S2 & S1 & !S0 & D6 /* SHIFT 2 PLACES */ | !S2 & S1 & S0 & D5 /* SHIFT 3 PLACES */ | S2 & !S1 & !S0 & D4 /* SHIFT 4 PLACES */ | S2 & !S1 & S0 & D3 /* SHIFT 5 PLACES */ | S2 & S1 & !S0 & D2 /* SHIFT 6 PLACES */ | S2 & S1 & S0 & D1 /* SHIFT 7 PLACES */ ); Q1.D = !RS & ( !S2 & !S1 & !S0 & D1 /* SHIFT 0 PLACES */ | !S2 & !S1 & S0 & D0 /* SHIFT 1 PLACE */ | !S2 & S1 & !S0 & D7 /* SHIFT 2 PLACES */ | !S2 & S1 & S0 & D6 /* SHIFT 3 PLACES */ | S2 & !S1 & !S0 & D5 /* SHIFT 4 PLACES */ | S2 & !S1 & S0 & D4 /* SHIFT 5 PLACES */ | S2 & S1 & !S0 & D3 /* SHIFT 6 PLACES */ | S2 & S1 & S0 & D2 ); /* SHIFT 7 PLACES */ Q2.D = !RS & ( !S2 & !S1 & !S0 & D2 /* SHIFT 0 PLACES */ | !S2 & !S1 & S0 & D1 /* SHIFT 1 PLACE */ | !S2 & S1 & !S0 & D0 /* SHIFT 2 PLACES */ | !S2 & S1 & S0 & D7 /* SHIFT 3 PLACES */ | S2 & !S1 & !S0 & D6 /* SHIFT 4 PLACES */ | S2 & !S1 & S0 & D5 /* SHIFT 5 PLACES */ | S2 & S1 & !S0 & D4 /* SHIFT 6 PLACES */ | S2 & S1 & S0 & D3 ); /* SHIFT 7 PLACES */ Q3.D = !RS & ( !S2 & !S1 & !S0 & D3 /* SHIFT 0 PLACES */ | !S2 & !S1 & S0 & D2 /* SHIFT 1 PLACE */ | !S2 & S1 & !S0 & D1 /* SHIFT 2 PLACES */ | !S2 & S1 & S0 & D0 /* SHIFT 3 PLACES */ | S2 & !S1 & !S0 & D7 /* SHIFT 4 PLACES */ | S2 & !S1 & S0 & D6 /* SHIFT 5 PLACES */ | S2 & S1 & !S0 & D5 /* SHIFT 6 PLACES */ | S2 & S1 & S0 & D4 ); /* SHIFT 7 PLACES */ Q4.D = !RS & ( !S2 & !S1 & !S0 & D4 /* SHIFT 0 PLACES */ | !S2 & !S1 & S0 & D3 /* SHIFT 1 PLACE */ | !S2 & S1 & !S0 & D2 /* SHIFT 2 PLACES */ | !S2 & S1 & S0 & D1 /* SHIFT 3 PLACES */ | S2 & !S1 & !S0 & D0 /* SHIFT 4 PLACES */ | S2 & !S1 & S0 & D7 /* SHIFT 5 PLACES */ | S2 & S1 & !S0 & D6 /* SHIFT 6 PLACES */ | S2 & S1 & S0 & D5 ); /* SHIFT 7 PLACES */ Q5.D = !RS & ( !S2 & !S1 & !S0 & D5 /* SHIFT 0 PLACES */ | !S2 & !S1 & S0 & D4 /* SHIFT 1 PLACE */ | !S2 & S1 & !S0 & D3 /* SHIFT 2 PLACES */ | !S2 & S1 & S0 & D2 /* SHIFT 3 PLACES */ | S2 & !S1 & !S0 & D1 /* SHIFT 4 PLACES */ | S2 & !S1 & S0 & D0 /* SHIFT 5 PLACES */ | S2 & S1 & !S0 & D7 /* SHIFT 6 PLACES */ | S2 & S1 & S0 & D6 ); /* SHIFT 7 PLACES */ Q6.D = !RS & ( !S2 & !S1 & !S0 & D6 /* SHIFT 0 PLACES */ | !S2 & !S1 & S0 & D5 /* SHIFT 1 PLACE */ | !S2 & S1 & !S0 & D4 /* SHIFT 2 PLACES */ | !S2 & S1 & S0 & D3 /* SHIFT 3 PLACES */ | S2 & !S1 & !S0 & D2 /* SHIFT 4 PLACES */ | S2 & !S1 & S0 & D1 /* SHIFT 5 PLACES */ | S2 & S1 & !S0 & D0 /* SHIFT 6 PLACES */ | S2 & S1 & S0 & D7 ); /* SHIFT 7 PLACES */ Q7.D = !RS & ( !S2 & !S1 & !S0 & D7 /* SHIFT 0 PLACES */ | !S2 & !S1 & S0 & D6 /* SHIFT 1 PLACE */ | !S2 & S1 & !S0 & D5 /* SHIFT 2 PLACES */ | !S2 & S1 & S0 & D4 /* SHIFT 3 PLACES */ | S2 & !S1 & !S0 & D3 /* SHIFT 4 PLACES */ | S2 & !S1 & S0 & D2 /* SHIFT 5 PLACES */ | S2 & S1 & !S0 & D1 /* SHIFT 6 PLACES */ | S2 & S1 & S0 & D0 ); /* SHIFT 7 PLACES */