Previous 199869 Revisions Next

r18404 Wednesday 10th October, 2012 at 10:33:40 UTC by Miodrag Milanović
Refactored the code in jedutil to support the  viewing of a GAL16V8 device
and added a new command line option of "-viewlist" which will print out a list
of all the devices that can be viewed in human readable logic equations. 
Also updated the jedutil regression test to support passing in an additional argument of "debug" to print out a detailed log.  Also moved the jedutil regression test
data into separate directories composed of the device's name to make things
more organized. [Kevin Eshbach]
[src/regtests/jedutil]jedtest.wsf
[src/regtests/jedutil/baseline]pal10h8.txt pal10l8.txt pal12h6.txt pal12l6.txt pal14h4.txt pal14l4.txt pal16h2.txt pal16l2.txt pal16l8.txt pal20l10.txt pal20l8.txt
[src/regtests/jedutil/baseline/gal16v8]pal10h8-to-gal16v8.txt* pal10l8-to-gal16v8.txt* pal12h6-to-gal16v8.txt* pal12l6-to-gal16v8.txt* pal14h4-to-gal16v8.txt* pal14l4-to-gal16v8.txt* pal16h2-to-gal16v8.txt* pal16l2-to-gal16v8.txt* pal16l8-to-gal16v8.txt* pal16r4-to-gal16v8.txt* pal16r6-to-gal16v8.txt* pal16r8-to-gal16v8.txt*
[src/regtests/jedutil/baseline/pal10h8]pal10h8.txt*
[src/regtests/jedutil/baseline/pal10l8]pal10l8.txt*
[src/regtests/jedutil/baseline/pal12h6]pal12h6.txt*
[src/regtests/jedutil/baseline/pal12l6]pal12l6.txt*
[src/regtests/jedutil/baseline/pal14h4]pal14h4.txt*
[src/regtests/jedutil/baseline/pal14l4]pal14l4.txt*
[src/regtests/jedutil/baseline/pal16c1]pal16c1.txt*
[src/regtests/jedutil/baseline/pal16h2]pal16h2.txt*
[src/regtests/jedutil/baseline/pal16l2]pal16l2.txt*
[src/regtests/jedutil/baseline/pal16l8]pal16l8.txt*
[src/regtests/jedutil/baseline/pal16r4]pal16r4.txt*
[src/regtests/jedutil/baseline/pal16r6]pal16r6.txt*
[src/regtests/jedutil/baseline/pal16r8]pal16r8.txt*
[src/regtests/jedutil/baseline/pal20l10]pal20l10.txt*
[src/regtests/jedutil/baseline/pal20l8]pal20l8.txt*
[src/regtests/jedutil/baseline/pal20r4]pal20r4.txt*
[src/regtests/jedutil/baseline/pal20r6]pal20r6.txt*
[src/regtests/jedutil/baseline/pal20r8]pal20r8.txt*
[src/regtests/jedutil/eqns]pal10h8.eqn pal10l8.eqn pal12h6.eqn pal12l6.eqn pal14h4.eqn pal14l4.eqn pal16h2.eqn pal16l2.eqn pal16l8.eqn pal20l10.eqn pal20l8.eqn
[src/regtests/jedutil/eqns/pal10h8]pal10h8.eqn*
[src/regtests/jedutil/eqns/pal10l8]pal10l8.eqn*
[src/regtests/jedutil/eqns/pal12h6]pal12h6.eqn*
[src/regtests/jedutil/eqns/pal12l6]pal12l6.eqn*
[src/regtests/jedutil/eqns/pal14h4]pal14h4.eqn*
[src/regtests/jedutil/eqns/pal14l4]pal14l4.eqn*
[src/regtests/jedutil/eqns/pal16c1]pal16c1.eqn*
[src/regtests/jedutil/eqns/pal16h2]pal16h2.eqn*
[src/regtests/jedutil/eqns/pal16l2]pal16l2.eqn*
[src/regtests/jedutil/eqns/pal16l8]pal16l8.eqn*
[src/regtests/jedutil/eqns/pal16r4]pal16r4.eqn*
[src/regtests/jedutil/eqns/pal16r6]pal16r6.eqn*
[src/regtests/jedutil/eqns/pal16r8]pal16r8.eqn*
[src/regtests/jedutil/eqns/pal20l10]pal20l10.eqn*
[src/regtests/jedutil/eqns/pal20l8]pal20l8.eqn*
[src/regtests/jedutil/eqns/pal20r4]pal20r4.eqn*
[src/regtests/jedutil/eqns/pal20r6]pal20r6.eqn*
[src/regtests/jedutil/eqns/pal20r8]pal20r8.eqn*
[src/regtests/jedutil/jeds]pal10h8.jed pal10l8.jed pal12h6.jed pal12l6.jed pal14h4.jed pal14l4.jed pal16h2.jed pal16l2.jed pal16l8.jed pal20l10.jed pal20l8.jed
[src/regtests/jedutil/jeds/gal16v8]pal10h8-to-gal16v8.jed* pal10l8-to-gal16v8.jed* pal12h6-to-gal16v8.jed* pal12l6-to-gal16v8.jed* pal14h4-to-gal16v8.jed* pal14l4-to-gal16v8.jed* pal16h2-to-gal16v8.jed* pal16l2-to-gal16v8.jed* pal16l8-to-gal16v8.jed* pal16r4-to-gal16v8.jed* pal16r6-to-gal16v8.jed* pal16r8-to-gal16v8.jed*
[src/regtests/jedutil/jeds/pal10h8]pal10h8.jed*
[src/regtests/jedutil/jeds/pal10l8]pal10l8.jed*
[src/regtests/jedutil/jeds/pal12h6]pal12h6.jed*
[src/regtests/jedutil/jeds/pal12l6]pal12l6.jed*
[src/regtests/jedutil/jeds/pal14h4]pal14h4.jed*
[src/regtests/jedutil/jeds/pal14l4]pal14l4.jed*
[src/regtests/jedutil/jeds/pal16c1]pal16c1.jed*
[src/regtests/jedutil/jeds/pal16h2]pal16h2.jed*
[src/regtests/jedutil/jeds/pal16l2]pal16l2.jed*
[src/regtests/jedutil/jeds/pal16l8]pal16l8.jed*
[src/regtests/jedutil/jeds/pal16r4]pal16r4.jed*
[src/regtests/jedutil/jeds/pal16r6]pal16r6.jed*
[src/regtests/jedutil/jeds/pal16r8]pal16r8.jed*
[src/regtests/jedutil/jeds/pal20l10]pal20l10.jed*
[src/regtests/jedutil/jeds/pal20l8]pal20l8.jed*
[src/regtests/jedutil/jeds/pal20r4]pal20r4.jed*
[src/regtests/jedutil/jeds/pal20r6]pal20r6.jed*
[src/regtests/jedutil/jeds/pal20r8]pal20r8.jed*
[src/tools]jedutil.c

trunk/src/regtests/jedutil/baseline/pal20l8.txt
r18403r18404
1/o15 = /i1 & i2 & /i3 & i4 & i11 +
2       /i1 & i2 & /i3 & /i5 & /i13 +
3       /i1 & i2 & /i3 & i6 & i14 +
4       /i1 & i2 & /i3 & /i7 & /i23 +
5       /i1 & i2 & /i3 & i8 & /i11 +
6       /i1 & i2 & /i3 & /i9 & i13 +
7       /o16
8o15.oe = o16
9
10/o16 = i1 & /i2 & /o17 +
11       i3 & /i4 +
12       i5 & /i6 +
13       i7 & /i8 +
14       i3 & i9 & o17 +
15       i1 & /i2 & i3 & /i4 & i5 & /i6 & i7 & /i8 & /i9 +
16       /i8 & /i9
17o16.oe = vcc
18
19/o17 = /o18 & /i23 +
20       i10 & o18 +
21       i9 +
22       i8 +
23       /i7 +
24       /i6 +
25       i5
26o17.oe = i4 & i5
27
28/o18 = i1 & /i2 & i3 & /i4 & /i8 & i23 +
29       i1 & i2 & i3 & /i4 & /i5 +
30       /i6 & i7 & i8 & i9 & i10 & /o19 +
31       i11 & i13 & i14 & i23 +
32       /i6 & i7 & i8 & i9 & i10 +
33       i3 & i13 & i14 & i23 +
34       i1 & i2 & i3 & /i4 & /i5 & o19
35o18.oe = i1 & i10 & i23
36
37/o19 = i9 & /i10 & i11 & i23 +
38       i9 +
39       /i10 +
40       i11 & o20 +
41       i23 +
42       i2 & /i10 & i23 +
43       i9 & i11
44o19.oe = i8 & /o20
45
46/o20 = o21 +
47       /i2 +
48       /i3 +
49       /i4 +
50       /i5 +
51       /i6 +
52       /i7 & /o21
53o20.oe = vcc
54
55/o21 = i1 & i8 +
56       /i14 +
57       i1 & /i5 & i8 +
58       i23 +
59       i1 & i8 & /i14 +
60       i13 +
61       i1 & i11
62o21.oe = i5 & i6
63
64/o22 = i1 & /i8 +
65       /i8 +
66       i1 +
67       /i10 +
68       /i23 +
69       i8 & /i13 +
70       /i11
71o22.oe = i3 & /i7
72
73
trunk/src/regtests/jedutil/baseline/pal16l8.txt
r18403r18404
1/o12 = i3 & i7 & /i9 +
2       i1 & o13 +
3       i3 +
4       /i6 +
5       i8 +
6       /i9 +
7       i7 & /o13
8o12.oe = vcc
9
10/o13 = i11 & /o14 +
11       /i9 +
12       i8 +
13       /i7 +
14       /i6 & o14 +
15       i5 +
16       i4
17o13.oe = i2 & o14
18
19/o14 = i1 & /o15 +
20       /i8 +
21       i1 & /i8 +
22       i1 & /i2 & /o15 +
23       /i2 +
24       i2 & /i8 & o15 +
25       i3
26o14.oe = vcc
27
28/o15 = i3 & i6 & i7 & /i11 +
29       i6 & o16 +
30       i3 & /o16 +
31       i7 +
32       /i11 +
33       i6 & i7 +
34       i7 & /i11
35o15.oe = vcc
36
37/o16 = /i3 & /o17 +
38       /i4 & /i11 +
39       /i3 & /i4 +
40       /i3 & i4 +
41       /i7 & o17 +
42       /i7 & /i11 +
43       i4
44o16.oe = vcc
45
46/o17 = i2 & i5 & i6 & /i7 +
47       i2 & /o18 +
48       i5 +
49       i6 +
50       /i7 & o18 +
51       i2 & /i7 +
52       i5 & i6
53o17.oe = /o16
54
55/o18 = /i2 & i5 & i6 & /i7 +
56       i3 & i6 & i7 & i11 +
57       i3 +
58       /i2 & /i7 +
59       i3 & i11 +
60       i5 & i6 & /i7 +
61       i7 & i11
62o18.oe = vcc
63
64/o19 = i5 & i6 & /i7 & i11 +
65       i3 & i6 & i7 +
66       i5 +
67       i6 +
68       i7 +
69       i11 +
70       /i7
71o19.oe = vcc
72
73
trunk/src/regtests/jedutil/baseline/pal20l10.txt
r18403r18404
1/o14 = /i11 +
2       i10 +
3       i9 & /o15
4o14.oe = o15
5
6/o15 = /i1 & i2 & /i3 & i4 & i11 +
7       /i1 & i2 & /i3 & /i5 & /i13 & o16 +
8       /i1 & i2 & /i3 & i6
9o15.oe = /o16
10
11/o16 = i1 & /i2 & /o17 +
12       i3 & /i4 +
13       i3 & i9 & o17
14o16.oe = vcc
15
16/o17 = /o18 +
17       i10 & o18 +
18       i9
19o17.oe = i4 & i5
20
21/o18 = i1 & /i2 & i3 & /i4 & /i8 +
22       /i6 & i7 & i8 & i9 & i10 & /o19 +
23       i1 & i2 & i3 & /i4 & /i5 & o19
24o18.oe = i1 & i10
25
26/o19 = i11 & o20 +
27       i2 & /i10 +
28       i9 & i11
29o19.oe = i8 & /o20
30
31/o20 = o21 +
32       /i6 +
33       /i7 & /o21
34o20.oe = vcc
35
36/o21 = i1 & i8 +
37       /i4 & /o22 +
38       o22
39o21.oe = i5 & i6
40
41/o22 = i1 & /i8 +
42       /i8 +
43       i1
44o22.oe = i3 & /i7
45
46/o23 = i7 +
47       i11 +
48       /i13
49o23.oe = vcc
50
51
trunk/src/regtests/jedutil/baseline/pal16h2.txt
r18403r18404
1o15 = i1 & i2 & i3 & /i4 & i5 & /i6 & i7 & i8 +
2      i9 +
3      /i11 +
4      i12 +
5      /i13 +
6      i14 +
7      /i17 +
8      i18 & /i19
9o15.oe = vcc
10
11o16 = i1 & i2 & /i3 & i4 & /i5 & i6 & i7 & i8 +
12      /i9 +
13      i11 +
14      /i12 +
15      i13 +
16      /i14 +
17      i17 +
18      /i18 & i19
19o16.oe = vcc
20
21
trunk/src/regtests/jedutil/baseline/pal14h4.txt
r18403r18404
1o14 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11 +
3      /i12 & /i13 +
4      i18 & /i19
5o14.oe = vcc
6
7o15 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8      i9 & /i11 +
9      i12 & i13 +
10      /i18 & i19
11o15.oe = vcc
12
13o16 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
14      /i9 & i11 +
15      i12 & /i13 +
16      /i18 & /i19
17o16.oe = vcc
18
19o17 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
20      i9 & i11 +
21      /i12 & i13 +
22      i18 & i19
23o17.oe = vcc
24
25
trunk/src/regtests/jedutil/baseline/pal12h6.txt
r18403r18404
1o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11 +
3      /i19 +
4      i12
5o13.oe = vcc
6
7o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8      /i9 & i11
9o14.oe = vcc
10
11o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
12      /i9 & /i11
13o15.oe = vcc
14
15o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
16      i9 & /i11
17o16.oe = vcc
18
19o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
20      /i9 & /i11
21o17.oe = vcc
22
23o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24      /i9 & i11 +
25      i19 +
26      /i12
27o18.oe = vcc
28
29
trunk/src/regtests/jedutil/baseline/pal10h8.txt
r18403r18404
1o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11
3o12.oe = vcc
4
5o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
6      /i9 & i11
7o13.oe = vcc
8
9o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
10      i9 & /i11
11o14.oe = vcc
12
13o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
14      /i9 & /i11
15o15.oe = vcc
16
17o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
18      /i9 & /i11
19o16.oe = vcc
20
21o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
22      i9 & /i11
23o17.oe = vcc
24
25o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
26      /i9 & i11
27o18.oe = vcc
28
29o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30      i11
31o19.oe = vcc
32
33
trunk/src/regtests/jedutil/baseline/pal10l8.txt
r18403r18404
1/o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       i9 & i11
3o12.oe = vcc
4
5/o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
6       /i9 & i11
7o13.oe = vcc
8
9/o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
10       i9 & /i11
11o14.oe = vcc
12
13/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
14       /i9 & /i11
15o15.oe = vcc
16
17/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
18       /i9 & /i11
19o16.oe = vcc
20
21/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
22       i9 & /i11
23o17.oe = vcc
24
25/o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
26       i11
27o18.oe = vcc
28
29/o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30       /i9
31o19.oe = vcc
32
33
trunk/src/regtests/jedutil/baseline/pal12l6.txt
r18403r18404
1/o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       i9 & i11 +
3       /i19 +
4       i12
5o13.oe = vcc
6
7/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8       /i9 & i11
9o14.oe = vcc
10
11/o15 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
12       i9 & i11
13o15.oe = vcc
14
15/o16 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
16       /i9 & /i11
17o16.oe = vcc
18
19/o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
20       /i9 & /i11
21o17.oe = vcc
22
23/o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24       /i9 & i11 +
25       i19 +
26       /i12
27o18.oe = vcc
28
29
trunk/src/regtests/jedutil/baseline/pal14l4.txt
r18403r18404
1/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       /i9 & i11 +
3       i12 & /i13 +
4       i18 & i19
5o14.oe = vcc
6
7/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
8       /i9 & /i11 +
9       /i12 & i13 +
10       /i18 & i19
11o15.oe = vcc
12
13/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
14       /i9 & /i11 +
15       i12 & i13 +
16       i18 & /i19
17o16.oe = vcc
18
19/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
20       /i9 & i11 +
21       /i12 & /i13 +
22       /i18 & /i19
23o17.oe = vcc
24
25
trunk/src/regtests/jedutil/baseline/pal16l2.txt
r18403r18404
1/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
2       /i9 +
3       /i11 +
4       /i12 +
5       i13 +
6       i14 +
7       i17 +
8       i18 & i19
9o15.oe = vcc
10
11/o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
12       i9 +
13       i11 +
14       i12 +
15       /i13 +
16       /i14 +
17       /i17 +
18       /i18 & /i19
19o16.oe = vcc
20
21
trunk/src/regtests/jedutil/baseline/gal16v8/pal16l2-to-gal16v8.txt
r0r18404
1/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
2       /i9 +
3       /i11 +
4       /i12 +
5       i13 +
6       i14 +
7       i17 +
8       i18 & i19
9o15.oe = vcc
10
11/o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
12       i9 +
13       i11 +
14       i12 +
15       /i13 +
16       /i14 +
17       /i17 +
18       /i18 & /i19
19o16.oe = vcc
20
trunk/src/regtests/jedutil/baseline/gal16v8/pal14l4-to-gal16v8.txt
r0r18404
1/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       /i9 & i11 +
3       i12 & /i13 +
4       i18 & i19
5o14.oe = vcc
6
7/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
8       /i9 & /i11 +
9       /i12 & i13 +
10       /i18 & i19
11o15.oe = vcc
12
13/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
14       /i9 & /i11 +
15       i12 & i13 +
16       i18 & /i19
17o16.oe = vcc
18
19/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
20       /i9 & i11 +
21       /i12 & /i13 +
22       /i18 & /i19
23o17.oe = vcc
24
trunk/src/regtests/jedutil/baseline/gal16v8/pal12l6-to-gal16v8.txt
r0r18404
1/o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       i9 & i11 +
3       /i19 +
4       i12
5o13.oe = vcc
6
7/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8       /i9 & i11
9o14.oe = vcc
10
11/o15 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
12       i9 & i11
13o15.oe = vcc
14
15/o16 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
16       /i9 & /i11
17o16.oe = vcc
18
19/o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
20       /i9 & /i11
21o17.oe = vcc
22
23/o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24       /i9 & i11 +
25       i19 +
26       /i12
27o18.oe = vcc
28
trunk/src/regtests/jedutil/baseline/gal16v8/pal10l8-to-gal16v8.txt
r0r18404
1/o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       i9 & i11
3o12.oe = vcc
4
5/o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
6       /i9 & i11
7o13.oe = vcc
8
9/o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
10       i9 & /i11
11o14.oe = vcc
12
13/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
14       /i9 & /i11
15o15.oe = vcc
16
17/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
18       /i9 & /i11
19o16.oe = vcc
20
21/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
22       i9 & /i11
23o17.oe = vcc
24
25/o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
26       i11
27o18.oe = vcc
28
29/o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30       /i9
31o19.oe = vcc
32
trunk/src/regtests/jedutil/baseline/gal16v8/pal16l8-to-gal16v8.txt
r0r18404
1/o12 = i3 & i7 & /i9 +
2       i1 & o13 +
3       i3 +
4       /i6 +
5       i8 +
6       /i9 +
7       i7 & /o13
8o12.oe = vcc
9
10/o13 = i11 & /o14 +
11       /i9 +
12       i8 +
13       /i7 +
14       /i6 & o14 +
15       i5 +
16       i4
17o13.oe = i2 & o14
18
19/o14 = i1 & /o15 +
20       /i8 +
21       i1 & /i8 +
22       i1 & /i2 & /o15 +
23       /i2 +
24       i2 & /i8 & o15 +
25       i3
26o14.oe = vcc
27
28/o15 = i3 & i6 & i7 & /i11 +
29       i6 & o16 +
30       i3 & /o16 +
31       i7 +
32       /i11 +
33       i6 & i7 +
34       i7 & /i11
35o15.oe = vcc
36
37/o16 = /i3 & /o17 +
38       /i4 & /i11 +
39       /i3 & /i4 +
40       /i3 & i4 +
41       /i7 & o17 +
42       /i7 & /i11 +
43       i4
44o16.oe = vcc
45
46/o17 = i2 & i5 & i6 & /i7 +
47       i2 & /o18 +
48       i5 +
49       i6 +
50       /i7 & o18 +
51       i2 & /i7 +
52       i5 & i6
53o17.oe = /o16
54
55/o18 = /i2 & i5 & i6 & /i7 +
56       i3 & i6 & i7 & i11 +
57       i3 +
58       /i2 & /i7 +
59       i3 & i11 +
60       i5 & i6 & /i7 +
61       i7 & i11
62o18.oe = vcc
63
64/o19 = i5 & i6 & /i7 & i11 +
65       i3 & i6 & i7 +
66       i5 +
67       i6 +
68       i7 +
69       i11 +
70       /i7
71o19.oe = vcc
72
trunk/src/regtests/jedutil/baseline/gal16v8/pal16r4-to-gal16v8.txt
r0r18404
1/o12 = /i2 & /i3 +
2       i4 & o13 +
3       i3 +
4       /i6 +
5       i8 +
6       /i9 +
7       i7 & /o13
8o12.oe = rf14
9
10/o13 = /rf14 +
11       /i9 +
12       i8 +
13       /i7 +
14       /i6 & /rf14 +
15       i5 +
16       i4
17o13.oe = i2 & rf14
18
19/rf14 := /rf15 +
20         /i8 +
21         i8 +
22         /i2 & /rf15 +
23         /i2 +
24         i2 & /i8 & rf15 +
25         /i4 +
26         i3
27rf14.oe = OE
28
29/rf15 := i3 & i6 & i7 +
30         i6 & rf16 +
31         i3 & /rf16 +
32         i7 +
33         /i4 +
34         i6 & i7 +
35         i4 & i7 +
36         /i2 & /i7
37rf15.oe = OE
38
39/rf16 := /i3 & /rf17 +
40         /i4 +
41         /i3 +
42         /i3 & i4 +
43         /i7 & rf17 +
44         /i7 +
45         i4 +
46         i2 & i3
47rf16.oe = OE
48
49/rf17 := i2 & i5 & i6 & /i7 +
50         i2 & /o18 +
51         i5 +
52         i6 +
53         /i7 & o18 +
54         i2 & /i7 +
55         i5 & i6 +
56         /i3
57rf17.oe = OE
58
59/o18 = /i2 & i5 & i6 & /i7 +
60       i3 & i6 & i7 +
61       i3 +
62       /i2 & /i7 +
63       /i3 +
64       i5 & i6 & /i7 +
65       i7
66o18.oe = vcc
67
68/o19 = i5 & i6 & /i7 +
69       i3 & i6 & i7 +
70       i5 +
71       i6 +
72       i7 +
73       /i4 +
74       /i7
75o19.oe = vcc
76
trunk/src/regtests/jedutil/baseline/gal16v8/pal16r6-to-gal16v8.txt
r0r18404
1/o12 = /i2 & /i3 +
2       i4 & rf13 +
3       i3 +
4       /i6 +
5       i8 +
6       /i9 +
7       i7 & /rf13
8o12.oe = rf14
9
10/rf13 := /rf14 +
11         /i9 +
12         i8 +
13         /i7 +
14         /i6 & /rf14 +
15         i5 & rf14 +
16         i4 +
17         /i2
18rf13.oe = OE
19
20/rf14 := /rf15 +
21         /i8 +
22         i8 +
23         /i2 & /rf15 +
24         /i2 +
25         i2 & /i8 & rf15 +
26         /i4 +
27         i3
28rf14.oe = OE
29
30/rf15 := i3 & i6 & i7 +
31         i6 & rf16 +
32         i3 & /rf16 +
33         i7 +
34         /i4 +
35         i6 & i7 +
36         i4 & i7 +
37         /i2 & /i7
38rf15.oe = OE
39
40/rf16 := /i3 & /rf17 +
41         /i4 +
42         /i3 +
43         /i3 & i4 +
44         /i7 & rf17 +
45         /i7 +
46         i4 +
47         i2 & i3
48rf16.oe = OE
49
50/rf17 := i2 & i5 & i6 & /i7 +
51         i2 & /rf18 +
52         i5 +
53         i6 +
54         /i7 & rf18 +
55         i2 & /i7 +
56         i5 & i6 +
57         /i3
58rf17.oe = OE
59
60/rf18 := /i2 & i5 & i6 & /i7 +
61         i3 & i6 & i7 +
62         i3 +
63         /i2 & /i7 +
64         /i3 +
65         i5 & i6 & /i7 +
66         i7 +
67         i4
68rf18.oe = OE
69
70/o19 = i5 & i6 & /i7 +
71       i3 & i6 & i7 +
72       i5 +
73       i6 +
74       i7 +
75       /i4 +
76       /i7
77o19.oe = vcc
78
trunk/src/regtests/jedutil/baseline/gal16v8/pal16r8-to-gal16v8.txt
r0r18404
1/rf12 := /i2 & /i3 +
2         i4 & rf13 +
3         i3 +
4         /i6 +
5         i8 +
6         /i9 +
7         i7 & /rf13 +
8         i5
9rf12.oe = OE
10
11/rf13 := /rf14 +
12         /i9 +
13         i8 +
14         /i7 +
15         /i6 & rf14 +
16         i5 +
17         i4 +
18         /i3
19rf13.oe = OE
20
21/rf14 := /rf15 +
22         /i8 +
23         i8 +
24         /i2 & /rf15 +
25         /i2 +
26         i2 & /i8 & rf15 +
27         /i4 +
28         i3
29rf14.oe = OE
30
31/rf15 := i3 & i6 & i7 +
32         i6 & rf16 +
33         i3 & /rf16 +
34         i7 +
35         /i4 +
36         i6 & i7 +
37         i4 & i7 +
38         /i2 & /i7
39rf15.oe = OE
40
41/rf16 := /i3 & /rf17 +
42         /i4 +
43         /i3 +
44         /i3 & i4 +
45         /i7 & rf17 +
46         /i7 +
47         i4 +
48         i2 & i3
49rf16.oe = OE
50
51/rf17 := i2 & i5 & i6 & /i7 +
52         i2 & /rf18 +
53         i5 +
54         i6 +
55         /i7 & rf18 +
56         i2 & /i7 +
57         i5 & i6 +
58         /i3
59rf17.oe = OE
60
61/rf18 := /i2 & i5 & i6 & /i7 +
62         i3 & i6 & i7 +
63         i3 & rf19 +
64         /i2 & /i7 +
65         /i3 & /rf19 +
66         i5 & i6 & /i7 +
67         i7 +
68         /i4
69rf18.oe = OE
70
71/rf19 := i5 & i6 & /i7 +
72         i3 & i6 & i7 +
73         i5 & rf12 +
74         i6 +
75         i7 +
76         /i4 & /rf12 +
77         /i7 +
78         i2
79rf19.oe = OE
80
trunk/src/regtests/jedutil/baseline/gal16v8/pal10h8-to-gal16v8.txt
r0r18404
1o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11
3o12.oe = vcc
4
5o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
6      /i9 & i11
7o13.oe = vcc
8
9o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
10      i9 & /i11
11o14.oe = vcc
12
13o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
14      /i9 & /i11
15o15.oe = vcc
16
17o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
18      /i9 & /i11
19o16.oe = vcc
20
21o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
22      i9 & /i11
23o17.oe = vcc
24
25o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
26      /i9 & i11
27o18.oe = vcc
28
29o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30      i11
31o19.oe = vcc
32
trunk/src/regtests/jedutil/baseline/gal16v8/pal12h6-to-gal16v8.txt
r0r18404
1o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11 +
3      /i19 +
4      i12
5o13.oe = vcc
6
7o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8      /i9 & i11
9o14.oe = vcc
10
11o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
12      /i9 & /i11
13o15.oe = vcc
14
15o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
16      i9 & /i11
17o16.oe = vcc
18
19o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
20      /i9 & /i11
21o17.oe = vcc
22
23o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24      /i9 & i11 +
25      i19 +
26      /i12
27o18.oe = vcc
28
trunk/src/regtests/jedutil/baseline/gal16v8/pal14h4-to-gal16v8.txt
r0r18404
1o14 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11 +
3      /i12 & /i13 +
4      i18 & /i19
5o14.oe = vcc
6
7o15 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8      i9 & /i11 +
9      i12 & i13 +
10      /i18 & i19
11o15.oe = vcc
12
13o16 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
14      /i9 & i11 +
15      i12 & /i13 +
16      /i18 & /i19
17o16.oe = vcc
18
19o17 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
20      i9 & i11 +
21      /i12 & i13 +
22      i18 & i19
23o17.oe = vcc
24
trunk/src/regtests/jedutil/baseline/gal16v8/pal16h2-to-gal16v8.txt
r0r18404
1o15 = i1 & i2 & i3 & /i4 & i5 & /i6 & i7 & i8 +
2      i9 +
3      /i11 +
4      i12 +
5      /i13 +
6      i14 +
7      /i17 +
8      i18 & /i19
9o15.oe = vcc
10
11o16 = i1 & i2 & /i3 & i4 & /i5 & i6 & i7 & i8 +
12      /i9 +
13      i11 +
14      /i12 +
15      i13 +
16      /i14 +
17      i17 +
18      /i18 & i19
19o16.oe = vcc
20
trunk/src/regtests/jedutil/baseline/pal20r8/pal20r8.txt
r0r18404
1/rf15 := i2 & i6 & i7 +
2         i6 & rf16 +
3         i3 & /rf16 +
4         i7 +
5         /i4 +
6         i6 & i7 +
7         i4 & i7 +
8         /i23
9rf15.oe = OE
10
11/rf16 := /i3 & /rf17 +
12         /i4 +
13         /i3 +
14         /i3 & i4 +
15         /i7 & rf17 +
16         /i7 +
17         i4 +
18         i23
19rf16.oe = OE
20
21/rf17 := /i2 +
22         /rf18 +
23         i5 +
24         i6 +
25         rf18 +
26         i4 +
27         /i10 +
28         /i23
29rf17.oe = OE
30
31/rf18 := /i2 & i5 & i6 & /i7 +
32         i3 & i6 & i7 +
33         i3 & rf19 +
34         /i2 & /i7 +
35         /i3 & /rf19 +
36         i5 & i6 & /i7 +
37         i7 +
38         /i11
39rf18.oe = OE
40
41/rf19 := i5 & i6 & /i7 +
42         i3 & i6 & i7 +
43         i5 & rf20 +
44         i6 +
45         i7 +
46         /i4 & /rf20 +
47         /i7 +
48         i10
49rf19.oe = OE
50
51/rf20 := i10 & rf17 +
52         /i11 +
53         i4 & /rf17 +
54         i2 +
55         /i6 & /i7 +
56         i8 +
57         /i9 +
58         rf22
59rf20.oe = OE
60
61/rf21 := /i8 +
62         /i2 & rf17 +
63         i11 +
64         /i10 +
65         rf15 +
66         /i14 +
67         /i3 +
68         i8 & i9 & /rf22
69rf21.oe = OE
70
71/rf22 := i14 +
72         /rf15 +
73         i3 & /rf21 +
74         i7 +
75         /i8 & rf21 +
76         i10 +
77         /i9 +
78         i14 & /rf15
79rf22.oe = OE
80
trunk/src/regtests/jedutil/baseline/pal16r4/pal16r4.txt
r0r18404
1/o12 = /i2 & /i3 +
2       i4 & o13 +
3       i3 +
4       /i6 +
5       i8 +
6       /i9 +
7       i7 & /o13
8o12.oe = rf14
9
10/o13 = /rf14 +
11       /i9 +
12       i8 +
13       /i7 +
14       /i6 & /rf14 +
15       i5 +
16       i4
17o13.oe = i2 & rf14
18
19/rf14 := /rf15 +
20         /i8 +
21         i8 +
22         /i2 & /rf15 +
23         /i2 +
24         i2 & /i8 & rf15 +
25         /i4 +
26         i3
27rf14.oe = OE
28
29/rf15 := i3 & i6 & i7 +
30         i6 & rf16 +
31         i3 & /rf16 +
32         i7 +
33         /i4 +
34         i6 & i7 +
35         i4 & i7 +
36         /i2 & /i7
37rf15.oe = OE
38
39/rf16 := /i3 & /rf17 +
40         /i4 +
41         /i3 +
42         /i3 & i4 +
43         /i7 & rf17 +
44         /i7 +
45         i4 +
46         i2 & i3
47rf16.oe = OE
48
49/rf17 := i2 & i5 & i6 & /i7 +
50         i2 & /o18 +
51         i5 +
52         i6 +
53         /i7 & o18 +
54         i2 & /i7 +
55         i5 & i6 +
56         /i3
57rf17.oe = OE
58
59/o18 = /i2 & i5 & i6 & /i7 +
60       i3 & i6 & i7 +
61       i3 +
62       /i2 & /i7 +
63       /i3 +
64       i5 & i6 & /i7 +
65       i7
66o18.oe = vcc
67
68/o19 = i5 & i6 & /i7 +
69       i3 & i6 & i7 +
70       i5 +
71       i6 +
72       i7 +
73       /i4 +
74       /i7
75o19.oe = vcc
76
trunk/src/regtests/jedutil/baseline/pal20l10/pal20l10.txt
r0r18404
1/o14 = /i11 +
2       i10 +
3       i9 & /o15
4o14.oe = o15
5
6/o15 = /i1 & i2 & /i3 & i4 & i11 +
7       /i1 & i2 & /i3 & /i5 & /i13 & o16 +
8       /i1 & i2 & /i3 & i6
9o15.oe = /o16
10
11/o16 = i1 & /i2 & /o17 +
12       i3 & /i4 +
13       i3 & i9 & o17
14o16.oe = vcc
15
16/o17 = /o18 +
17       i10 & o18 +
18       i9
19o17.oe = i4 & i5
20
21/o18 = i1 & /i2 & i3 & /i4 & /i8 +
22       /i6 & i7 & i8 & i9 & i10 & /o19 +
23       i1 & i2 & i3 & /i4 & /i5 & o19
24o18.oe = i1 & i10
25
26/o19 = i11 & o20 +
27       i2 & /i10 +
28       i9 & i11
29o19.oe = i8 & /o20
30
31/o20 = o21 +
32       /i6 +
33       /i7 & /o21
34o20.oe = vcc
35
36/o21 = i1 & i8 +
37       /i4 & /o22 +
38       o22
39o21.oe = i5 & i6
40
41/o22 = i1 & /i8 +
42       /i8 +
43       i1
44o22.oe = i3 & /i7
45
46/o23 = i7 +
47       i11 +
48       /i13
49o23.oe = vcc
50
trunk/src/regtests/jedutil/baseline/pal16r6/pal16r6.txt
r0r18404
1/o12 = /i2 & /i3 +
2       i4 & rf13 +
3       i3 +
4       /i6 +
5       i8 +
6       /i9 +
7       i7 & /rf13
8o12.oe = rf14
9
10/rf13 := /rf14 +
11         /i9 +
12         i8 +
13         /i7 +
14         /i6 & /rf14 +
15         i5 & rf14 +
16         i4 +
17         /i2
18rf13.oe = OE
19
20/rf14 := /rf15 +
21         /i8 +
22         i8 +
23         /i2 & /rf15 +
24         /i2 +
25         i2 & /i8 & rf15 +
26         /i4 +
27         i3
28rf14.oe = OE
29
30/rf15 := i3 & i6 & i7 +
31         i6 & rf16 +
32         i3 & /rf16 +
33         i7 +
34         /i4 +
35         i6 & i7 +
36         i4 & i7 +
37         /i2 & /i7
38rf15.oe = OE
39
40/rf16 := /i3 & /rf17 +
41         /i4 +
42         /i3 +
43         /i3 & i4 +
44         /i7 & rf17 +
45         /i7 +
46         i4 +
47         i2 & i3
48rf16.oe = OE
49
50/rf17 := i2 & i5 & i6 & /i7 +
51         i2 & /rf18 +
52         i5 +
53         i6 +
54         /i7 & rf18 +
55         i2 & /i7 +
56         i5 & i6 +
57         /i3
58rf17.oe = OE
59
60/rf18 := /i2 & i5 & i6 & /i7 +
61         i3 & i6 & i7 +
62         i3 +
63         /i2 & /i7 +
64         /i3 +
65         i5 & i6 & /i7 +
66         i7 +
67         i4
68rf18.oe = OE
69
70/o19 = i5 & i6 & /i7 +
71       i3 & i6 & i7 +
72       i5 +
73       i6 +
74       i7 +
75       /i4 +
76       /i7
77o19.oe = vcc
78
trunk/src/regtests/jedutil/baseline/pal16r8/pal16r8.txt
r0r18404
1/rf12 := /i2 & /i3 +
2         i4 & rf13 +
3         i3 +
4         /i6 +
5         i8 +
6         /i9 +
7         i7 & /rf13 +
8         i5
9rf12.oe = OE
10
11/rf13 := /rf14 +
12         /i9 +
13         i8 +
14         /i7 +
15         /i6 & rf14 +
16         i5 +
17         i4 +
18         /i3
19rf13.oe = OE
20
21/rf14 := /rf15 +
22         /i8 +
23         i8 +
24         /i2 & /rf15 +
25         /i2 +
26         i2 & /i8 & rf15 +
27         /i4 +
28         i3
29rf14.oe = OE
30
31/rf15 := i3 & i6 & i7 +
32         i6 & rf16 +
33         i3 & /rf16 +
34         i7 +
35         /i4 +
36         i6 & i7 +
37         i4 & i7 +
38         /i2 & /i7
39rf15.oe = OE
40
41/rf16 := /i3 & /rf17 +
42         /i4 +
43         /i3 +
44         /i3 & i4 +
45         /i7 & rf17 +
46         /i7 +
47         i4 +
48         i2 & i3
49rf16.oe = OE
50
51/rf17 := i2 & i5 & i6 & /i7 +
52         i2 & /rf18 +
53         i5 +
54         i6 +
55         /i7 & rf18 +
56         i2 & /i7 +
57         i5 & i6 +
58         /i3
59rf17.oe = OE
60
61/rf18 := /i2 & i5 & i6 & /i7 +
62         i3 & i6 & i7 +
63         i3 & rf19 +
64         /i2 & /i7 +
65         /i3 & /rf19 +
66         i5 & i6 & /i7 +
67         i7 +
68         /i4
69rf18.oe = OE
70
71/rf19 := i5 & i6 & /i7 +
72         i3 & i6 & i7 +
73         i5 & rf12 +
74         i6 +
75         i7 +
76         /i4 & /rf12 +
77         /i7 +
78         i2
79rf19.oe = OE
80
trunk/src/regtests/jedutil/baseline/pal16c1/pal16c1.txt
r0r18404
1/o15 = i1 & i2 +
2       i3 & i4 +
3       i5 & i6 +
4       i7 & i8 +
5       i9 & i11 +
6       i12 & i13 +
7       i14 & i17 +
8       i18 & i19 +
9       /i1 & /i2 +
10       /i3 & /i4 +
11       /i5 & /i6 +
12       /i7 & /i8 +
13       /i9 & /i11 +
14       /i12 & /i13 +
15       /i14 & /i17 +
16       /i18 & /i19
17o15.oe = vcc
18
19o16 = i1 & i2 +
20      i3 & i4 +
21      i5 & i6 +
22      i7 & i8 +
23      i9 & i11 +
24      i12 & i13 +
25      i14 & i17 +
26      i18 & i19 +
27      /i1 & /i2 +
28      /i3 & /i4 +
29      /i5 & /i6 +
30      /i7 & /i8 +
31      /i9 & /i11 +
32      /i12 & /i13 +
33      /i14 & /i17 +
34      /i18 & /i19
35o16.oe = vcc
36
trunk/src/regtests/jedutil/baseline/pal10h8/pal10h8.txt
r0r18404
1o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11
3o12.oe = vcc
4
5o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
6      /i9 & i11
7o13.oe = vcc
8
9o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
10      i9 & /i11
11o14.oe = vcc
12
13o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
14      /i9 & /i11
15o15.oe = vcc
16
17o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
18      /i9 & /i11
19o16.oe = vcc
20
21o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
22      i9 & /i11
23o17.oe = vcc
24
25o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
26      /i9 & i11
27o18.oe = vcc
28
29o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30      i11
31o19.oe = vcc
32
trunk/src/regtests/jedutil/baseline/pal16h2/pal16h2.txt
r0r18404
1o15 = i1 & i2 & i3 & /i4 & i5 & /i6 & i7 & i8 +
2      i9 +
3      /i11 +
4      i12 +
5      /i13 +
6      i14 +
7      /i17 +
8      i18 & /i19
9o15.oe = vcc
10
11o16 = i1 & i2 & /i3 & i4 & /i5 & i6 & i7 & i8 +
12      /i9 +
13      i11 +
14      /i12 +
15      i13 +
16      /i14 +
17      i17 +
18      /i18 & i19
19o16.oe = vcc
20
trunk/src/regtests/jedutil/baseline/pal14h4/pal14h4.txt
r0r18404
1o14 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11 +
3      /i12 & /i13 +
4      i18 & /i19
5o14.oe = vcc
6
7o15 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8      i9 & /i11 +
9      i12 & i13 +
10      /i18 & i19
11o15.oe = vcc
12
13o16 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
14      /i9 & i11 +
15      i12 & /i13 +
16      /i18 & /i19
17o16.oe = vcc
18
19o17 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
20      i9 & i11 +
21      /i12 & i13 +
22      i18 & i19
23o17.oe = vcc
24
trunk/src/regtests/jedutil/baseline/pal12h6/pal12h6.txt
r0r18404
1o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2      i9 & i11 +
3      /i19 +
4      i12
5o13.oe = vcc
6
7o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8      /i9 & i11
9o14.oe = vcc
10
11o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
12      /i9 & /i11
13o15.oe = vcc
14
15o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
16      i9 & /i11
17o16.oe = vcc
18
19o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
20      /i9 & /i11
21o17.oe = vcc
22
23o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24      /i9 & i11 +
25      i19 +
26      /i12
27o18.oe = vcc
28
trunk/src/regtests/jedutil/baseline/pal10l8/pal10l8.txt
r0r18404
1/o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       i9 & i11
3o12.oe = vcc
4
5/o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
6       /i9 & i11
7o13.oe = vcc
8
9/o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
10       i9 & /i11
11o14.oe = vcc
12
13/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
14       /i9 & /i11
15o15.oe = vcc
16
17/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
18       /i9 & /i11
19o16.oe = vcc
20
21/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
22       i9 & /i11
23o17.oe = vcc
24
25/o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
26       i11
27o18.oe = vcc
28
29/o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30       /i9
31o19.oe = vcc
32
trunk/src/regtests/jedutil/baseline/pal16l2/pal16l2.txt
r0r18404
1/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
2       /i9 +
3       /i11 +
4       /i12 +
5       i13 +
6       i14 +
7       i17 +
8       i18 & i19
9o15.oe = vcc
10
11/o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
12       i9 +
13       i11 +
14       i12 +
15       /i13 +
16       /i14 +
17       /i17 +
18       /i18 & /i19
19o16.oe = vcc
20
trunk/src/regtests/jedutil/baseline/pal14l4/pal14l4.txt
r0r18404
1/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       /i9 & i11 +
3       i12 & /i13 +
4       i18 & i19
5o14.oe = vcc
6
7/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
8       /i9 & /i11 +
9       /i12 & i13 +
10       /i18 & i19
11o15.oe = vcc
12
13/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
14       /i9 & /i11 +
15       i12 & i13 +
16       i18 & /i19
17o16.oe = vcc
18
19/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
20       /i9 & i11 +
21       /i12 & /i13 +
22       /i18 & /i19
23o17.oe = vcc
24
trunk/src/regtests/jedutil/baseline/pal12l6/pal12l6.txt
r0r18404
1/o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
2       i9 & i11 +
3       /i19 +
4       i12
5o13.oe = vcc
6
7/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
8       /i9 & i11
9o14.oe = vcc
10
11/o15 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
12       i9 & i11
13o15.oe = vcc
14
15/o16 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
16       /i9 & /i11
17o16.oe = vcc
18
19/o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
20       /i9 & /i11
21o17.oe = vcc
22
23/o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24       /i9 & i11 +
25       i19 +
26       /i12
27o18.oe = vcc
28
trunk/src/regtests/jedutil/baseline/pal20l8/pal20l8.txt
r0r18404
1/o15 = /i1 & i2 & /i3 & i4 & i11 +
2       /i1 & i2 & /i3 & /i5 & /i13 +
3       /i1 & i2 & /i3 & i6 & i14 +
4       /i1 & i2 & /i3 & /i7 & /i23 +
5       /i1 & i2 & /i3 & i8 & /i11 +
6       /i1 & i2 & /i3 & /i9 & i13 +
7       /o16
8o15.oe = o16
9
10/o16 = i1 & /i2 & /o17 +
11       i3 & /i4 +
12       i5 & /i6 +
13       i7 & /i8 +
14       i3 & i9 & o17 +
15       i1 & /i2 & i3 & /i4 & i5 & /i6 & i7 & /i8 & /i9 +
16       /i8 & /i9
17o16.oe = vcc
18
19/o17 = /o18 & /i23 +
20       i10 & o18 +
21       i9 +
22       i8 +
23       /i7 +
24       /i6 +
25       i5
26o17.oe = i4 & i5
27
28/o18 = i1 & /i2 & i3 & /i4 & /i8 & i23 +
29       i1 & i2 & i3 & /i4 & /i5 +
30       /i6 & i7 & i8 & i9 & i10 & /o19 +
31       i11 & i13 & i14 & i23 +
32       /i6 & i7 & i8 & i9 & i10 +
33       i3 & i13 & i14 & i23 +
34       i1 & i2 & i3 & /i4 & /i5 & o19
35o18.oe = i1 & i10 & i23
36
37/o19 = i9 & /i10 & i11 & i23 +
38       i9 +
39       /i10 +
40       i11 & o20 +
41       i23 +
42       i2 & /i10 & i23 +
43       i9 & i11
44o19.oe = i8 & /o20
45
46/o20 = o21 +
47       /i2 +
48       /i3 +
49       /i4 +
50       /i5 +
51       /i6 +
52       /i7 & /o21
53o20.oe = vcc
54
55/o21 = i1 & i8 +
56       /i14 +
57       i1 & /i5 & i8 +
58       i23 +
59       i1 & i8 & /i14 +
60       i13 +
61       i1 & i11
62o21.oe = i5 & i6
63
64/o22 = i1 & /i8 +
65       /i8 +
66       i1 +
67       /i10 +
68       /i23 +
69       i8 & /i13 +
70       /i11
71o22.oe = i3 & /i7
72
trunk/src/regtests/jedutil/baseline/pal20r4/pal20r4.txt
r0r18404
1/o15 = i2 & i6 & i7 +
2       i6 & o16 +
3       i3 & /o16 +
4       i7 +
5       /i4 +
6       i6 & i7 +
7       i4 & i7
8o15.oe = /i23
9
10/o16 = /i3 & /rf17 +
11       /i4 +
12       /i3 +
13       /i3 & i4 +
14       /i7 & rf17 +
15       /i7 +
16       i4
17o16.oe = i23
18
19/rf17 := /i2 +
20         /rf18 +
21         i5 +
22         i6 +
23         rf18 +
24         i4 +
25         /i10 +
26         /i23
27rf17.oe = OE
28
29/rf18 := /i2 & i5 & i6 & /i7 +
30         i3 & i6 & i7 +
31         i3 & rf19 +
32         /i2 & /i7 +
33         /i3 & /rf19 +
34         i5 & i6 & /i7 +
35         i7 +
36         /i11
37rf18.oe = OE
38
39/rf19 := i5 & i6 & /i7 +
40         i3 & i6 & i7 +
41         i5 & rf20 +
42         i6 +
43         i7 +
44         /i4 & /rf20 +
45         /i7 +
46         i10
47rf19.oe = OE
48
49/rf20 := i10 & rf17 +
50         /i11 +
51         i4 & /rf17 +
52         i2 +
53         /i6 & /i7 +
54         i8 +
55         /i9 +
56         o22
57rf20.oe = OE
58
59/o21 = /i8 +
60       /i2 & rf17 +
61       i11 +
62       /i10 +
63       o15 +
64       /i14 +
65       /i3
66o21.oe = i8 & i9 & /o22
67
68/o22 = i14 +
69       /o15 +
70       i3 & /o21 +
71       i7 +
72       /i8 & o21 +
73       i10 +
74       /i9
75o22.oe = i14 & /o15
76
trunk/src/regtests/jedutil/baseline/pal20r6/pal20r6.txt
r0r18404
1/o15 = i2 & i6 & i7 +
2       i6 & rf16 +
3       i3 & /rf16 +
4       i7 +
5       /i4 +
6       i6 & i7 +
7       i4 & i7
8o15.oe = /i23
9
10/rf16 := /i3 & /rf17 +
11         /i4 & /i23 +
12         /i3 +
13         /i3 & i4 +
14         /i7 & rf17 +
15         /i7 +
16         i4 +
17         i23
18rf16.oe = OE
19
20/rf17 := /i2 +
21         /rf18 +
22         i5 +
23         i6 +
24         rf18 +
25         i4 +
26         /i10 +
27         /i23
28rf17.oe = OE
29
30/rf18 := /i2 & i5 & i6 & /i7 +
31         i3 & i6 & i7 +
32         i3 & rf19 +
33         /i2 & /i7 +
34         /i3 & /rf19 +
35         i5 & i6 & /i7 +
36         i7 +
37         /i11
38rf18.oe = OE
39
40/rf19 := i5 & i6 & /i7 +
41         i3 & i6 & i7 +
42         i5 & rf20 +
43         i6 +
44         i7 +
45         /i4 & /rf20 +
46         /i7 +
47         i10
48rf19.oe = OE
49
50/rf20 := i10 & rf17 +
51         /i11 +
52         i4 & /rf17 +
53         i2 +
54         /i6 & /i7 +
55         i8 +
56         /i9 +
57         o22
58rf20.oe = OE
59
60/rf21 := /i8 +
61         /i2 & rf17 +
62         i11 +
63         /i10 +
64         o15 +
65         /i14 & /o22 +
66         /i3 +
67         /i5
68rf21.oe = OE
69
70/o22 = i14 +
71       /o15 +
72       i3 & /rf21 +
73       i7 +
74       /i8 & rf21 +
75       i10 +
76       /i9
77o22.oe = i14 & /o15
78
trunk/src/regtests/jedutil/baseline/pal16l8/pal16l8.txt
r0r18404
1/o12 = i3 & i7 & /i9 +
2       i1 & o13 +
3       i3 +
4       /i6 +
5       i8 +
6       /i9 +
7       i7 & /o13
8o12.oe = vcc
9
10/o13 = i11 & /o14 +
11       /i9 +
12       i8 +
13       /i7 +
14       /i6 & o14 +
15       i5 +
16       i4
17o13.oe = i2 & o14
18
19/o14 = i1 & /o15 +
20       /i8 +
21       i1 & /i8 +
22       i1 & /i2 & /o15 +
23       /i2 +
24       i2 & /i8 & o15 +
25       i3
26o14.oe = vcc
27
28/o15 = i3 & i6 & i7 & /i11 +
29       i6 & o16 +
30       i3 & /o16 +
31       i7 +
32       /i11 +
33       i6 & i7 +
34       i7 & /i11
35o15.oe = vcc
36
37/o16 = /i3 & /o17 +
38       /i4 & /i11 +
39       /i3 & /i4 +
40       /i3 & i4 +
41       /i7 & o17 +
42       /i7 & /i11 +
43       i4
44o16.oe = vcc
45
46/o17 = i2 & i5 & i6 & /i7 +
47       i2 & /o18 +
48       i5 +
49       i6 +
50       /i7 & o18 +
51       i2 & /i7 +
52       i5 & i6
53o17.oe = /o16
54
55/o18 = /i2 & i5 & i6 & /i7 +
56       i3 & i6 & i7 & i11 +
57       i3 +
58       /i2 & /i7 +
59       i3 & i11 +
60       i5 & i6 & /i7 +
61       i7 & i11
62o18.oe = vcc
63
64/o19 = i5 & i6 & /i7 & i11 +
65       i3 & i6 & i7 +
66       i5 +
67       i6 +
68       i7 +
69       i11 +
70       /i7
71o19.oe = vcc
72
trunk/src/regtests/jedutil/jeds/pal20l10.jed
r18403r18404
1
2PAL20L10
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal20l10.eqn". Date: 8-31-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10*
8NOTE PINS i11:11 GND:12 i13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS o19:19 o20:20 o21:21 o22:22 o23:23 VCC:24*
10QF1600*QP24*F0*
11L0000
121111111111111111111111111111111111111111
131111111111111111111101111111111111111111
141111111111111111111111111111111111110111
151111111111111111111111111111111111111110*
16L0160
171111011111111111111110111111111111111111
181101111111111111111111111011111111111111
191111111111111111111111111011111111111111
201101111111111111111111111111111111111111*
21L0320
221111111111110111011111111111111111111111
231101111111111111111111110111111111111111
241111111010111111111111111111111111111111
251111110111111111111111111111111111111111*
26L0480
271111111111111111111111111111111111111111
281111111111011111111111111111111111111111
291111111111111111101111111111111111111111
301111111111101111111110111111111111111111*
31L0640
321111111111111110111111110111111111111111
331111111111111101111111111111111111110111
340111111111111111111111111111111110111111
351111111111111111111111111111011111110111*
36L0800
371101111111111111111111111111111101111111
381001011110111111111111111011111111111111
391111111111111111101001110111011101111111
400101011110111011110111111111111111111111*
41L0960
421111111101110111111111111111111111111111
431111111111111111111111101111111111111111
441111111111111111111111011111111101111111
451111111111111111111111111111011111111111*
46L1120
471111111111111111111111111111111111111111
481001111111111111111111111110111111111111
491111011110111111111111111111111111111111
501111011111111111111111111101011111111111*
51L1280
521111111111111111111111111111111011111111
530110101101111111111111111111111111110111
540110101111111011111111111111110111111110
550110101111111111011111111111111111111111*
56L1440
571111111111111111111111111111111111011111
581111111111111111111111111111111111111011
591111111111111111111111111111111101111111
601111111111111111111111111111011111101111*
61CC08C*
620000
trunk/src/regtests/jedutil/jeds/pal16h2.jed
r18403r18404
1
2PAL16H2
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL16H2.eqn". Date: 8-24-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 i14:14 o15:15 o16:16 i17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0512*QP20*F0*
11L0000
1201011011011110110111011101111111
1311111111111111111111111111111011
1411111111111111111111111111111101
1511111111111111111111111111101111
1611111111111111111111110111111111
1711111111111111111110111111111111
1811111111111111011111111111111111
1911111101111011111111111111111111*
20L0256
2101010111101101111011011101111111
2211111111111111111111111111110111
2311111111111111111111111111111110
2411111111111111111111111111011111
2511111111111111111111111011111111
2611111111111111111101111111111111
2711111111111111101111111111111111
2811111110110111111111111111111111*
29C3BDA*
300000
trunk/src/regtests/jedutil/jeds/pal14h4.jed
r18403r18404
1
2PAL14H4
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL14H4.eqn". Date: 8-24-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 o14:14 o15:15 o16:16 o17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0448*QP20*F0*
11L0000
120101011110110101011101111111
131111111111111111111111110101
141111111111111111110111101111
151111110111011111111111111111*
16L0112
170101101101110101011101111111
181111111111111111111111111001
191111111111111111111011011111
201111111011101111111111111111*
21L0224
221001011101110101011101111111
231111111111111111111111110110
241111111111111111110111011111
251111110111101111111111111111*
26L0336
270110011101110101011101111111
281111111111111111111111110101
291111111111111111111011101111
301111111011011111111111111111*
31C3116*
320000
trunk/src/regtests/jedutil/jeds/pal12h6.jed
r18403r18404
1
2PAL12H6
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal12h6.eqn". Date: 8-27-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS i19:19 VCC:20*
10QF0384*QP20*F0*
11L0000
12010101110101100101111111
13111111111111111111111001
14111111011111111111111111
15111111111111111111101111*
16L0096
17010101110110010101111111
18111111111111111111111010*
19L0144
20010101110101011001111111
21111111111111111111110110*
22L0192
23010101111001010101111111
24111111111111111111111010*
25L0240
26100101110101010101111111
27111111111111111111111001*
28L0288
29011001110101010101111111
30111111111111111111110101
31111111101111111111111111
32111111111111111111011111*
33C2948*
340000
trunk/src/regtests/jedutil/jeds/pal10h8.jed
r18403r18404
1
2PAL10H8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal10h8.eqn". Date: 8-27-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS o19:19 VCC:20*
10QF0320*QP20*F0*
11L0000
1201010101010101101111
1311111111111111111101*
14L0040
1501010101010110011111
1611111111111111111001*
17L0080
1801010101011001011111
1911111111111111110110*
20L0120
2101010101100101011111
2211111111111111111010*
23L0160
2401010110010101011111
2511111111111111111010*
26L0200
2701011001010101011111
2811111111111111110110*
29L0240
3010010101010101011111
3111111111111111111001*
32L0280
3301100101010101011111
3411111111111111110101*
35C1E2E*
360000
trunk/src/regtests/jedutil/jeds/pal10l8.jed
r18403r18404
1
2PAL10L8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal10l8.eqn". Date: 8-27-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS o19:19 VCC:20*
10QF0320*QP20*F0*
11L0000
1201010101010101101111
1311111111111111111011*
14L0040
1501010101010110011111
1611111111111111111101*
17L0080
1801010101011001011111
1911111111111111110110*
20L0120
2101010101100101011111
2211111111111111111010*
23L0160
2401010110010101011111
2511111111111111111010*
26L0200
2701011001010101011111
2811111111111111110110*
29L0240
3010010101010101011111
3111111111111111111001*
32L0280
3301100101010101011111
3411111111111111110101*
35C1E6E*
360000
trunk/src/regtests/jedutil/jeds/pal12l6.jed
r18403r18404
1
2PAL12L6
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal12l6.eqn". Date: 8-27-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS i19:19 VCC:20*
10QF0384*QP20*F0*
11L0000
12010101110101100101111111
13111111111111111111111001
14111111011111111111111111
15111111111111111111101111*
16L0096
17010101110110010101111111
18111111111111111111111010*
19L0144
20010101111001010101111111
21111111111111111111111010*
22L0192
23010110110101010101111111
24111111111111111111110101*
25L0240
26100101110101010101111111
27111111111111111111111001*
28L0288
29011001110101010101111111
30111111111111111111110101
31111111101111111111111111
32111111111111111111011111*
33C29B8*
340000
trunk/src/regtests/jedutil/jeds/pal14l4.jed
r18403r18404
1
2PAL14L4
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL14L4.eqn". Date: 8-24-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 o14:14 o15:15 o16:16 o17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0448*QP20*F0*
11L0000
120101011101110110011101111111
131111111111111111111111111001
141111111111111111111011101111
151111111011101111111111111111*
16L0112
170101011101111001011101111111
181111111111111111111111111010
191111111111111111110111011111
201111111011011111111111111111*
21L0224
220101011110110101011101111111
231111111111111111111111111010
241111111111111111110111101111
251111110111101111111111111111*
26L0336
271001011101110101011101111111
281111111111111111111111111001
291111111111111111111011011111
301111110111011111111111111111*
31C306A*
320000
trunk/src/regtests/jedutil/jeds/pal16l2.jed
r18403r18404
1
2PAL16L2
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL16L2.eqn". Date: 8-24-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 i14:14 o15:15 o16:16 i17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0512*QP20*F0*
11L0000
1201010111011101110111101101111111
1311111111111111111111111111110111
1411111111111111111111111111111101
1511111111111111111111111111011111
1611111111111111111111111011111111
1711111111111111111110111111111111
1811111111111111101111111111111111
1911111110111011111111111111111111*
20L0256
2101010111101101110111011101111111
2211111111111111111111111111111011
2311111111111111111111111111111110
2411111111111111111111111111101111
2511111111111111111111110111111111
2611111111111111111101111111111111
2711111111111111011111111111111111
2811111101110111111111111111111111*
29C3BEB*
300000
trunk/src/regtests/jedutil/jeds/pal20l8.jed
r18403r18404
1
2PAL20L8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL20L8.eqn". Date: 8-30-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10*
8NOTE PINS i11:11 GND:12 i13:13 i14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS o19:19 o20:20 o21:21 o22:22 i23:23 VCC:24*
10QF2560*QP24*F0*
11L0000
121111011111111111111110111111111111111111
131101111111111111111111111011111111111111
141111111111111111111111111011111111111111
151101111111111111111111111111111111111111
161111111111111111111111111111111110111111
171111111011111111111111111111111111111111
181111111111111111111111110111111111111110
191111111111111111111111111111111111111011*
20L0320
211111111111110111011111111111111111111111
221101111111111111111111110111111111111111
231111111111111111111111111111111111101111
241101111111111011111111110111111111111111
251111110111111111111111111111111111111111
261101111111111111111111110111111111101111
271111111111111111111111111111111111111101
281101111111111111111111111111111111110111*
29L0640
301111111111111111111111111111111111111111
311111111111011111111111111111111111111111
321011111111111111111111111111111111111111
331111101111111111111111111111111111111111
341111111110111111111111111111111111111111
351111111111111011111111111111111111111111
361111111111111111101111111111111111111111
371111111111101111111110111111111111111111*
38L0960
391111111111111110111111110111111111111111
401111110111111111111111111111011110110111
411111111111111111111111111111011111111111
421111111111111111111111111111111110111111
431111111111111101111111111111111111110111
441111110111111111111111111111111111111111
450111110111111111111111111111111110111111
461111111111111111111111111111011111110111*
47L1280
481101110111111111111111111111111101111111
491001010110111111111111111011111111111111
500101011110111011111111111111111111111111
511111111111111111101001110111011101111111
521111110111111111111111111111111111010101
531111111111111111101101110111011101111111
541111010111111111111111111111111111011101
550101011110111011110111111111111111111111*
56L1600
571111111101110111111111111111111111111111
581111111011111111111111101111111111111111
591111111111111111111111011111111101111111
601111111111111111111111111111011111111111
611111111111111111111111110111111111111111
621111111111111111111110111111111111111111
631111111111111111101111111111111111111111
641111111111110111111111111111111111111111*
65L1920
661111111111111111111111111111111111111111
671001111111111111111111111110111111111111
681111011110111111111111111111111111111111
691111111111110111101111111111111111111111
701111111111111111111101111011111111111111
711111011111111111111111111101011111111111
721001011110110111101101111011101111111111
731111111111111111111111111011101111111111*
74L2240
751111111111111111111111111111110111111111
760110101101111111111111111111111111110111
770110101111111011111111111111111111111110
780110101111111111011111111111111111011111
790110101011111111111110111111111111111111
800110101111111111111111110111111111111011
810110101111111111111111111111101111111101
821111111111111111111111111111111011111111*
83C3192*
840000
trunk/src/regtests/jedutil/jeds/pal16l8.jed
r18403r18404
1
2PAL16L8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal16l8.eqn". Date: 8-29-112
6md
7*
8NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
9NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
10NOTE PINS o19:19 VCC:20*
11QF2048*QP20*F0*
12L0000
1311111111111111111111111111111111
1411111111111101110111101111111101
1511110111111111110111011111111111
1611111111111101111111111111111111
1711111111111111110111111111111111
1811111111111111111111011111111111
1911111111111111111111111111111101
2011111111111111111111101111111111*
21L0256
2211111111111111111111111111111111
2310111111111101110111101111111111
2411110111111111110111011111111101
2511110111111111111111111111111111
2610111111111111111111101111111111
2711110111111111111111111111111101
2811111111111101110111101111111111
2911111111111111111111011111111101*
30L0512
3111111111111111101111111111111111
3201111111111101110111101111111111
3301111110111111111111111111111111
3411111111111101111111111111111111
3511111111111111110111111111111111
3611111101111111111111101111111111
3701111111111111111111101111111111
3811111111111101110111111111111111*
39L0768
4011111111111111111111111111111111
4111111011111011111111111111111111
4211111111101111111111111111111110
4311111011101111111111111111111111
4411111011011111111111111111111111
4511111111110111111111101111111111
4611111111111111111111101111111110
4711111111011111111111111111111111*
48L1024
4911111111111111111111111111111111
5011110111111111110111011111111110
5111111111111111010111111111111111
5211110111111111101111111111111111
5311111111111111111111011111111111
5411111111111111111111111111111110
5511111111111111110111011111111111
5611111111111111111111011111111110*
57L1280
5811111111111111111111111111111111
5911011111111111111110111111111111
6011111111111111111111111110111111
6111011111111111111111111110111111
6210011111111111111110111111111111
6310111111111111111111111111111111
6401111111111111111101111110111111
6511110111111111111111111111111111*
66L1536
6701111111111111111111110111111111
6811111111111111111111111011111101
6911111111111111111111111111111011
7011111111111111111111111101111111
7111111111111111111111101111111111
7211111111111111111011110111111111
7311111111111101111111111111111111
7411111111011111111111111111111111*
75L1792
7611111111111111111111111111111111
7711110111111111111111011111111011
7811011111111111111111111111011111
7911110111111111111111111111111111
8011111111111111111011111111111111
8111111111111111111111111101111111
8211111111111111111111111111111011
8311111111111111111111011111101111*
84CF3C8*
850000
trunk/src/regtests/jedutil/jeds/pal16c1/pal16c1.jed
r0r18404
1
2PAL16C1
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL16C1.eqn". Date: 9-4-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 i14:14 /o15:15 /o16:16 i17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0512*QP20*F0*
11L0000
1201011111111111111111111111111111
1311110111011111111111111111111111
1411111111111101110111111111111111
1511111111111111111111011101111111
1611111111111111111111111111110101
1711111111111111111111110111011111
1811111111111111011101111111111111
1911111101110111111111111111111111
2010101111111111111111111111111111
2111111011101111111111111111111111
2211111111111110111011111111111111
2311111111111111111111101110111111
2411111111111111111111111111111010
2511111111111111111111111011101111
2611111111111111101110111111111111
2711111110111011111111111111111111*
28C3BC4*
290000
trunk/src/regtests/jedutil/jeds/pal14h4/pal14h4.jed
r0r18404
1
2PAL14H4
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL14H4.eqn". Date: 8-24-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 o14:14 o15:15 o16:16 o17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0448*QP20*F0*
11L0000
120101011110110101011101111111
131111111111111111111111110101
141111111111111111110111101111
151111110111011111111111111111*
16L0112
170101101101110101011101111111
181111111111111111111111111001
191111111111111111111011011111
201111111011101111111111111111*
21L0224
221001011101110101011101111111
231111111111111111111111110110
241111111111111111110111011111
251111110111101111111111111111*
26L0336
270110011101110101011101111111
281111111111111111111111110101
291111111111111111111011101111
301111111011011111111111111111*
31C3116*
320000
trunk/src/regtests/jedutil/jeds/pal12h6/pal12h6.jed
r0r18404
1
2PAL12H6
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal12h6.eqn". Date: 8-27-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS i19:19 VCC:20*
10QF0384*QP20*F0*
11L0000
12010101110101100101111111
13111111111111111111111001
14111111011111111111111111
15111111111111111111101111*
16L0096
17010101110110010101111111
18111111111111111111111010*
19L0144
20010101110101011001111111
21111111111111111111110110*
22L0192
23010101111001010101111111
24111111111111111111111010*
25L0240
26100101110101010101111111
27111111111111111111111001*
28L0288
29011001110101010101111111
30111111111111111111110101
31111111101111111111111111
32111111111111111111011111*
33C2948*
340000
trunk/src/regtests/jedutil/jeds/pal10h8/pal10h8.jed
r0r18404
1
2PAL10H8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal10h8.eqn". Date: 8-27-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS o19:19 VCC:20*
10QF0320*QP20*F0*
11L0000
1201010101010101101111
1311111111111111111101*
14L0040
1501010101010110011111
1611111111111111111001*
17L0080
1801010101011001011111
1911111111111111110110*
20L0120
2101010101100101011111
2211111111111111111010*
23L0160
2401010110010101011111
2511111111111111111010*
26L0200
2701011001010101011111
2811111111111111110110*
29L0240
3010010101010101011111
3111111111111111111001*
32L0280
3301100101010101011111
3411111111111111110101*
35C1E2E*
360000
trunk/src/regtests/jedutil/jeds/pal16h2/pal16h2.jed
r0r18404
1
2PAL16H2
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL16H2.eqn". Date: 8-24-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 i14:14 o15:15 o16:16 i17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0512*QP20*F0*
11L0000
1201011011011110110111011101111111
1311111111111111111111111111111011
1411111111111111111111111111111101
1511111111111111111111111111101111
1611111111111111111111110111111111
1711111111111111111110111111111111
1811111111111111011111111111111111
1911111101111011111111111111111111*
20L0256
2101010111101101111011011101111111
2211111111111111111111111111110111
2311111111111111111111111111111110
2411111111111111111111111111011111
2511111111111111111111111011111111
2611111111111111111101111111111111
2711111111111111101111111111111111
2811111110110111111111111111111111*
29C3BDA*
300000
trunk/src/regtests/jedutil/jeds/pal16l2/pal16l2.jed
r0r18404
1
2PAL16L2
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL16L2.eqn". Date: 8-24-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 i14:14 o15:15 o16:16 i17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0512*QP20*F0*
11L0000
1201010111011101110111101101111111
1311111111111111111111111111110111
1411111111111111111111111111111101
1511111111111111111111111111011111
1611111111111111111111111011111111
1711111111111111111110111111111111
1811111111111111101111111111111111
1911111110111011111111111111111111*
20L0256
2101010111101101110111011101111111
2211111111111111111111111111111011
2311111111111111111111111111111110
2411111111111111111111111111101111
2511111111111111111111110111111111
2611111111111111111101111111111111
2711111111111111011111111111111111
2811111101110111111111111111111111*
29C3BEB*
300000
trunk/src/regtests/jedutil/jeds/pal10l8/pal10l8.jed
r0r18404
1
2PAL10L8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal10l8.eqn". Date: 8-27-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS o19:19 VCC:20*
10QF0320*QP20*F0*
11L0000
1201010101010101101111
1311111111111111111011*
14L0040
1501010101010110011111
1611111111111111111101*
17L0080
1801010101011001011111
1911111111111111110110*
20L0120
2101010101100101011111
2211111111111111111010*
23L0160
2401010110010101011111
2511111111111111111010*
26L0200
2701011001010101011111
2811111111111111110110*
29L0240
3010010101010101011111
3111111111111111111001*
32L0280
3301100101010101011111
3411111111111111110101*
35C1E6E*
360000
trunk/src/regtests/jedutil/jeds/pal14l4/pal14l4.jed
r0r18404
1
2PAL14L4
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL14L4.eqn". Date: 8-24-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 i13:13 o14:14 o15:15 o16:16 o17:17 i18:18*
9NOTE PINS i19:19 VCC:20*
10QF0448*QP20*F0*
11L0000
120101011101110110011101111111
131111111111111111111111111001
141111111111111111111011101111
151111111011101111111111111111*
16L0112
170101011101111001011101111111
181111111111111111111111111010
191111111111111111110111011111
201111111011011111111111111111*
21L0224
220101011110110101011101111111
231111111111111111111111111010
241111111111111111110111101111
251111110111101111111111111111*
26L0336
271001011101110101011101111111
281111111111111111111111111001
291111111111111111111011011111
301111110111011111111111111111*
31C306A*
320000
trunk/src/regtests/jedutil/jeds/pal12l6/pal12l6.jed
r0r18404
1
2PAL12L6
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal12l6.eqn". Date: 8-27-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS i11:11 i12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS i19:19 VCC:20*
10QF0384*QP20*F0*
11L0000
12010101110101100101111111
13111111111111111111111001
14111111011111111111111111
15111111111111111111101111*
16L0096
17010101110110010101111111
18111111111111111111111010*
19L0144
20010101111001010101111111
21111111111111111111111010*
22L0192
23010110110101010101111111
24111111111111111111110101*
25L0240
26100101110101010101111111
27111111111111111111111001*
28L0288
29011001110101010101111111
30111111111111111111110101
31111111101111111111111111
32111111111111111111011111*
33C29B8*
340000
trunk/src/regtests/jedutil/jeds/pal20l8/pal20l8.jed
r0r18404
1
2PAL20L8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "PAL20L8.eqn". Date: 8-30-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10*
8NOTE PINS i11:11 GND:12 i13:13 i14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS o19:19 o20:20 o21:21 o22:22 i23:23 VCC:24*
10QF2560*QP24*F0*
11L0000
121111011111111111111110111111111111111111
131101111111111111111111111011111111111111
141111111111111111111111111011111111111111
151101111111111111111111111111111111111111
161111111111111111111111111111111110111111
171111111011111111111111111111111111111111
181111111111111111111111110111111111111110
191111111111111111111111111111111111111011*
20L0320
211111111111110111011111111111111111111111
221101111111111111111111110111111111111111
231111111111111111111111111111111111101111
241101111111111011111111110111111111111111
251111110111111111111111111111111111111111
261101111111111111111111110111111111101111
271111111111111111111111111111111111111101
281101111111111111111111111111111111110111*
29L0640
301111111111111111111111111111111111111111
311111111111011111111111111111111111111111
321011111111111111111111111111111111111111
331111101111111111111111111111111111111111
341111111110111111111111111111111111111111
351111111111111011111111111111111111111111
361111111111111111101111111111111111111111
371111111111101111111110111111111111111111*
38L0960
391111111111111110111111110111111111111111
401111110111111111111111111111011110110111
411111111111111111111111111111011111111111
421111111111111111111111111111111110111111
431111111111111101111111111111111111110111
441111110111111111111111111111111111111111
450111110111111111111111111111111110111111
461111111111111111111111111111011111110111*
47L1280
481101110111111111111111111111111101111111
491001010110111111111111111011111111111111
500101011110111011111111111111111111111111
511111111111111111101001110111011101111111
521111110111111111111111111111111111010101
531111111111111111101101110111011101111111
541111010111111111111111111111111111011101
550101011110111011110111111111111111111111*
56L1600
571111111101110111111111111111111111111111
581111111011111111111111101111111111111111
591111111111111111111111011111111101111111
601111111111111111111111111111011111111111
611111111111111111111111110111111111111111
621111111111111111111110111111111111111111
631111111111111111101111111111111111111111
641111111111110111111111111111111111111111*
65L1920
661111111111111111111111111111111111111111
671001111111111111111111111110111111111111
681111011110111111111111111111111111111111
691111111111110111101111111111111111111111
701111111111111111111101111011111111111111
711111011111111111111111111101011111111111
721001011110110111101101111011101111111111
731111111111111111111111111011101111111111*
74L2240
751111111111111111111111111111110111111111
760110101101111111111111111111111111110111
770110101111111011111111111111111111111110
780110101111111111011111111111111111011111
790110101011111111111110111111111111111111
800110101111111111111111110111111111111011
810110101111111111111111111111101111111101
821111111111111111111111111111111011111111*
83C3192*
840000
trunk/src/regtests/jedutil/jeds/pal20r4/pal20r4.jed
r0r18404
1
2PAL20R4
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal20r4.eqn". Date: 9-10-112
6*
7NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10*
8NOTE PINS i11:11 GND:12 /OE:13 i14:14 o15:15 o16:16 rf17:17 rf18:18*
9NOTE PINS rf19:19 rf20:20 o21:21 o22:22 i23:23 VCC:24*
10QF2560*QP24*F0*
11L0000
121111111111111111111111111111111111101101
131111111111111111111111111111111111111101
141111111111111111111111111111111111101111
151111011111101111111111111111111111111111
161111111111111111111101111111111111111111
171111111111011111111111111011111111111111
181111111111111111111111111111111101111111
191111111111111111111111111111101111111111*
20L0320
211111111011111111111111110111011111111111
221111111111111111111111111011111111111111
231011111111111111111111111101111111111111
241111111111111111111111111111111111110111
251111111111111111111111111111111110111111
261111111111111111111111111111111111011111
271111111111111111111111111111111111111110
281111101111111111111111111111111111111111*
29L0640
301111111111111111111111111101111101111111
311111111111111111111111111111111111111011
321111111101111111111111111110111111111111
330111111111111111111111111111111111111111
341111111111111111101110111111111111111111
351111111111111111111111110111111111111111
361111111111111111111111111111101111111111
371111110111111111111111111111111111111111*
38L0960
391111111111110111011110111111111111111111
401111011111111111011101111111111111111111
411111111111110101111111111111111111111111
421111111111111111011111111111111111111111
431111111111111111111101111111111111111111
441111111110111110111111111111111111111111
451111111111111111111110111111111111111111
461111111111111111111111111111111101111111*
47L1280
481011111111110111011110111111111111111111
491111011111111111011101111111111111111111
501111011111111111110111111111111111111111
511011111111111111111110111111111111111111
521111101111111111111011111111111111111111
531111111111110111011110111111111111111111
541111111111111111111101111111111111111111
551111111111111111111111111111111111111011*
56L1600
571011111111111111111111111111111111111111
581111111111111111111111101111111111111111
591111111111110111111111111111111111111111
601111111111111111011111111111111111111111
611111111111111111111111011111111111111111
621111111101111111111111111111111111111111
631111111111111111111111111111111110111111
641110111111111111111111111111111111111111*
65L1920
661101111111111111111111111111111111111111
671111101111111111111111111110111111111111
681111111110111111111111111111111111111111
691111101111111111111111111111111111111111
701111101101111111111111111111111111111111
711111111111111111111110111101111111111111
721111111111111111111110111111111111111111
731111111101111111111111111111111111111111*
74L2240
751110111111111111111111111111111111111111
760111111111111111011101111111111111111111
771111111111111111011111111111110111111111
781111011111111111111111111111111011111111
791111111111111111111101111111111111111111
801111111110111111111111111111111111111111
811111111111111111011101111111111111111111
821111111101111111111101111111111111111111*
83C36C6*
840000
trunk/src/regtests/jedutil/jeds/pal20r6/pal20r6.jed
r0r18404
1
2PAL20R6
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal20r6.eqn". Date: 9-11-112
6*
7NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10*
8NOTE PINS i11:11 GND:12 /OE:13 i14:14 o15:15 rf16:16 rf17:17 rf18:18*
9NOTE PINS rf19:19 rf20:20 rf21:21 o22:22 i23:23 VCC:24*
10QF2560*QP24*F0*
11L0000
121111111111111111111111111111111111101101
131111111111111111111111111111111111111101
141111111111111111111111111111111111101111
151111011111101111111111111111111111111111
161111111111111111111101111111111111111111
171111111111011111111111111011111111111111
181111111111111111111111111111111101111111
191111111111111111111111111111101111111111*
20L0320
211111111111111111111111111011111111111111
221011111111111111111111111101111111111111
231111111111111111111111111111111111110111
241111111111111111111111111111111110111111
251111111111111111111111111111111111011111
261111111011111111111111111111111111111110
271111101111111111111111111111111111111111
281111111111111011111111111111111111111111*
29L0640
301111111111111111111111111101111101111111
311111111111111111111111111111111111111011
321111111101111111111111111110111111111111
330111111111111111111111111111111111111111
341111111111111111101110111111111111111111
351111111111111111111111110111111111111111
361111111111111111111111111111101111111111
371111110111111111111111111111111111111111*
38L0960
391111111111110111011110111111111111111111
401111011111111111011101111111111111111111
411111111111110101111111111111111111111111
421111111111111111011111111111111111111111
431111111111111111111101111111111111111111
441111111110111110111111111111111111111111
451111111111111111111110111111111111111111
461111111111111111111111111111111101111111*
47L1280
481011111111110111011110111111111111111111
491111011111111111011101111111111111111111
501111011111111111110111111111111111111111
511011111111111111111110111111111111111111
521111101111111111111011111111111111111111
531111111111110111011110111111111111111111
541111111111111111111101111111111111111111
551111111111111111111111111111111111111011*
56L1600
571011111111111111111111111111111111111111
581111111111111111111111101111111111111111
591111111111110111111111111111111111111111
601111111111111111011111111111111111111111
611111111111111111111111011111111111111111
621111111101111111111111111111111111111111
631111111111111111111111111111111110111111
641110111111111111111111111111111111111111*
65L1920
661111101111111111111111111110111111111111
671110111110111111111111111111111111111111
681111101111111111111111111111111111111111
691111101101111111111111111111111111111111
701111111111111111111110111101111111111111
711111111111111111111110111111111111111111
721111111101111111111111111111111111111111
731101111111111111111111111111111111111111*
74L2240
751110111111111111111111111111111111111111
760111111111111111011101111111111111111111
771111111111111111011111111111110111111111
781111011111111111111111111111111011111111
791111111111111111111101111111111111111111
801111111110111111111111111111111111111111
811111111111111111011101111111111111111111
821111111101111111111101111111111111111111*
83C36AF*
840000
trunk/src/regtests/jedutil/jeds/pal16l8/pal16l8.jed
r0r18404
1
2PAL16L8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal16l8.eqn". Date: 8-29-112
6md
7*
8NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
9NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
10NOTE PINS o19:19 VCC:20*
11QF2048*QP20*F0*
12L0000
1311111111111111111111111111111111
1411111111111101110111101111111101
1511110111111111110111011111111111
1611111111111101111111111111111111
1711111111111111110111111111111111
1811111111111111111111011111111111
1911111111111111111111111111111101
2011111111111111111111101111111111*
21L0256
2211111111111111111111111111111111
2310111111111101110111101111111111
2411110111111111110111011111111101
2511110111111111111111111111111111
2610111111111111111111101111111111
2711110111111111111111111111111101
2811111111111101110111101111111111
2911111111111111111111011111111101*
30L0512
3111111111111111101111111111111111
3201111111111101110111101111111111
3301111110111111111111111111111111
3411111111111101111111111111111111
3511111111111111110111111111111111
3611111101111111111111101111111111
3701111111111111111111101111111111
3811111111111101110111111111111111*
39L0768
4011111111111111111111111111111111
4111111011111011111111111111111111
4211111111101111111111111111111110
4311111011101111111111111111111111
4411111011011111111111111111111111
4511111111110111111111101111111111
4611111111111111111111101111111110
4711111111011111111111111111111111*
48L1024
4911111111111111111111111111111111
5011110111111111110111011111111110
5111111111111111010111111111111111
5211110111111111101111111111111111
5311111111111111111111011111111111
5411111111111111111111111111111110
5511111111111111110111011111111111
5611111111111111111111011111111110*
57L1280
5811111111111111111111111111111111
5911011111111111111110111111111111
6011111111111111111111111110111111
6111011111111111111111111110111111
6210011111111111111110111111111111
6310111111111111111111111111111111
6401111111111111111101111110111111
6511110111111111111111111111111111*
66L1536
6701111111111111111111110111111111
6811111111111111111111111011111101
6911111111111111111111111111111011
7011111111111111111111111101111111
7111111111111111111111101111111111
7211111111111111111011110111111111
7311111111111101111111111111111111
7411111111011111111111111111111111*
75L1792
7611111111111111111111111111111111
7711110111111111111111011111111011
7811011111111111111111111111011111
7911110111111111111111111111111111
8011111111111111111011111111111111
8111111111111111111111111101111111
8211111111111111111111111111111011
8311111111111111111111011111101111*
84CF3C8*
850000
trunk/src/regtests/jedutil/jeds/pal20r8/pal20r8.jed
r0r18404
1
2PAL20R8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal20r8.eqn". Date: 9-11-112
6*
7NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10*
8NOTE PINS i11:11 GND:12 /OE:13 i14:14 rf15:15 rf16:16 rf17:17*
9NOTE PINS rf18:18 rf19:19 rf20:20 rf21:21 rf22:22 i23:23 VCC:24*
10QF2560*QP24*F0*
11L0000
121111111111111111111111111111111111111101
131111111111111111111111111111111111101111
141111011111101111111111111111111111111111
151111111111111111111101111111111111111111
161111111111011111111111111011111111111111
171111111111111111111111111111111101111111
181111111111111111111111111111101111111111
191111111111111111111111111111111111101101*
20L0320
211111111111111111111111111011111111111111
221011111111111111111111111101111111111111
231111111111111111111111111111111111110111
241111111111111111111111111111111110111111
251111111111111111111111111111111111011111
261111111111111111111111111111111111111110
271111101111111111111111111111111111111111
281111111011111111111111110111011111111111*
29L0640
301111111111111111111111111101111101111111
311111111111111111111111111111111111111011
321111111101111111111111111110111111111111
330111111111111111111111111111111111111111
341111111111111111101110111111111111111111
351111111111111111111111110111111111111111
361111111111111111111111111111101111111111
371111110111111111111111111111111111111111*
38L0960
391111111111110111011110111111111111111111
401111011111111111011101111111111111111111
411111111111110101111111111111111111111111
421111111111111111011111111111111111111111
431111111111111111111101111111111111111111
441111111110111110111111111111111111111111
451111111111111111111110111111111111111111
461111111111111111111111111111111101111111*
47L1280
481011111111110111011110111111111111111111
491111011111111111011101111111111111111111
501111011111111111110111111111111111111111
511011111111111111111110111111111111111111
521111101111111111111011111111111111111111
531111111111110111011110111111111111111111
541111111111111111111101111111111111111111
551111111111111111111111111111111111111011*
56L1600
571011111111111111111111111111111111111111
581111111111111111111111101111111111111111
591111111111110111111111111111111111111111
601111111111111111011111111111111111111111
611111111111111111111111011111111111111111
621111111101111111111111111111111111111111
631111111111111111111111111111111110111111
641110111111111111111111111111111111111111*
65L1920
661111101111111111111111111110111111111111
671111111110111111111111111111111111111111
681111101111111111111111111111111111111111
691111101101111111111111111111111111111111
701111111111111111111110111101111111111111
711111111111111111111110111111111111111111
721111111101111111111111111111111111111111
731101111111111111111111111111111111111111*
74L2240
750111111111111111011101111111111111111111
761111111111111111011111111111110111111111
771111011111111111111111111111111011111111
781111111111111111111101111111111111111111
791111111110111111111111111111111111111111
801111111111111111011101111111111111111111
811111111101111111111101111111111111111111
821110111111111111111111111111111111111111*
83C36C6*
840000
trunk/src/regtests/jedutil/jeds/gal16v8/pal16r8-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL16R8 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal16r8.jed
6Output File: gal16v8.jed
7The Date:    Sun Sep 30 22:10:55 2012
8
9
10PAL16R8
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "pal16r8.eqn". Date: 9-10-112
14*
15NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS /OE:11 rf12:12 rf13:13 rf14:14 rf15:15 rf16:16 rf17:17*
17NOTE PINS rf18:18 rf19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 11111111111101110111101111111111*
21L00032 11110111111111110111011111111111*
22L00064 11111111111101111111111111111101*
23L00096 11111111111111110111111111111111*
24L00128 11111111111111111111011111111111*
25L00160 11111111101111111111111111111110*
26L00192 11111111111111111111101111111111*
27L00224 01111111111111111111111111111111*
28
29L00256 10111111111101110111101111111111*
30L00288 11110111111111110111011111111111*
31L00320 11010111111111111111111111111111*
32L00352 10111111111111111111101111111111*
33L00384 11101011111111111111111111111111*
34L00416 11111111111101110111101111111111*
35L00448 11111111111111111111011111111111*
36L00480 11111111101111111111111111111111*
37
38L00512 01111111111101110111101111111111*
39L00544 01111110111111111111111111111111*
40L00576 11111111111101111111111111111111*
41L00608 11111111111111110111111111111111*
42L00640 11111101111111111111101111111111*
43L00672 01111111111111111111101111111111*
44L00704 11111111111101110111111111111111*
45L00736 11111011111111111111111111111111*
46
47L00768 11111011111011111111111111111111*
48L00800 11111111101111111111111111111111*
49L00832 11111011111111111111111111111111*
50L00864 11111011011111111111111111111111*
51L00896 11111111110111111111101111111111*
52L00928 11111111111111111111101111111111*
53L00960 11111111011111111111111111111111*
54L00992 01110111111111111111111111111111*
55
56L01024 11110111111111110111011111111111*
57L01056 11111111111111010111111111111111*
58L01088 11110111111111101111111111111111*
59L01120 11111111111111111111011111111111*
60L01152 11111111101111111111111111111111*
61L01184 11111111111111110111011111111111*
62L01216 11111111011111111111011111111111*
63L01248 10111111111111111111101111111111*
64
65L01280 11111111111111111110111111111111*
66L01312 11111111111111111111111110111111*
67L01344 11111111111111111111111101111111*
68L01376 10111111111111111110111111111111*
69L01408 10111111111111111111111111111111*
70L01440 01111111111111111101111110111111*
71L01472 11111111101111111111111111111111*
72L01504 11110111111111111111111111111111*
73
74L01536 11111111111111111111111011111111*
75L01568 11111111111111111111111111111011*
76L01600 11111111111111111111111101111111*
77L01632 11111111111111111111101111111111*
78L01664 11111111111111111011110111111111*
79L01696 11111111111101111111111111111111*
80L01728 11111111011111111111111111111111*
81L01760 11111011111111111111111111111111*
82
83L01792 10111011111111111111111111111111*
84L01824 11111111011111111111111111011111*
85L01856 11110111111111111111111111111111*
86L01888 11111111111111111011111111111111*
87L01920 11111111111111111111111101111111*
88L01952 11111111111111111111111111111011*
89L01984 11111111111111111111011111101111*
90L02016 11111111111101111111111111111111*
91
92N ==> XOR *
93L02048 00000000*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 00000000*
99N ==> PTD *
100L02128 11111111111111111111111111111111*
101L02160 11111111111111111111111111111111*
102N ==> SYN 2192, AC0 2193 *
103L02192 01*
104CFF4A*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal10h8-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL10H8 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal10h8.jed
6Output File: gal.jed
7The Date:    Wed Sep 12 22:32:02 2012
8
9
10PAL10H8
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "pal10h8.eqn". Date: 8-27-112
14*
15NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
17NOTE PINS o19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 01010111011101110111011110111111*
21L00032 11111111111111111111111111111101*
22L00064 00000011001100110011001100110000*
23L00096 00000011001100110011001100110000*
24L00128 00000011001100110011001100110000*
25L00160 00000011001100110011001100110000*
26L00192 00000011001100110011001100110000*
27L00224 00000011001100110011001100110000*
28
29L00256 01010111011101110111101101111111*
30L00288 11111111111111111111111111111001*
31L00320 00000011001100110011001100110000*
32L00352 00000011001100110011001100110000*
33L00384 00000011001100110011001100110000*
34L00416 00000011001100110011001100110000*
35L00448 00000011001100110011001100110000*
36L00480 00000011001100110011001100110000*
37
38L00512 01010111011101111011011101111111*
39L00544 11111111111111111111111111110110*
40L00576 00000011001100110011001100110000*
41L00608 00000011001100110011001100110000*
42L00640 00000011001100110011001100110000*
43L00672 00000011001100110011001100110000*
44L00704 00000011001100110011001100110000*
45L00736 00000011001100110011001100110000*
46
47L00768 01010111011110110111011101111111*
48L00800 11111111111111111111111111111010*
49L00832 00000011001100110011001100110000*
50L00864 00000011001100110011001100110000*
51L00896 00000011001100110011001100110000*
52L00928 00000011001100110011001100110000*
53L00960 00000011001100110011001100110000*
54L00992 00000011001100110011001100110000*
55
56L01024 01010111101101110111011101111111*
57L01056 11111111111111111111111111111010*
58L01088 00000011001100110011001100110000*
59L01120 00000011001100110011001100110000*
60L01152 00000011001100110011001100110000*
61L01184 00000011001100110011001100110000*
62L01216 00000011001100110011001100110000*
63L01248 00000011001100110011001100110000*
64
65L01280 01011011011101110111011101111111*
66L01312 11111111111111111111111111110110*
67L01344 00000011001100110011001100110000*
68L01376 00000011001100110011001100110000*
69L01408 00000011001100110011001100110000*
70L01440 00000011001100110011001100110000*
71L01472 00000011001100110011001100110000*
72L01504 00000011001100110011001100110000*
73
74L01536 10010111011101110111011101111111*
75L01568 11111111111111111111111111111001*
76L01600 00000011001100110011001100110000*
77L01632 00000011001100110011001100110000*
78L01664 00000011001100110011001100110000*
79L01696 00000011001100110011001100110000*
80L01728 00000011001100110011001100110000*
81L01760 00000011001100110011001100110000*
82
83L01792 01100111011101110111011101111111*
84L01824 11111111111111111111111111110101*
85L01856 00000011001100110011001100110000*
86L01888 00000011001100110011001100110000*
87L01920 00000011001100110011001100110000*
88L01952 00000011001100110011001100110000*
89L01984 00000011001100110011001100110000*
90L02016 00000011001100110011001100110000*
91
92N ==> XOR *
93L02048 11111111*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 00000000*
99N ==> PTD *
100L02128 11000000110000001100000011000000*
101L02160 11000000110000001100000011000000*
102N ==> SYN 2192, AC0 2193 *
103L02192 10*
104CADF0*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal12h6-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL12H6 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal12h6.jed
6Output File: gal.jed
7The Date:    Sun Sep 16 22:20:22 2012
8
9
10PAL12H6
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "pal12h6.eqn". Date: 8-27-112
14*
15NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS i11:11 i12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
17NOTE PINS i19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 00000000001100110011001100000000*
21L00032 00000000001100110011001100000000*
22L00064 00000000001100110011001100000000*
23L00096 00000000001100110011001100000000*
24L00128 00000000001100110011001100000000*
25L00160 00000000001100110011001100000000*
26L00192 00000000001100110011001100000000*
27L00224 00000000001100110011001100000000*
28
29L00256 01010111011101111011011101111111*
30L00288 11111111111111111111111111111001*
31L00320 11111101111111111111111111111111*
32L00352 11111111111111111111111111101111*
33L00384 00000000001100110011001100000000*
34L00416 00000000001100110011001100000000*
35L00448 00000000001100110011001100000000*
36L00480 00000000001100110011001100000000*
37
38L00512 01010111011110110111011101111111*
39L00544 11111111111111111111111111111010*
40L00576 00000000001100110011001100000000*
41L00608 00000000001100110011001100000000*
42L00640 00000000001100110011001100000000*
43L00672 00000000001100110011001100000000*
44L00704 00000000001100110011001100000000*
45L00736 00000000001100110011001100000000*
46
47L00768 01010111011101110111101101111111*
48L00800 11111111111111111111111111110110*
49L00832 00000000001100110011001100000000*
50L00864 00000000001100110011001100000000*
51L00896 00000000001100110011001100000000*
52L00928 00000000001100110011001100000000*
53L00960 00000000001100110011001100000000*
54L00992 00000000001100110011001100000000*
55
56L01024 01010111101101110111011101111111*
57L01056 11111111111111111111111111111010*
58L01088 00000000001100110011001100000000*
59L01120 00000000001100110011001100000000*
60L01152 00000000001100110011001100000000*
61L01184 00000000001100110011001100000000*
62L01216 00000000001100110011001100000000*
63L01248 00000000001100110011001100000000*
64
65L01280 10010111011101110111011101111111*
66L01312 11111111111111111111111111111001*
67L01344 00000000001100110011001100000000*
68L01376 00000000001100110011001100000000*
69L01408 00000000001100110011001100000000*
70L01440 00000000001100110011001100000000*
71L01472 00000000001100110011001100000000*
72L01504 00000000001100110011001100000000*
73
74L01536 01100111011101110111011101111111*
75L01568 11111111111111111111111111110101*
76L01600 11111110111111111111111111111111*
77L01632 11111111111111111111111111011111*
78L01664 00000000001100110011001100000000*
79L01696 00000000001100110011001100000000*
80L01728 00000000001100110011001100000000*
81L01760 00000000001100110011001100000000*
82
83L01792 00000000001100110011001100000000*
84L01824 00000000001100110011001100000000*
85L01856 00000000001100110011001100000000*
86L01888 00000000001100110011001100000000*
87L01920 00000000001100110011001100000000*
88L01952 00000000001100110011001100000000*
89L01984 00000000001100110011001100000000*
90L02016 00000000001100110011001100000000*
91
92N ==> XOR *
93L02048 11111111*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 10000001*
99N ==> PTD *
100L02128 00000000111100001100000011000000*
101L02160 11000000110000001111000000000000*
102N ==> SYN 2192, AC0 2193 *
103L02192 10*
104C88C8*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal14h4-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL14H4 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal14h4.jed
6Output File: gal16v8.jed
7The Date:    Fri Sep 28 22:11:50 2012
8
9
10PAL14H4
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "PAL14H4.eqn". Date: 8-24-112
14*
15NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS i11:11 i12:12 i13:13 o14:14 o15:15 o16:16 o17:17 i18:18*
17NOTE PINS i19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 00000000000000110011000000000000*
21L00032 00000000000000110011000000000000*
22L00064 00000000000000110011000000000000*
23L00096 00000000000000110011000000000000*
24L00128 00000000000000110011000000000000*
25L00160 00000000000000110011000000000000*
26L00192 00000000000000110011000000000000*
27L00224 00000000000000110011000000000000*
28
29L00256 00000000000000110011000000000000*
30L00288 00000000000000110011000000000000*
31L00320 00000000000000110011000000000000*
32L00352 00000000000000110011000000000000*
33L00384 00000000000000110011000000000000*
34L00416 00000000000000110011000000000000*
35L00448 00000000000000110011000000000000*
36L00480 00000000000000110011000000000000*
37
38L00512 01010111101101110111011101111111*
39L00544 11111111111111111111111111110101*
40L00576 11111111111111111111110111101111*
41L00608 11111101110111111111111111111111*
42L00640 00000000000000110011000000000000*
43L00672 00000000000000110011000000000000*
44L00704 00000000000000110011000000000000*
45L00736 00000000000000110011000000000000*
46
47L00768 01011011011101110111011101111111*
48L00800 11111111111111111111111111111001*
49L00832 11111111111111111111111011011111*
50L00864 11111110111011111111111111111111*
51L00896 00000000000000110011000000000000*
52L00928 00000000000000110011000000000000*
53L00960 00000000000000110011000000000000*
54L00992 00000000000000110011000000000000*
55
56L01024 10010111011101110111011101111111*
57L01056 11111111111111111111111111110110*
58L01088 11111111111111111111110111011111*
59L01120 11111101111011111111111111111111*
60L01152 00000000000000110011000000000000*
61L01184 00000000000000110011000000000000*
62L01216 00000000000000110011000000000000*
63L01248 00000000000000110011000000000000*
64
65L01280 01100111011101110111011101111111*
66L01312 11111111111111111111111111110101*
67L01344 11111111111111111111111011101111*
68L01376 11111110110111111111111111111111*
69L01408 00000000000000110011000000000000*
70L01440 00000000000000110011000000000000*
71L01472 00000000000000110011000000000000*
72L01504 00000000000000110011000000000000*
73
74L01536 00000000000000110011000000000000*
75L01568 00000000000000110011000000000000*
76L01600 00000000000000110011000000000000*
77L01632 00000000000000110011000000000000*
78L01664 00000000000000110011000000000000*
79L01696 00000000000000110011000000000000*
80L01728 00000000000000110011000000000000*
81L01760 00000000000000110011000000000000*
82
83L01792 00000000000000110011000000000000*
84L01824 00000000000000110011000000000000*
85L01856 00000000000000110011000000000000*
86L01888 00000000000000110011000000000000*
87L01920 00000000000000110011000000000000*
88L01952 00000000000000110011000000000000*
89L01984 00000000000000110011000000000000*
90L02016 00000000000000110011000000000000*
91
92N ==> XOR *
93L02048 11111111*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 11000011*
99N ==> PTD *
100L02128 00000000000000001111000011110000*
101L02160 11110000111100000000000000000000*
102N ==> SYN 2192, AC0 2193 *
103L02192 10*
104C6249*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal16h2-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL16H2 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal16h2.jed
6Output File: gal16v8.jed
7The Date:    Fri Sep 28 22:25:49 2012
8
9
10PAL16H2
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "PAL16H2.eqn". Date: 8-24-112
14*
15NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS i11:11 i12:12 i13:13 i14:14 o15:15 o16:16 i17:17 i18:18*
17NOTE PINS i19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 00000000000000000000000000000000*
21L00032 00000000000000000000000000000000*
22L00064 00000000000000000000000000000000*
23L00096 00000000000000000000000000000000*
24L00128 00000000000000000000000000000000*
25L00160 00000000000000000000000000000000*
26L00192 00000000000000000000000000000000*
27L00224 00000000000000000000000000000000*
28
29L00256 00000000000000000000000000000000*
30L00288 00000000000000000000000000000000*
31L00320 00000000000000000000000000000000*
32L00352 00000000000000000000000000000000*
33L00384 00000000000000000000000000000000*
34L00416 00000000000000000000000000000000*
35L00448 00000000000000000000000000000000*
36L00480 00000000000000000000000000000000*
37
38L00512 00000000000000000000000000000000*
39L00544 00000000000000000000000000000000*
40L00576 00000000000000000000000000000000*
41L00608 00000000000000000000000000000000*
42L00640 00000000000000000000000000000000*
43L00672 00000000000000000000000000000000*
44L00704 00000000000000000000000000000000*
45L00736 00000000000000000000000000000000*
46
47L00768 01011011011110110111011101111111*
48L00800 11111111111111111111111111111011*
49L00832 11111111111111111111111111111101*
50L00864 11111111111111111111111111101111*
51L00896 11111111111111111111110111111111*
52L00928 11111111111111111110111111111111*
53L00960 11111111111111011111111111111111*
54L00992 11111101111011111111111111111111*
55
56L01024 01010111101101111011011101111111*
57L01056 11111111111111111111111111110111*
58L01088 11111111111111111111111111111110*
59L01120 11111111111111111111111111011111*
60L01152 11111111111111111111111011111111*
61L01184 11111111111111111101111111111111*
62L01216 11111111111111101111111111111111*
63L01248 11111110110111111111111111111111*
64
65L01280 00000000000000000000000000000000*
66L01312 00000000000000000000000000000000*
67L01344 00000000000000000000000000000000*
68L01376 00000000000000000000000000000000*
69L01408 00000000000000000000000000000000*
70L01440 00000000000000000000000000000000*
71L01472 00000000000000000000000000000000*
72L01504 00000000000000000000000000000000*
73
74L01536 00000000000000000000000000000000*
75L01568 00000000000000000000000000000000*
76L01600 00000000000000000000000000000000*
77L01632 00000000000000000000000000000000*
78L01664 00000000000000000000000000000000*
79L01696 00000000000000000000000000000000*
80L01728 00000000000000000000000000000000*
81L01760 00000000000000000000000000000000*
82
83L01792 00000000000000000000000000000000*
84L01824 00000000000000000000000000000000*
85L01856 00000000000000000000000000000000*
86L01888 00000000000000000000000000000000*
87L01920 00000000000000000000000000000000*
88L01952 00000000000000000000000000000000*
89L01984 00000000000000000000000000000000*
90L02016 00000000000000000000000000000000*
91
92N ==> XOR *
93L02048 11111111*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 11100111*
99N ==> PTD *
100L02128 00000000000000000000000011111111*
101L02160 11111111000000000000000000000000*
102N ==> SYN 2192, AC0 2193 *
103L02192 10*
104C3FBF*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal16l2-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL16L2 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal16l2.jed
6Output File: gal16v8.jed
7The Date:    Fri Sep 28 22:28:15 2012
8
9
10PAL16L2
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "PAL16L2.eqn". Date: 8-24-112
14*
15NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS i11:11 i12:12 i13:13 i14:14 o15:15 o16:16 i17:17 i18:18*
17NOTE PINS i19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 00000000000000000000000000000000*
21L00032 00000000000000000000000000000000*
22L00064 00000000000000000000000000000000*
23L00096 00000000000000000000000000000000*
24L00128 00000000000000000000000000000000*
25L00160 00000000000000000000000000000000*
26L00192 00000000000000000000000000000000*
27L00224 00000000000000000000000000000000*
28
29L00256 00000000000000000000000000000000*
30L00288 00000000000000000000000000000000*
31L00320 00000000000000000000000000000000*
32L00352 00000000000000000000000000000000*
33L00384 00000000000000000000000000000000*
34L00416 00000000000000000000000000000000*
35L00448 00000000000000000000000000000000*
36L00480 00000000000000000000000000000000*
37
38L00512 00000000000000000000000000000000*
39L00544 00000000000000000000000000000000*
40L00576 00000000000000000000000000000000*
41L00608 00000000000000000000000000000000*
42L00640 00000000000000000000000000000000*
43L00672 00000000000000000000000000000000*
44L00704 00000000000000000000000000000000*
45L00736 00000000000000000000000000000000*
46
47L00768 01010111011101110111101101111111*
48L00800 11111111111111111111111111110111*
49L00832 11111111111111111111111111111101*
50L00864 11111111111111111111111111011111*
51L00896 11111111111111111111111011111111*
52L00928 11111111111111111110111111111111*
53L00960 11111111111111101111111111111111*
54L00992 11111110111011111111111111111111*
55
56L01024 01010111101101110111011101111111*
57L01056 11111111111111111111111111111011*
58L01088 11111111111111111111111111111110*
59L01120 11111111111111111111111111101111*
60L01152 11111111111111111111110111111111*
61L01184 11111111111111111101111111111111*
62L01216 11111111111111011111111111111111*
63L01248 11111101110111111111111111111111*
64
65L01280 00000000000000000000000000000000*
66L01312 00000000000000000000000000000000*
67L01344 00000000000000000000000000000000*
68L01376 00000000000000000000000000000000*
69L01408 00000000000000000000000000000000*
70L01440 00000000000000000000000000000000*
71L01472 00000000000000000000000000000000*
72L01504 00000000000000000000000000000000*
73
74L01536 00000000000000000000000000000000*
75L01568 00000000000000000000000000000000*
76L01600 00000000000000000000000000000000*
77L01632 00000000000000000000000000000000*
78L01664 00000000000000000000000000000000*
79L01696 00000000000000000000000000000000*
80L01728 00000000000000000000000000000000*
81L01760 00000000000000000000000000000000*
82
83L01792 00000000000000000000000000000000*
84L01824 00000000000000000000000000000000*
85L01856 00000000000000000000000000000000*
86L01888 00000000000000000000000000000000*
87L01920 00000000000000000000000000000000*
88L01952 00000000000000000000000000000000*
89L01984 00000000000000000000000000000000*
90L02016 00000000000000000000000000000000*
91
92N ==> XOR *
93L02048 00000000*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 11100111*
99N ==> PTD *
100L02128 00000000000000000000000011111111*
101L02160 11111111000000000000000000000000*
102N ==> SYN 2192, AC0 2193 *
103L02192 10*
104C3ED1*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal14l4-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL14L4 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal14l4.jed
6Output File: gal16v8.jed
7The Date:    Fri Sep 28 22:14:09 2012
8
9
10PAL14L4
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "PAL14L4.eqn". Date: 8-24-112
14*
15NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS i11:11 i12:12 i13:13 o14:14 o15:15 o16:16 o17:17 i18:18*
17NOTE PINS i19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 00000000000000110011000000000000*
21L00032 00000000000000110011000000000000*
22L00064 00000000000000110011000000000000*
23L00096 00000000000000110011000000000000*
24L00128 00000000000000110011000000000000*
25L00160 00000000000000110011000000000000*
26L00192 00000000000000110011000000000000*
27L00224 00000000000000110011000000000000*
28
29L00256 00000000000000110011000000000000*
30L00288 00000000000000110011000000000000*
31L00320 00000000000000110011000000000000*
32L00352 00000000000000110011000000000000*
33L00384 00000000000000110011000000000000*
34L00416 00000000000000110011000000000000*
35L00448 00000000000000110011000000000000*
36L00480 00000000000000110011000000000000*
37
38L00512 01010111011101111011011101111111*
39L00544 11111111111111111111111111111001*
40L00576 11111111111111111111111011101111*
41L00608 11111110111011111111111111111111*
42L00640 00000000000000110011000000000000*
43L00672 00000000000000110011000000000000*
44L00704 00000000000000110011000000000000*
45L00736 00000000000000110011000000000000*
46
47L00768 01010111011110110111011101111111*
48L00800 11111111111111111111111111111010*
49L00832 11111111111111111111110111011111*
50L00864 11111110110111111111111111111111*
51L00896 00000000000000110011000000000000*
52L00928 00000000000000110011000000000000*
53L00960 00000000000000110011000000000000*
54L00992 00000000000000110011000000000000*
55
56L01024 01010111101101110111011101111111*
57L01056 11111111111111111111111111111010*
58L01088 11111111111111111111110111101111*
59L01120 11111101111011111111111111111111*
60L01152 00000000000000110011000000000000*
61L01184 00000000000000110011000000000000*
62L01216 00000000000000110011000000000000*
63L01248 00000000000000110011000000000000*
64
65L01280 10010111011101110111011101111111*
66L01312 11111111111111111111111111111001*
67L01344 11111111111111111111111011011111*
68L01376 11111101110111111111111111111111*
69L01408 00000000000000110011000000000000*
70L01440 00000000000000110011000000000000*
71L01472 00000000000000110011000000000000*
72L01504 00000000000000110011000000000000*
73
74L01536 00000000000000110011000000000000*
75L01568 00000000000000110011000000000000*
76L01600 00000000000000110011000000000000*
77L01632 00000000000000110011000000000000*
78L01664 00000000000000110011000000000000*
79L01696 00000000000000110011000000000000*
80L01728 00000000000000110011000000000000*
81L01760 00000000000000110011000000000000*
82
83L01792 00000000000000110011000000000000*
84L01824 00000000000000110011000000000000*
85L01856 00000000000000110011000000000000*
86L01888 00000000000000110011000000000000*
87L01920 00000000000000110011000000000000*
88L01952 00000000000000110011000000000000*
89L01984 00000000000000110011000000000000*
90L02016 00000000000000110011000000000000*
91
92N ==> XOR *
93L02048 00000000*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 11000011*
99N ==> PTD *
100L02128 00000000000000001111000011110000*
101L02160 11110000111100000000000000000000*
102N ==> SYN 2192, AC0 2193 *
103L02192 10*
104C60DD*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal12l6-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL12L6 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal12l6.jed
6Output File: gal.jed
7The Date:    Sun Sep 16 22:21:32 2012
8
9
10PAL12L6
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "pal12l6.eqn". Date: 8-27-112
14*
15NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS i11:11 i12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
17NOTE PINS i19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 00000000001100110011001100000000*
21L00032 00000000001100110011001100000000*
22L00064 00000000001100110011001100000000*
23L00096 00000000001100110011001100000000*
24L00128 00000000001100110011001100000000*
25L00160 00000000001100110011001100000000*
26L00192 00000000001100110011001100000000*
27L00224 00000000001100110011001100000000*
28
29L00256 01010111011101111011011101111111*
30L00288 11111111111111111111111111111001*
31L00320 11111101111111111111111111111111*
32L00352 11111111111111111111111111101111*
33L00384 00000000001100110011001100000000*
34L00416 00000000001100110011001100000000*
35L00448 00000000001100110011001100000000*
36L00480 00000000001100110011001100000000*
37
38L00512 01010111011110110111011101111111*
39L00544 11111111111111111111111111111010*
40L00576 00000000001100110011001100000000*
41L00608 00000000001100110011001100000000*
42L00640 00000000001100110011001100000000*
43L00672 00000000001100110011001100000000*
44L00704 00000000001100110011001100000000*
45L00736 00000000001100110011001100000000*
46
47L00768 01010111101101110111011101111111*
48L00800 11111111111111111111111111111010*
49L00832 00000000001100110011001100000000*
50L00864 00000000001100110011001100000000*
51L00896 00000000001100110011001100000000*
52L00928 00000000001100110011001100000000*
53L00960 00000000001100110011001100000000*
54L00992 00000000001100110011001100000000*
55
56L01024 01011011011101110111011101111111*
57L01056 11111111111111111111111111110101*
58L01088 00000000001100110011001100000000*
59L01120 00000000001100110011001100000000*
60L01152 00000000001100110011001100000000*
61L01184 00000000001100110011001100000000*
62L01216 00000000001100110011001100000000*
63L01248 00000000001100110011001100000000*
64
65L01280 10010111011101110111011101111111*
66L01312 11111111111111111111111111111001*
67L01344 00000000001100110011001100000000*
68L01376 00000000001100110011001100000000*
69L01408 00000000001100110011001100000000*
70L01440 00000000001100110011001100000000*
71L01472 00000000001100110011001100000000*
72L01504 00000000001100110011001100000000*
73
74L01536 01100111011101110111011101111111*
75L01568 11111111111111111111111111110101*
76L01600 11111110111111111111111111111111*
77L01632 11111111111111111111111111011111*
78L01664 00000000001100110011001100000000*
79L01696 00000000001100110011001100000000*
80L01728 00000000001100110011001100000000*
81L01760 00000000001100110011001100000000*
82
83L01792 00000000001100110011001100000000*
84L01824 00000000001100110011001100000000*
85L01856 00000000001100110011001100000000*
86L01888 00000000001100110011001100000000*
87L01920 00000000001100110011001100000000*
88L01952 00000000001100110011001100000000*
89L01984 00000000001100110011001100000000*
90L02016 00000000001100110011001100000000*
91
92N ==> XOR *
93L02048 00000000*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 10000001*
99N ==> PTD *
100L02128 00000000111100001100000011000000*
101L02160 11000000110000001111000000000000*
102N ==> SYN 2192, AC0 2193 *
103L02192 10*
104C8809*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal10l8-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL10L8 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal10l8.jed
6Output File: gal.jed
7The Date:    Sun Sep 16 22:18:49 2012
8
9
10PAL10L8
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "pal10l8.eqn". Date: 8-27-112
14*
15NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
17NOTE PINS o19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 01010111011101110111011110111111*
21L00032 11111111111111111111111111111011*
22L00064 00000011001100110011001100110000*
23L00096 00000011001100110011001100110000*
24L00128 00000011001100110011001100110000*
25L00160 00000011001100110011001100110000*
26L00192 00000011001100110011001100110000*
27L00224 00000011001100110011001100110000*
28
29L00256 01010111011101110111101101111111*
30L00288 11111111111111111111111111111101*
31L00320 00000011001100110011001100110000*
32L00352 00000011001100110011001100110000*
33L00384 00000011001100110011001100110000*
34L00416 00000011001100110011001100110000*
35L00448 00000011001100110011001100110000*
36L00480 00000011001100110011001100110000*
37
38L00512 01010111011101111011011101111111*
39L00544 11111111111111111111111111110110*
40L00576 00000011001100110011001100110000*
41L00608 00000011001100110011001100110000*
42L00640 00000011001100110011001100110000*
43L00672 00000011001100110011001100110000*
44L00704 00000011001100110011001100110000*
45L00736 00000011001100110011001100110000*
46
47L00768 01010111011110110111011101111111*
48L00800 11111111111111111111111111111010*
49L00832 00000011001100110011001100110000*
50L00864 00000011001100110011001100110000*
51L00896 00000011001100110011001100110000*
52L00928 00000011001100110011001100110000*
53L00960 00000011001100110011001100110000*
54L00992 00000011001100110011001100110000*
55
56L01024 01010111101101110111011101111111*
57L01056 11111111111111111111111111111010*
58L01088 00000011001100110011001100110000*
59L01120 00000011001100110011001100110000*
60L01152 00000011001100110011001100110000*
61L01184 00000011001100110011001100110000*
62L01216 00000011001100110011001100110000*
63L01248 00000011001100110011001100110000*
64
65L01280 01011011011101110111011101111111*
66L01312 11111111111111111111111111110110*
67L01344 00000011001100110011001100110000*
68L01376 00000011001100110011001100110000*
69L01408 00000011001100110011001100110000*
70L01440 00000011001100110011001100110000*
71L01472 00000011001100110011001100110000*
72L01504 00000011001100110011001100110000*
73
74L01536 10010111011101110111011101111111*
75L01568 11111111111111111111111111111001*
76L01600 00000011001100110011001100110000*
77L01632 00000011001100110011001100110000*
78L01664 00000011001100110011001100110000*
79L01696 00000011001100110011001100110000*
80L01728 00000011001100110011001100110000*
81L01760 00000011001100110011001100110000*
82
83L01792 01100111011101110111011101111111*
84L01824 11111111111111111111111111110101*
85L01856 00000011001100110011001100110000*
86L01888 00000011001100110011001100110000*
87L01920 00000011001100110011001100110000*
88L01952 00000011001100110011001100110000*
89L01984 00000011001100110011001100110000*
90L02016 00000011001100110011001100110000*
91
92N ==> XOR *
93L02048 00000000*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 00000000*
99N ==> PTD *
100L02128 11000000110000001100000011000000*
101L02160 11000000110000001100000011000000*
102N ==> SYN 2192, AC0 2193 *
103L02192 10*
104CAD31*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal16l8-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL16L8 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal16l8.jed
6Output File: gal16v8.jed
7The Date:    Fri Sep 28 22:29:50 2012
8
9
10PAL16L8
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "pal16l8.eqn". Date: 8-29-112
14md
15*
16NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
17NOTE PINS i11:11 o12:12 o13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
18NOTE PINS o19:19 VCC:20*
19QF2194*QP20*F0*
20
21L00000 11111111111111111111111111111111*
22L00032 11111111111101110111101111111101*
23L00064 11110111111111110111011111111111*
24L00096 11111111111101111111111111111111*
25L00128 11111111111111110111111111111111*
26L00160 11111111111111111111011111111111*
27L00192 11111111111111111111111111111101*
28L00224 11111111111111111111101111111111*
29
30L00256 11111111111111111111111111111111*
31L00288 10111111111101110111101111111111*
32L00320 11110111111111110111011111111101*
33L00352 11110111111111111111111111111111*
34L00384 10111111111111111111101111111111*
35L00416 11110111111111111111111111111101*
36L00448 11111111111101110111101111111111*
37L00480 11111111111111111111011111111101*
38
39L00512 11111111111111101111111111111111*
40L00544 01111111111101110111101111111111*
41L00576 01111110111111111111111111111111*
42L00608 11111111111101111111111111111111*
43L00640 11111111111111110111111111111111*
44L00672 11111101111111111111101111111111*
45L00704 01111111111111111111101111111111*
46L00736 11111111111101110111111111111111*
47
48L00768 11111111111111111111111111111111*
49L00800 11111011111011111111111111111111*
50L00832 11111111101111111111111111111110*
51L00864 11111011101111111111111111111111*
52L00896 11111011011111111111111111111111*
53L00928 11111111110111111111101111111111*
54L00960 11111111111111111111101111111110*
55L00992 11111111011111111111111111111111*
56
57L01024 11111111111111111111111111111111*
58L01056 11110111111111110111011111111110*
59L01088 11111111111111010111111111111111*
60L01120 11110111111111101111111111111111*
61L01152 11111111111111111111011111111111*
62L01184 11111111111111111111111111111110*
63L01216 11111111111111110111011111111111*
64L01248 11111111111111111111011111111110*
65
66L01280 11111111111111111111111111111111*
67L01312 11011111111111111110111111111111*
68L01344 11111111111111111111111110111111*
69L01376 11011111111111111111111110111111*
70L01408 10011111111111111110111111111111*
71L01440 10111111111111111111111111111111*
72L01472 01111111111111111101111110111111*
73L01504 11110111111111111111111111111111*
74
75L01536 01111111111111111111110111111111*
76L01568 11111111111111111111111011111101*
77L01600 11111111111111111111111111111011*
78L01632 11111111111111111111111101111111*
79L01664 11111111111111111111101111111111*
80L01696 11111111111111111011110111111111*
81L01728 11111111111101111111111111111111*
82L01760 11111111011111111111111111111111*
83
84L01792 11111111111111111111111111111111*
85L01824 11110111111111111111011111111011*
86L01856 11011111111111111111111111011111*
87L01888 11110111111111111111111111111111*
88L01920 11111111111111111011111111111111*
89L01952 11111111111111111111111101111111*
90L01984 11111111111111111111111111111011*
91L02016 11111111111111111111011111101111*
92
93N ==> XOR *
94L02048 00000000*
95N ==> Signature is "" *
96L02056 00000000000000000000000000000000*
97L02088 00000000000000000000000000000000*
98N ==> AC1 *
99L02120 11111111*
100N ==> PTD *
101L02128 11111111111111111111111111111111*
102L02160 11111111111111111111111111111111*
103N ==> SYN 2192, AC0 2193 *
104L02192 11*
105CFCC2*
106
1070000
trunk/src/regtests/jedutil/jeds/gal16v8/pal16r4-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL16R4 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal16r4.jed
6Output File: gal16v8.jed
7The Date:    Sun Sep 30 22:07:16 2012
8
9
10PAL16R4
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "pal16r4.eqn". Date: 9-6-112
14*
15NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS /OE:11 o12:12 o13:13 rf14:14 rf15:15 rf16:16 rf17:17*
17NOTE PINS o18:18 o19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 11111111111111111111111111111111*
21L00032 11111111111101110111101111111111*
22L00064 11110111111111110111011111111111*
23L00096 11111111111101111111111111111111*
24L00128 11111111111111110111111111111111*
25L00160 11111111111111111111011111111111*
26L00192 11111111101111111111111111111111*
27L00224 11111111111111111111101111111111*
28
29L00256 11111111111111111111111111111111*
30L00288 10111111111101110111101111111111*
31L00320 11110111111111110111011111111111*
32L00352 11110111111111111111111111111111*
33L00384 10111111111111111111101111111111*
34L00416 11111011111111111111111111111111*
35L00448 11111111111101110111101111111111*
36L00480 11111111111111111111011111111111*
37
38L00512 01111111111101110111101111111111*
39L00544 01111110111111111111111111111111*
40L00576 11111111111101111111111111111111*
41L00608 11111111111111110111111111111111*
42L00640 11111101111111111111101111111111*
43L00672 01111111111111111111101111111111*
44L00704 11111111111101110111111111111111*
45L00736 11111011111111111111111111111111*
46
47L00768 11111011111011111111111111111111*
48L00800 11111111101111111111111111111111*
49L00832 11111011111111111111111111111111*
50L00864 11111011011111111111111111111111*
51L00896 11111111110111111111101111111111*
52L00928 11111111111111111111101111111111*
53L00960 11111111011111111111111111111111*
54L00992 01110111111111111111111111111111*
55
56L01024 11110111111111110111011111111111*
57L01056 11111111111111010111111111111111*
58L01088 11110111111111101111111111111111*
59L01120 11111111111111111111011111111111*
60L01152 11111111101111111111111111111111*
61L01184 11111111111111110111011111111111*
62L01216 11111111011111111111011111111111*
63L01248 10111111111111111111101111111111*
64
65L01280 11111111111111111110111111111111*
66L01312 11111111111111111111111110111111*
67L01344 11111111111111111111111101111111*
68L01376 10111111111111111110111111111111*
69L01408 10111111111111111111111111111111*
70L01440 01111111111111111101111110111111*
71L01472 11111111101111111111111111111111*
72L01504 11110111111111111111111111111111*
73
74L01536 01111111111111111111110111111111*
75L01568 11111111111111111111111011111111*
76L01600 11111111111111111111111111111011*
77L01632 11111111111111111111111101111111*
78L01664 11111111111111111111101111111111*
79L01696 11111111111111111011111011111111*
80L01728 11111111111101111111111111111111*
81L01760 11111111011111111111111111111111*
82
83L01792 11111111111111111111110111111111*
84L01824 10111011111111111111111111111111*
85L01856 11111111011111111111111111011111*
86L01888 11110111111111111111111111111111*
87L01920 11111111111111111011111111111111*
88L01952 11111111111111111111111101111111*
89L01984 11111111111111111111111111111011*
90L02016 11111111111111111111011111101111*
91
92N ==> XOR *
93L02048 00000000*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 11000011*
99N ==> PTD *
100L02128 11111111111111111111111111111111*
101L02160 11111111111111111111111111111111*
102N ==> SYN 2192, AC0 2193 *
103L02192 01*
104C004B*
105
1060000
trunk/src/regtests/jedutil/jeds/gal16v8/pal16r6-to-gal16v8.jed
r0r18404
1
2Device G16V8 converted from PAL16R6 JEDEC map.
3PAL to GAL JEDEC conversion utility - paltogal v3.12  17 November 1992
4Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992.
5Input File:  pal16r6.jed
6Output File: gal16v8.jed
7The Date:    Sun Sep 30 22:09:28 2012
8
9
10PAL16R6
11EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
12Copyright (c) National Semiconductor Corporation 1990-1993
13Assembled from "pal16r6.eqn". Date: 9-10-112
14*
15NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
16NOTE PINS /OE:11 o12:12 rf13:13 rf14:14 rf15:15 rf16:16 rf17:17*
17NOTE PINS rf18:18 o19:19 VCC:20*
18QF2194*QP20*F0*
19
20L00000 11111111111111111111111111111111*
21L00032 11111111111101110111101111111111*
22L00064 11110111111111110111011111111111*
23L00096 11111111111101111111111111111111*
24L00128 11111111111111110111111111111111*
25L00160 11111111111111111111011111111111*
26L00192 11111111101111111111111111111111*
27L00224 11111111111111111111101111111111*
28
29L00256 10111111111101110111101111111111*
30L00288 11110111111111110111011111111111*
31L00320 11110111111111111111111111111111*
32L00352 10111111111111111111101111111111*
33L00384 11111011111111111111111111111111*
34L00416 11111111111101110111101111111111*
35L00448 11111111111111111111011111111111*
36L00480 11111111011111111111111111111111*
37
38L00512 01111111111101110111101111111111*
39L00544 01111110111111111111111111111111*
40L00576 11111111111101111111111111111111*
41L00608 11111111111111110111111111111111*
42L00640 11111101111111111111101111111111*
43L00672 01111111111111111111101111111111*
44L00704 11111111111101110111111111111111*
45L00736 11111011111111111111111111111111*
46
47L00768 11111011111011111111111111111111*
48L00800 11111111101111111111111111111111*
49L00832 11111011111111111111111111111111*
50L00864 11111011011111111111111111111111*
51L00896 11111111110111111111101111111111*
52L00928 11111111111111111111101111111111*
53L00960 11111111011111111111111111111111*
54L00992 01110111111111111111111111111111*
55
56L01024 11110111111111110111011111111111*
57L01056 11111111111111010111111111111111*
58L01088 11110111111111101111111111111111*
59L01120 11111111111111111111011111111111*
60L01152 11111111101111111111111111111111*
61L01184 11111111111111110111011111111111*
62L01216 11111111011111111111011111111111*
63L01248 10111111111111111111101111111111*
64
65L01280 11111111111111111110111111111111*
66L01312 11111111111111111111111110111111*
67L01344 11111111111111111111111101111111*
68L01376 10111111111111111110111111111111*
69L01408 10111111111111111111111111111111*
70L01440 01111111111111111101111110111111*
71L01472 11111111101111111111111111111111*
72L01504 11110111111111111111111111111111*
73
74L01536 11111111111111111111111011111111*
75L01568 11111111111111111111111111111011*
76L01600 11111111111111111111111101111111*
77L01632 11111111111111111111101111111111*
78L01664 11111111111111111011111011111111*
79L01696 11111111111101111111110111111111*
80L01728 11111111011111111111111111111111*
81L01760 10111111111111111111111111111111*
82
83L01792 11111111111111111111110111111111*
84L01824 10111011111111111111111111111111*
85L01856 11111111011111111111111111011111*
86L01888 11110111111111111111111111111111*
87L01920 11111111111111111011111111111111*
88L01952 11111111111111111111111101111111*
89L01984 11111111111111111111111111111011*
90L02016 11111111111111111111011111101111*
91
92N ==> XOR *
93L02048 00000000*
94N ==> Signature is "" *
95L02056 00000000000000000000000000000000*
96L02088 00000000000000000000000000000000*
97N ==> AC1 *
98L02120 10000001*
99N ==> PTD *
100L02128 11111111111111111111111111111111*
101L02160 11111111111111111111111111111111*
102N ==> SYN 2192, AC0 2193 *
103L02192 01*
104C0007*
105
1060000
trunk/src/regtests/jedutil/jeds/pal16r4/pal16r4.jed
r0r18404
1
2PAL16R4
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal16r4.eqn". Date: 9-6-112
6*
7NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS /OE:11 o12:12 o13:13 rf14:14 rf15:15 rf16:16 rf17:17*
9NOTE PINS o18:18 o19:19 VCC:20*
10QF2048*QP20*F0*
11L0000
1211111111111111111111111111111111
1311111111111101110111101111111111
1411110111111111110111011111111111
1511111111111101111111111111111111
1611111111111111110111111111111111
1711111111111111111111011111111111
1811111111101111111111111111111111
1911111111111111111111101111111111*
20L0256
2111111111111111111111111111111111
2210111111111101110111101111111111
2311110111111111110111011111111111
2411110111111111111111111111111111
2510111111111111111111101111111111
2611111011111111111111111111111111
2711111111111101110111101111111111
2811111111111111111111011111111111*
29L0512
3001111111111101110111101111111111
3101111110111111111111111111111111
3211111111111101111111111111111111
3311111111111111110111111111111111
3411111101111111111111101111111111
3501111111111111111111101111111111
3611111111111101110111111111111111
3711111011111111111111111111111111*
38L0768
3911111011111011111111111111111111
4011111111101111111111111111111111
4111111011111111111111111111111111
4211111011011111111111111111111111
4311111111110111111111101111111111
4411111111111111111111101111111111
4511111111011111111111111111111111
4601110111111111111111111111111111*
47L1024
4811110111111111110111011111111111
4911111111111111010111111111111111
5011110111111111101111111111111111
5111111111111111111111011111111111
5211111111101111111111111111111111
5311111111111111110111011111111111
5411111111011111111111011111111111
5510111111111111111111101111111111*
56L1280
5711111111111111111110111111111111
5811111111111111111111111110111111
5911111111111111111111111101111111
6010111111111111111110111111111111
6110111111111111111111111111111111
6201111111111111111101111110111111
6311111111101111111111111111111111
6411110111111111111111111111111111*
65L1536
6601111111111111111111110111111111
6711111111111111111111111011111111
6811111111111111111111111111111011
6911111111111111111111111101111111
7011111111111111111111101111111111
7111111111111111111011111011111111
7211111111111101111111111111111111
7311111111011111111111111111111111*
74L1792
7511111111111111111111110111111111
7610111011111111111111111111111111
7711111111011111111111111111011111
7811110111111111111111111111111111
7911111111111111111011111111111111
8011111111111111111111111101111111
8111111111111111111111111111111011
8211111111111111111111011111101111*
83CF78E*
840000
trunk/src/regtests/jedutil/jeds/pal20l10/pal20l10.jed
r0r18404
1
2PAL20L10
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal20l10.eqn". Date: 8-31-112
6*
7NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10*
8NOTE PINS i11:11 GND:12 i13:13 o14:14 o15:15 o16:16 o17:17 o18:18*
9NOTE PINS o19:19 o20:20 o21:21 o22:22 o23:23 VCC:24*
10QF1600*QP24*F0*
11L0000
121111111111111111111111111111111111111111
131111111111111111111101111111111111111111
141111111111111111111111111111111111110111
151111111111111111111111111111111111111110*
16L0160
171111011111111111111110111111111111111111
181101111111111111111111111011111111111111
191111111111111111111111111011111111111111
201101111111111111111111111111111111111111*
21L0320
221111111111110111011111111111111111111111
231101111111111111111111110111111111111111
241111111010111111111111111111111111111111
251111110111111111111111111111111111111111*
26L0480
271111111111111111111111111111111111111111
281111111111011111111111111111111111111111
291111111111111111101111111111111111111111
301111111111101111111110111111111111111111*
31L0640
321111111111111110111111110111111111111111
331111111111111101111111111111111111110111
340111111111111111111111111111111110111111
351111111111111111111111111111011111110111*
36L0800
371101111111111111111111111111111101111111
381001011110111111111111111011111111111111
391111111111111111101001110111011101111111
400101011110111011110111111111111111111111*
41L0960
421111111101110111111111111111111111111111
431111111111111111111111101111111111111111
441111111111111111111111011111111101111111
451111111111111111111111111111011111111111*
46L1120
471111111111111111111111111111111111111111
481001111111111111111111111110111111111111
491111011110111111111111111111111111111111
501111011111111111111111111101011111111111*
51L1280
521111111111111111111111111111111011111111
530110101101111111111111111111111111110111
540110101111111011111111111111110111111110
550110101111111111011111111111111111111111*
56L1440
571111111111111111111111111111111111011111
581111111111111111111111111111111111111011
591111111111111111111111111111111101111111
601111111111111111111111111111011111101111*
61CC08C*
620000
trunk/src/regtests/jedutil/jeds/pal16r6/pal16r6.jed
r0r18404
1
2PAL16R6
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal16r6.eqn". Date: 9-10-112
6*
7NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS /OE:11 o12:12 rf13:13 rf14:14 rf15:15 rf16:16 rf17:17*
9NOTE PINS rf18:18 o19:19 VCC:20*
10QF2048*QP20*F0*
11L0000
1211111111111111111111111111111111
1311111111111101110111101111111111
1411110111111111110111011111111111
1511111111111101111111111111111111
1611111111111111110111111111111111
1711111111111111111111011111111111
1811111111101111111111111111111111
1911111111111111111111101111111111*
20L0256
2110111111111101110111101111111111
2211110111111111110111011111111111
2311110111111111111111111111111111
2410111111111111111111101111111111
2511111011111111111111111111111111
2611111111111101110111101111111111
2711111111111111111111011111111111
2811111111011111111111111111111111*
29L0512
3001111111111101110111101111111111
3101111110111111111111111111111111
3211111111111101111111111111111111
3311111111111111110111111111111111
3411111101111111111111101111111111
3501111111111111111111101111111111
3611111111111101110111111111111111
3711111011111111111111111111111111*
38L0768
3911111011111011111111111111111111
4011111111101111111111111111111111
4111111011111111111111111111111111
4211111011011111111111111111111111
4311111111110111111111101111111111
4411111111111111111111101111111111
4511111111011111111111111111111111
4601110111111111111111111111111111*
47L1024
4811110111111111110111011111111111
4911111111111111010111111111111111
5011110111111111101111111111111111
5111111111111111111111011111111111
5211111111101111111111111111111111
5311111111111111110111011111111111
5411111111011111111111011111111111
5510111111111111111111101111111111*
56L1280
5711111111111111111110111111111111
5811111111111111111111111110111111
5911111111111111111111111101111111
6010111111111111111110111111111111
6110111111111111111111111111111111
6201111111111111111101111110111111
6311111111101111111111111111111111
6411110111111111111111111111111111*
65L1536
6611111111111111111111111011111111
6711111111111111111111111111111011
6811111111111111111111111101111111
6911111111111111111111101111111111
7011111111111111111011111011111111
7111111111111101111111110111111111
7211111111011111111111111111111111
7310111111111111111111111111111111*
74L1792
7511111111111111111111110111111111
7610111011111111111111111111111111
7711111111011111111111111111011111
7811110111111111111111111111111111
7911111111111111111011111111111111
8011111111111111111111111101111111
8111111111111111111111111111111011
8211111111111111111111011111101111*
83CF78C*
840000
trunk/src/regtests/jedutil/jeds/pal16r8/pal16r8.jed
r0r18404
1
2PAL16R8
3EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
4Copyright (c) National Semiconductor Corporation 1990-1993
5Assembled from "pal16r8.eqn". Date: 9-10-112
6*
7NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 GND:10*
8NOTE PINS /OE:11 rf12:12 rf13:13 rf14:14 rf15:15 rf16:16 rf17:17*
9NOTE PINS rf18:18 rf19:19 VCC:20*
10QF2048*QP20*F0*
11L0000
1211111111111101110111101111111111
1311110111111111110111011111111111
1411111111111101111111111111111101
1511111111111111110111111111111111
1611111111111111111111011111111111
1711111111101111111111111111111110
1811111111111111111111101111111111
1901111111111111111111111111111111*
20L0256
2110111111111101110111101111111111
2211110111111111110111011111111111
2311010111111111111111111111111111
2410111111111111111111101111111111
2511101011111111111111111111111111
2611111111111101110111101111111111
2711111111111111111111011111111111
2811111111101111111111111111111111*
29L0512
3001111111111101110111101111111111
3101111110111111111111111111111111
3211111111111101111111111111111111
3311111111111111110111111111111111
3411111101111111111111101111111111
3501111111111111111111101111111111
3611111111111101110111111111111111
3711111011111111111111111111111111*
38L0768
3911111011111011111111111111111111
4011111111101111111111111111111111
4111111011111111111111111111111111
4211111011011111111111111111111111
4311111111110111111111101111111111
4411111111111111111111101111111111
4511111111011111111111111111111111
4601110111111111111111111111111111*
47L1024
4811110111111111110111011111111111
4911111111111111010111111111111111
5011110111111111101111111111111111
5111111111111111111111011111111111
5211111111101111111111111111111111
5311111111111111110111011111111111
5411111111011111111111011111111111
5510111111111111111111101111111111*
56L1280
5711111111111111111110111111111111
5811111111111111111111111110111111
5911111111111111111111111101111111
6010111111111111111110111111111111
6110111111111111111111111111111111
6201111111111111111101111110111111
6311111111101111111111111111111111
6411110111111111111111111111111111*
65L1536
6611111111111111111111111011111111
6711111111111111111111111111111011
6811111111111111111111111101111111
6911111111111111111111101111111111
7011111111111111111011110111111111
7111111111111101111111111111111111
7211111111011111111111111111111111
7311111011111111111111111111111111*
74L1792
7510111011111111111111111111111111
7611111111011111111111111111011111
7711110111111111111111111111111111
7811111111111111111011111111111111
7911111111111111111111111101111111
8011111111111111111111111111111011
8111111111111111111111011111101111
8211111111111101111111111111111111*
83CF750*
840000
trunk/src/regtests/jedutil/eqns/pal16l2.eqn
r18403r18404
1chip 2000 PAL16L2
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 i14=14 o15=15 o16=16 i17=17 i18=18 i19=19 VCC=20
5
6equations
7
8/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
9       /i9 +
10       /i11 +
11       /i12 +
12       i13 +
13       i14 +
14       i17 +
15       i18 & i19
16
17/o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
18       i9 +
19       i11 +
20       i12 +
21       /i13 +
22       /i14 +
23       /i17 +
24       /i18 & /i19
trunk/src/regtests/jedutil/eqns/pal14l4.eqn
r18403r18404
1chip 2000 PAL14L4
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 o14=14 o15=15 o16=16 o17=17 i18=18 i19=19 VCC=20
5
6equations
7
8/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9       /i9 & i11 +
10       i12 & /i13 +
11       i18 & i19
12
13/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
14       /i9 & /i11 +
15       /i12 & i13 +
16       /i18 & i19
17
18/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
19       /i9 & /i11 +
20       i12 & i13 +
21       i18 & /i19
22
23/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24       /i9 & i11 +
25       /i12 & /i13 +
26       /i18 & /i19
trunk/src/regtests/jedutil/eqns/pal12l6.eqn
r18403r18404
1chip 2000 PAL12L6
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 i19=19 VCC=20
5
6equations
7
8/o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9       i9 & i11 +
10       /i19 +
11       i12
12
13/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
14       /i9 & i11
15
16/o15 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
17       i9 & i11
18
19/o16 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
20       /i9 & /i11
21
22/o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
23       /i9 & /i11
24
25/o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
26       /i9 & i11 +
27       i19 +
28       /i12
trunk/src/regtests/jedutil/eqns/pal10l8.eqn
r18403r18404
1chip 2000 PAL10L8
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4o12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 o19=19 VCC=20
5
6equations
7
8/o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9       i9 & i11
10
11/o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
12       /i9 & i11
13
14/o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
15       i9 & /i11
16
17/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
18       /i9 & /i11
19
20/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
21       /i9 & /i11
22
23/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24       i9 & /i11
25
26/o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
27       i11
28
29/o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30       /i9
trunk/src/regtests/jedutil/eqns/pal20l8.eqn
r18403r18404
1chip 2000 PAL20L8
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 i10=10 i11=11 GND=12
4i13=13 i14=14 o15=15 o16=16 o17=17 o18=18 o19=19 o20=20 o21=21 o22=22 i23=23 VCC=24
5
6equations
7
8/o15 = /i1 & i2 & /i3 & i4 & i11 +
9       /i1 & i2 & /i3 & /i5 & /i13 +
10       /i1 & i2 & /i3 & i6 & i14 +
11       /i1 & i2 & /i3 & /i7 & /i23 +
12       /i1 & i2 & /i3 & i8 & /i11 +
13       /i1 & i2 & /i3 & /i9 & i13 +
14       /o16
15o15.oe = o16
16
17/o16 = i1 & /i2 & /o17 +
18       i3 & /i4 +
19       i5 & /i6 +
20       i7 & /i8 +
21       i3 & i9 & o17 +
22       i1 & /i2 & i3 & /i4 & i5 & /i6 & i7 & /i8 & /i9 +
23       /i8 & /i9
24o16.oe = vcc
25
26/o17 = /i23 & /o18 +
27       i10 & o18 +
28       i9 +
29       i8 +
30       /i7 +
31       /i6 +
32       i5
33o17.oe = i4 & i5
34
35/o18 = i1 & /i2 & i3 & /i4 & /i8 & i23 +
36       i1 & i2 & i3 & /i4 & /i5 +
37       /i6 & i7 & i8 & i9 & i10 & /o19 +
38       i11 & i13 & i14 & i23 +
39       /i6 & i7 & i8 & i9 & i10 +
40       i3 & i13 & i14 & i23 +
41       i1 & i2 & i3 & /i4 & /i5 & o19
42o18.oe = i1 & i10 & i23
43
44/o19 = i9 & /i10 & i11 & i23 +
45       i9 +
46       /i10 +
47       i11 & o20 +
48       i23 +
49       i2 & /i10 & i23 +
50       i9 & i11
51o19.oe = i8 & /o20
52
53/o20 = o21 +
54       /i2 +
55       /i3 +
56       /i4 +
57       /i5 +
58       /i6 +
59       /i7 & /o21
60o20.oe = vcc
61
62/o21 = i1 & i8 +
63       /i14 +
64       i1 & /i5 & i8 +
65       i23 +
66       i1 & i8 & /i14 +
67       i13 +
68       i1 & i11
69o21.oe = i5 & i6
70
71/o22 = i1 & /i8 +
72       /i8 +
73       i1 +
74       /i10 +
75       /i23 +
76       i8 & /i13 +
77       /i11
78o22.oe = i3 & /i7
trunk/src/regtests/jedutil/eqns/pal16l8.eqn
r18403r18404
1md
2chip 2000 PAL16L8
3
4i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10
5i11=11 o12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 o19=19 VCC=20
6
7equations
8
9/o12 = i3 & i7 & /i9 +
10       i1 & o13 +
11       i3 +
12       /i6 +
13       i8 +
14       /i9 +
15       i7 & /o13
16o12.oe = vcc
17
18/o13 = i11 & /o14 +
19       /i9 +
20       i8 +
21       /i7 +
22       /i6 & o14 +
23       i5 +
24       i4
25o13.oe = i2 & o14
26
27/o14 = i1 & /o15 +
28       /i8 +
29       i1 & /i8 +
30       i1 & /i2 & /o15 +
31       /i2 +
32       i2 & /i8 & o15 +
33       i3
34o14.oe = vcc
35
36/o15 = i3 & i6 & i7 & /i11 +
37       i6 & o16 +
38       i3 & /o16 +
39       i7 +
40       /i11 +
41       i6 & i7 +
42       i7 & /i11
43o15.oe = vcc
44
45/o16 = /i3 & /o17 +
46       /i4 & /i11 +
47       /i4 & /i3 +
48       /i3 & i4 +
49       /i7 & o17 +
50       /i7 & /i11 +
51       i4
52o16.oe = vcc
53
54/o17 = i2 & i5 & i6 & /i7 +
55       i2 & /o18 +
56       i5 +
57       i6 +
58       /i7 & o18 +
59       i2 & /i7 +
60       i5 & i6
61o17.oe = /o16
62
63/o18 = /i2 & i5 & i6 & /i7 +
64       i3 & i6 & i7 & i11 +
65       i3 +
66       /i2 & /i7 +
67       i3 & i11 +
68       i5 & i6 & /i7 +
69       i7 & i11
70o18.oe = vcc
71
72/o19 = i5 & i6 & /i7 & i11 +
73       i3 & i6 & i7 +
74       i5 +
75       i6 +
76       i7 +
77       i11 +
78       /i7
79o19.oe = vcc
trunk/src/regtests/jedutil/eqns/pal20l10.eqn
r18403r18404
1chip 2000 PAL20L10
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 i10=10 i11=11 GND=12
4i13=13 o14=14 o15=15 o16=16 o17=17 o18=18 o19=19 o20=20 o21=21 o22=22 o23=23 VCC=24
5
6equations
7
8/o14 = /i11 +
9       i10 +
10       i9 & /o15
11o14.oe = o15
12
13/o15 = /i1 & i2 & /i3 & i4 & i11 +
14       /i1 & i2 & /i3 & /i5 & /i13 & o16 +
15       /i1 & i2 & /i3 & i6
16o15.oe = /o16
17
18/o16 = i1 & /i2 & /o17 +
19       i3 & /i4 +
20       i3 & i9 & o17
21o16.oe = vcc
22
23/o17 = /o18 +
24       i10 & o18 +
25       i9
26o17.oe = i4 & i5
27
28/o18 = i1 & /i2 & i3 & /i4 & /i8 +
29       /i6 & i7 & i8 & i9 & i10 & /o19 +
30       i1 & i2 & i3 & /i4 & /i5 & o19
31o18.oe = i1 & i10
32
33/o19 = i11 & o20 +
34       i2 & /i10 +
35       i9 & i11
36o19.oe = i8 & /o20
37
38/o20 = o21 +
39       /i6 +
40       /i7 & /o21
41o20.oe = vcc
42
43/o21 = i1 & i8 +
44       /i4 & /o22 +
45       o22
46o21.oe = i5 & i6
47
48/o22 = i1 & /i8 +
49       /i8 +
50       i1
51o22.oe = i3 & /i7
52
53/o23 = i7 +
54       i11 +
55       /i13
56o23.oe = vcc
trunk/src/regtests/jedutil/eqns/pal10h8.eqn
r18403r18404
1chip 2000 PAL10H8
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4o12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 o19=19 VCC=20
5
6equations
7
8o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9      i9 & i11
10
11o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
12      /i9 & i11
13
14o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
15      i9 & /i11
16
17o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
18      /i9 & /i11
19
20o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
21      /i9 & /i11
22
23o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24      i9 & /i11
25
26o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
27      /i9 & i11
28
29o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30      i11
trunk/src/regtests/jedutil/eqns/pal12h6.eqn
r18403r18404
1chip 2000 PAL12H6
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 i19=19 VCC=20
5
6equations
7
8o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9      i9 & i11 +
10      /i19 +
11      i12
12
13o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
14      /i9 & i11
15
16o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
17      /i9 & /i11
18
19o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
20      i9 & /i11
21
22o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
23      /i9 & /i11
24
25o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
26      /i9 & i11 +
27      i19 +
28      /i12
trunk/src/regtests/jedutil/eqns/pal14h4.eqn
r18403r18404
1chip 2000 PAL14H4
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 o14=14 o15=15 o16=16 o17=17 i18=18 i19=19 VCC=20
5
6equations
7
8o14 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9      i9 & i11 +
10      /i12 & /i13 +
11      i18 & /i19
12
13o15 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
14      i9 & /i11 +
15      i12 & i13 +
16      /i18 & i19
17
18o16 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
19      /i9 & i11 +
20      i12 & /i13 +
21      /i18 & /i19
22
23o17 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
24      i9 & i11 +
25      /i12 & i13 +
26      i18 & i19
trunk/src/regtests/jedutil/eqns/pal16h2.eqn
r18403r18404
1chip 2000 PAL16H2
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 i14=14 o15=15 o16=16 i17=17 i18=18 i19=19 VCC=20
5
6equations
7
8o15 = i1 & i2 & i3 & /i4 & i5 & /i6 & i7 & i8 +
9      i9 +
10      /i11 +
11      i12 +
12      /i13 +
13      i14 +
14      /i17 +
15      i18 & /i19
16
17o16 = i1 & i2 & /i3 & i4 & /i5 & i6 & i7 & i8 +
18      /i9 +
19      i11 +
20      /i12 +
21      i13 +
22      /i14 +
23      i17 +
24      /i18 & i19
trunk/src/regtests/jedutil/eqns/pal10h8/pal10h8.eqn
r0r18404
1chip 2000 PAL10H8
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4o12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 o19=19 VCC=20
5
6equations
7
8o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9      i9 & i11
10
11o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
12      /i9 & i11
13
14o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
15      i9 & /i11
16
17o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
18      /i9 & /i11
19
20o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
21      /i9 & /i11
22
23o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24      i9 & /i11
25
26o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
27      /i9 & i11
28
29o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30      i11
trunk/src/regtests/jedutil/eqns/pal16h2/pal16h2.eqn
r0r18404
1chip 2000 PAL16H2
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 i14=14 o15=15 o16=16 i17=17 i18=18 i19=19 VCC=20
5
6equations
7
8o15 = i1 & i2 & i3 & /i4 & i5 & /i6 & i7 & i8 +
9      i9 +
10      /i11 +
11      i12 +
12      /i13 +
13      i14 +
14      /i17 +
15      i18 & /i19
16
17o16 = i1 & i2 & /i3 & i4 & /i5 & i6 & i7 & i8 +
18      /i9 +
19      i11 +
20      /i12 +
21      i13 +
22      /i14 +
23      i17 +
24      /i18 & i19
trunk/src/regtests/jedutil/eqns/pal14h4/pal14h4.eqn
r0r18404
1chip 2000 PAL14H4
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 o14=14 o15=15 o16=16 o17=17 i18=18 i19=19 VCC=20
5
6equations
7
8o14 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9      i9 & i11 +
10      /i12 & /i13 +
11      i18 & /i19
12
13o15 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
14      i9 & /i11 +
15      i12 & i13 +
16      /i18 & i19
17
18o16 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
19      /i9 & i11 +
20      i12 & /i13 +
21      /i18 & /i19
22
23o17 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
24      i9 & i11 +
25      /i12 & i13 +
26      i18 & i19
trunk/src/regtests/jedutil/eqns/pal12h6/pal12h6.eqn
r0r18404
1chip 2000 PAL12H6
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 i19=19 VCC=20
5
6equations
7
8o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9      i9 & i11 +
10      /i19 +
11      i12
12
13o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
14      /i9 & i11
15
16o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
17      /i9 & /i11
18
19o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
20      i9 & /i11
21
22o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
23      /i9 & /i11
24
25o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
26      /i9 & i11 +
27      i19 +
28      /i12
trunk/src/regtests/jedutil/eqns/pal14l4/pal14l4.eqn
r0r18404
1chip 2000 PAL14L4
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 o14=14 o15=15 o16=16 o17=17 i18=18 i19=19 VCC=20
5
6equations
7
8/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9       /i9 & i11 +
10       i12 & /i13 +
11       i18 & i19
12
13/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
14       /i9 & /i11 +
15       /i12 & i13 +
16       /i18 & i19
17
18/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
19       /i9 & /i11 +
20       i12 & i13 +
21       i18 & /i19
22
23/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24       /i9 & i11 +
25       /i12 & /i13 +
26       /i18 & /i19
trunk/src/regtests/jedutil/eqns/pal12l6/pal12l6.eqn
r0r18404
1chip 2000 PAL12L6
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 i19=19 VCC=20
5
6equations
7
8/o13 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9       i9 & i11 +
10       /i19 +
11       i12
12
13/o14 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
14       /i9 & i11
15
16/o15 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
17       i9 & i11
18
19/o16 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
20       /i9 & /i11
21
22/o17 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
23       /i9 & /i11
24
25/o18 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
26       /i9 & i11 +
27       i19 +
28       /i12
trunk/src/regtests/jedutil/eqns/pal10l8/pal10l8.eqn
r0r18404
1chip 2000 PAL10L8
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4o12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 o19=19 VCC=20
5
6equations
7
8/o12 = /i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 +
9       i9 & i11
10
11/o13 = i1 & /i2 & i3 & i4 & i5 & i6 & i7 & i8 +
12       /i9 & i11
13
14/o14 = i1 & i2 & /i3 & i4 & i5 & i6 & i7 & i8 +
15       i9 & /i11
16
17/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
18       /i9 & /i11
19
20/o16 = i1 & i2 & i3 & i4 & /i5 & i6 & i7 & i8 +
21       /i9 & /i11
22
23/o17 = i1 & i2 & i3 & i4 & i5 & /i6 & i7 & i8 +
24       i9 & /i11
25
26/o18 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
27       i11
28
29/o19 = i1 & i2 & i3 & i4 & i5 & i6 & i7 & /i8 +
30       /i9
trunk/src/regtests/jedutil/eqns/pal16l2/pal16l2.eqn
r0r18404
1chip 2000 PAL16L2
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 i14=14 o15=15 o16=16 i17=17 i18=18 i19=19 VCC=20
5
6equations
7
8/o15 = i1 & i2 & i3 & /i4 & i5 & i6 & i7 & i8 +
9       /i9 +
10       /i11 +
11       /i12 +
12       i13 +
13       i14 +
14       i17 +
15       i18 & i19
16
17/o16 = i1 & i2 & i3 & i4 & i5 & i6 & /i7 & i8 +
18       i9 +
19       i11 +
20       i12 +
21       /i13 +
22       /i14 +
23       /i17 +
24       /i18 & /i19
trunk/src/regtests/jedutil/eqns/pal20l8/pal20l8.eqn
r0r18404
1chip 2000 PAL20L8
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 i10=10 i11=11 GND=12
4i13=13 i14=14 o15=15 o16=16 o17=17 o18=18 o19=19 o20=20 o21=21 o22=22 i23=23 VCC=24
5
6equations
7
8/o15 = /i1 & i2 & /i3 & i4 & i11 +
9       /i1 & i2 & /i3 & /i5 & /i13 +
10       /i1 & i2 & /i3 & i6 & i14 +
11       /i1 & i2 & /i3 & /i7 & /i23 +
12       /i1 & i2 & /i3 & i8 & /i11 +
13       /i1 & i2 & /i3 & /i9 & i13 +
14       /o16
15o15.oe = o16
16
17/o16 = i1 & /i2 & /o17 +
18       i3 & /i4 +
19       i5 & /i6 +
20       i7 & /i8 +
21       i3 & i9 & o17 +
22       i1 & /i2 & i3 & /i4 & i5 & /i6 & i7 & /i8 & /i9 +
23       /i8 & /i9
24o16.oe = vcc
25
26/o17 = /i23 & /o18 +
27       i10 & o18 +
28       i9 +
29       i8 +
30       /i7 +
31       /i6 +
32       i5
33o17.oe = i4 & i5
34
35/o18 = i1 & /i2 & i3 & /i4 & /i8 & i23 +
36       i1 & i2 & i3 & /i4 & /i5 +
37       /i6 & i7 & i8 & i9 & i10 & /o19 +
38       i11 & i13 & i14 & i23 +
39       /i6 & i7 & i8 & i9 & i10 +
40       i3 & i13 & i14 & i23 +
41       i1 & i2 & i3 & /i4 & /i5 & o19
42o18.oe = i1 & i10 & i23
43
44/o19 = i9 & /i10 & i11 & i23 +
45       i9 +
46       /i10 +
47       i11 & o20 +
48       i23 +
49       i2 & /i10 & i23 +
50       i9 & i11
51o19.oe = i8 & /o20
52
53/o20 = o21 +
54       /i2 +
55       /i3 +
56       /i4 +
57       /i5 +
58       /i6 +
59       /i7 & /o21
60o20.oe = vcc
61
62/o21 = i1 & i8 +
63       /i14 +
64       i1 & /i5 & i8 +
65       i23 +
66       i1 & i8 & /i14 +
67       i13 +
68       i1 & i11
69o21.oe = i5 & i6
70
71/o22 = i1 & /i8 +
72       /i8 +
73       i1 +
74       /i10 +
75       /i23 +
76       i8 & /i13 +
77       /i11
78o22.oe = i3 & /i7
trunk/src/regtests/jedutil/eqns/pal20r4/pal20r4.eqn
r0r18404
1chip pal20r4 PAL20R4
2
3CLK=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 i10=10 i11=11 GND=12
4/OE=13 i14=14 o15=15 o16=16 rf17=17 rf18=18 rf19=19 rf20=20 o21=21 o22=22 i23=23 VCC=24
5
6equations
7
8/o15 = i2 & i6 & i7 +
9       i6 & o16 +
10       i3 & /o16 +
11       i7 +
12       /i4 +
13       i6 & i7 +
14       i4 & i7
15o15.oe = /i23
16
17/o16 = /i3 & /rf17 +
18       /i4 +
19       /i3 +
20       /i3 & i4 +
21       /i7 & rf17 +
22       /i7 +
23       i4
24o16.oe = i23
25
26/rf17 := /i2 +
27         /rf18 +
28         i5 +
29         i6 +
30         rf18 +
31         i4 +
32         /i10 +
33         /i23
34rf17.oe = OE
35
36/rf18 := /i2 & i5 & i6 & /i7 +
37         i3 & i6 & i7 +
38         i3 & rf19 +
39         /i2 & /i7 +
40         /i3 & /rf19 +
41         i5 & i6 & /i7 +
42         i7 +
43         /i11
44rf18.oe = OE
45
46/rf19 := i5 & i6 & /i7 +
47         i3 & i6 & i7 +
48         i5 & rf20 +
49         i6 +
50         i7 +
51         /i4 & /rf20 +
52         /i7 +
53         i10
54rf19.oe = OE
55
56/rf20 := i10 & rf17 +
57         /i11 +
58         i4 & /rf17 +
59         i2 +
60         /i6 & /i7 +
61         i8 +
62         /i9 +
63         o22
64rf20.oe = OE
65
66/o21 = /i8 +
67       /i2 & rf17 +
68       i11 +
69       /i10 +
70       o15 +
71       /i14 +
72       /i3
73o21.oe = i8 & i9 & /o22
74
75/o22 = i14 +
76       /o15 +
77       i3 & /o21 +
78       i7 +
79       /i8 & o21 +
80       i10 +
81       /i9
82o22.oe = i14 & /o15
No newline at end of file
trunk/src/regtests/jedutil/eqns/pal20r6/pal20r6.eqn
r0r18404
1chip pal20r6 PAL20R6
2
3CLK=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 i10=10 i11=11 GND=12
4/OE=13 i14=14 o15=15 rf16=16 rf17=17 rf18=18 rf19=19 rf20=20 rf21=21 o22=22 i23=23 VCC=24
5
6equations
7
8/o15 = i2 & i6 & i7 +
9       i6 & rf16 +
10       i3 & /rf16 +
11       i7 +
12       /i4 +
13       i6 & i7 +
14       i4 & i7
15o15.oe = /i23
16
17/rf16 := /i3 & /rf17 +
18         /i4 & /i23 +
19         /i3 +
20         /i3 & i4 +
21         /i7 & rf17 +
22         /i7 +
23         i4 +
24         i23
25rf16.oe = OE
26
27/rf17 := /i2 +
28         /rf18 +
29         i5 +
30         i6 +
31         rf18 +
32         i4 +
33         /i10 +
34         /i23
35rf17.oe = OE
36
37/rf18 := /i2 & i5 & i6 & /i7 +
38         i3 & i6 & i7 +
39         i3 & rf19 +
40         /i2 & /i7 +
41         /i3 & /rf19 +
42         i5 & i6 & /i7 +
43         i7 +
44         /i11
45rf18.oe = OE
46
47/rf19 := i5 & i6 & /i7 +
48         i3 & i6 & i7 +
49         i5 & rf20 +
50         i6 +
51         i7 +
52         /i4 & /rf20 +
53         /i7 +
54         i10
55rf19.oe = OE
56
57/rf20 := i10 & rf17 +
58         /i11 +
59         i4 & /rf17 +
60         i2 +
61         /i6 & /i7 +
62         i8 +
63         /i9 +
64         o22
65rf20.oe = OE
66
67/rf21 := /i8 +
68         /i2 & rf17 +
69         i11 +
70         /i10 +
71         o15 +
72         /i14 & /o22 +
73         /i3 +
74         /i5
75rf21.oe = OE
76
77/o22 = i14 +
78       /o15 +
79       i3 & /rf21 +
80       i7 +
81       /i8 & rf21 +
82       i10 +
83       /i9
84o22.oe = i14 & /o15
No newline at end of file
trunk/src/regtests/jedutil/eqns/pal16l8/pal16l8.eqn
r0r18404
1md
2chip 2000 PAL16L8
3
4i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10
5i11=11 o12=12 o13=13 o14=14 o15=15 o16=16 o17=17 o18=18 o19=19 VCC=20
6
7equations
8
9/o12 = i3 & i7 & /i9 +
10       i1 & o13 +
11       i3 +
12       /i6 +
13       i8 +
14       /i9 +
15       i7 & /o13
16o12.oe = vcc
17
18/o13 = i11 & /o14 +
19       /i9 +
20       i8 +
21       /i7 +
22       /i6 & o14 +
23       i5 +
24       i4
25o13.oe = i2 & o14
26
27/o14 = i1 & /o15 +
28       /i8 +
29       i1 & /i8 +
30       i1 & /i2 & /o15 +
31       /i2 +
32       i2 & /i8 & o15 +
33       i3
34o14.oe = vcc
35
36/o15 = i3 & i6 & i7 & /i11 +
37       i6 & o16 +
38       i3 & /o16 +
39       i7 +
40       /i11 +
41       i6 & i7 +
42       i7 & /i11
43o15.oe = vcc
44
45/o16 = /i3 & /o17 +
46       /i4 & /i11 +
47       /i4 & /i3 +
48       /i3 & i4 +
49       /i7 & o17 +
50       /i7 & /i11 +
51       i4
52o16.oe = vcc
53
54/o17 = i2 & i5 & i6 & /i7 +
55       i2 & /o18 +
56       i5 +
57       i6 +
58       /i7 & o18 +
59       i2 & /i7 +
60       i5 & i6
61o17.oe = /o16
62
63/o18 = /i2 & i5 & i6 & /i7 +
64       i3 & i6 & i7 & i11 +
65       i3 +
66       /i2 & /i7 +
67       i3 & i11 +
68       i5 & i6 & /i7 +
69       i7 & i11
70o18.oe = vcc
71
72/o19 = i5 & i6 & /i7 & i11 +
73       i3 & i6 & i7 +
74       i5 +
75       i6 +
76       i7 +
77       i11 +
78       /i7
79o19.oe = vcc
trunk/src/regtests/jedutil/eqns/pal20r8/pal20r8.eqn
r0r18404
1chip pal20r8 PAL20R8
2
3CLK=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 i10=10 i11=11 GND=12
4/OE=13 i14=14 rf15=15 rf16=16 rf17=17 rf18=18 rf19=19 rf20=20 rf21=21 rf22=22 i23=23 VCC=24
5
6equations
7
8/rf15 := i2 & i6 & i7 +
9         i6 & rf16 +
10         i3 & /rf16 +
11         i7 +
12         /i4 +
13         i6 & i7 +
14         i4 & i7 +
15         /i23
16rf15.oe = OE
17
18/rf16 := /i3 & /rf17 +
19         /i4 +
20         /i3 +
21         /i3 & i4 +
22         /i7 & rf17 +
23         /i7 +
24         i4 +
25         i23
26rf16.oe = OE
27
28/rf17 := /i2 +
29         /rf18 +
30         i5 +
31         i6 +
32         rf18 +
33         i4 +
34         /i10 +
35         /i23
36rf17.oe = OE
37
38/rf18 := /i2 & i5 & i6 & /i7 +
39         i3 & i6 & i7 +
40         i3 & rf19 +
41         /i2 & /i7 +
42         /i3 & /rf19 +
43         i5 & i6 & /i7 +
44         i7 +
45         /i11
46rf18.oe = OE
47
48/rf19 := i5 & i6 & /i7 +
49         i3 & i6 & i7 +
50         i5 & rf20 +
51         i6 +
52         i7 +
53         /i4 & /rf20 +
54         /i7 +
55         i10
56rf19.oe = OE
57
58/rf20 := i10 & rf17 +
59         /i11 +
60         i4 & /rf17 +
61         i2 +
62         /i6 & /i7 +
63         i8 +
64         /i9 +
65         rf22
66rf20.oe = OE
67
68/rf21 := /i8 +
69         /i2 & rf17 +
70         i11 +
71         /i10 +
72         rf15 +
73         /i14 +
74         /i3 +
75         i8 & i9 & /rf22
76rf21.oe = OE
77
78/rf22 := i14 +
79         /rf15 +
80         i3 & /rf21 +
81         i7 +
82         /i8 & rf21 +
83         i10 +
84         /i9 +
85         i14 & /rf15
86rf22.oe = OE
No newline at end of file
trunk/src/regtests/jedutil/eqns/pal16r4/pal16r4.eqn
r0r18404
1chip pal16r4 PAL16R4
2
3CLK=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10
4/OE=11 o12=12 o13=13 rf14=14 rf15=15 rf16=16 rf17=17 o18=18 o19=19 VCC=20
5
6equations
7
8/o12 = /i2 & /i3 +
9       i4 & o13 +
10       i3 +
11       /i6 +
12       i8 +
13       /i9 +
14       i7 & /o13
15o12.oe = rf14
16
17/o13 = /rf14 +
18       /i9 +
19       i8 +
20       /i7 +
21       /i6 & /rf14 +
22       i5 +
23       i4
24o13.oe = i2 & rf14
25
26/rf14 := /rf15 +
27         /i8 +
28         i8 +
29         /i2 & /rf15 +
30         /i2 +
31         i2 & /i8 & rf15 +
32         /i4 +
33         i3
34rf14.oe = OE
35
36/rf15 := i3 & i6 & i7 +
37         i6 & rf16 +
38         i3 & /rf16 +
39         i7 +
40         /i4 +
41         i6 & i7 +
42         i4 & i7 +
43         /i2 & /i7
44rf15.oe = OE
45
46/rf16 := /i3 & /rf17 +
47         /i4 +
48         /i3 & /i3 +
49         /i3 & i4 +
50         /i7 & rf17 +
51         /i7 +
52         i4 +
53         i2 & i3
54rf16.oe = OE
55
56/rf17 := i2 & i5 & i6 & /i7 +
57         i2 & /o18 +
58         i5 +
59         i6 +
60         /i7 & o18 +
61         i2 & /i7 +
62         i5 & i6 +
63         /i3
64rf17.oe = OE
65
66/o18 = /i2 & i5 & i6 & /i7 +
67       i3 & i6 & i7 +
68       i3 +
69       /i2 & /i7 +
70       /i3 +
71       i5 & i6 & /i7 +
72       i7
73o18.oe = vcc
74
75/o19 = i5 & i6 & /i7 +
76       i3 & i6 & i7 +
77       i5 +
78       i6 +
79       i7 +
80       /i4 +
81       /i7
82o19.oe = vcc
trunk/src/regtests/jedutil/eqns/pal16r6/pal16r6.eqn
r0r18404
1chip pal16r6 PAL16R6
2
3CLK=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10
4/OE=11 o12=12 rf13=13 rf14=14 rf15=15 rf16=16 rf17=17 rf18=18 o19=19 VCC=20
5
6equations
7
8/o12 = /i2 & /i3 +
9       i4 & rf13 +
10       i3 +
11       /i6 +
12       i8 +
13       /i9 +
14       i7 & /rf13
15o12.oe = rf14
16
17/rf13 := /rf14 +
18         /i9 +
19         i8 +
20         /i7 +
21         /i6 & /rf14 +
22         i5 & rf14 +
23         i4 +
24         /i2
25rf13.oe = OE
26
27/rf14 := /rf15 +
28         /i8 +
29         i8 +
30         /i2 & /rf15 +
31         /i2 +
32         i2 & /i8 & rf15 +
33         /i4 +
34         i3
35rf14.oe = OE
36
37/rf15 := i3 & i6 & i7 +
38         i6 & rf16 +
39         i3 & /rf16 +
40         i7 +
41         /i4 +
42         i6 & i7 +
43         i4 & i7 +
44         /i2 & /i7
45rf15.oe = OE
46
47/rf16 := /i3 & /rf17 +
48         /i4 +
49         /i3 +
50         /i3 & i4 +
51         /i7 & rf17 +
52         /i7 +
53         i4 +
54         i2 & i3
55rf16.oe = OE
56
57/rf17 := i2 & i5 & i6 & /i7 +
58         i2 & /rf18 +
59         i5 +
60         i6 +
61         /i7 & rf18 +
62         i2 & /i7 +
63         i5 & i6 +
64         /i3
65rf17.oe = OE
66
67/rf18 := /i2 & i5 & i6 & /i7 +
68         i3 & i6 & i7 +
69         i3 +
70         /i2 & /i7 +
71         /i3 +
72         i5 & i6 & /i7 +
73         i7 +
74         i4
75rf18.oe = OE
76
77/o19 = i5 & i6 & /i7 +
78       i3 & i6 & i7 +
79       i5 +
80       i6 +
81       i7 +
82       /i4 +
83       /i7
84o19.oe = vcc
trunk/src/regtests/jedutil/eqns/pal20l10/pal20l10.eqn
r0r18404
1chip 2000 PAL20L10
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 i10=10 i11=11 GND=12
4i13=13 o14=14 o15=15 o16=16 o17=17 o18=18 o19=19 o20=20 o21=21 o22=22 o23=23 VCC=24
5
6equations
7
8/o14 = /i11 +
9       i10 +
10       i9 & /o15
11o14.oe = o15
12
13/o15 = /i1 & i2 & /i3 & i4 & i11 +
14       /i1 & i2 & /i3 & /i5 & /i13 & o16 +
15       /i1 & i2 & /i3 & i6
16o15.oe = /o16
17
18/o16 = i1 & /i2 & /o17 +
19       i3 & /i4 +
20       i3 & i9 & o17
21o16.oe = vcc
22
23/o17 = /o18 +
24       i10 & o18 +
25       i9
26o17.oe = i4 & i5
27
28/o18 = i1 & /i2 & i3 & /i4 & /i8 +
29       /i6 & i7 & i8 & i9 & i10 & /o19 +
30       i1 & i2 & i3 & /i4 & /i5 & o19
31o18.oe = i1 & i10
32
33/o19 = i11 & o20 +
34       i2 & /i10 +
35       i9 & i11
36o19.oe = i8 & /o20
37
38/o20 = o21 +
39       /i6 +
40       /i7 & /o21
41o20.oe = vcc
42
43/o21 = i1 & i8 +
44       /i4 & /o22 +
45       o22
46o21.oe = i5 & i6
47
48/o22 = i1 & /i8 +
49       /i8 +
50       i1
51o22.oe = i3 & /i7
52
53/o23 = i7 +
54       i11 +
55       /i13
56o23.oe = vcc
trunk/src/regtests/jedutil/eqns/pal16r8/pal16r8.eqn
r0r18404
1chip pal16r8 PAL16R8
2
3CLK=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10
4/OE=11 rf12=12 rf13=13 rf14=14 rf15=15 rf16=16 rf17=17 rf18=18 rf19=19 VCC=20
5
6equations
7
8/rf12 := /i2 & /i3 +
9         i4 & rf13 +
10         i3 +
11         /i6 +
12         i8 +
13         /i9 +
14         i7 & /rf13 +
15         i5
16rf12.oe = OE
17
18/rf13 := /rf14 +
19         /i9 +
20         i8 +
21         /i7 +
22         /i6 & rf14 +
23         i5 +
24         i4 +
25         /i3
26rf13.oe = OE
27
28/rf14 := /rf15 +
29         /i8 +
30         i8 +
31         /i2 & /rf15 +
32         /i2 +
33         i2 & /i8 & rf15 +
34         /i4 +
35         i3
36rf14.oe = OE
37
38/rf15 := i3 & i6 & i7 +
39         i6 & rf16 +
40         i3 & /rf16 +
41         i7 +
42         /i4 +
43         i6 & i7 +
44         i4 & i7 +
45         /i2 & /i7
46rf15.oe = OE
47
48/rf16 := /i3 & /rf17 +
49         /i4 +
50         /i3 +
51         /i3 & i4 +
52         /i7 & rf17 +
53         /i7 +
54         i4 +
55         i2 & i3
56rf16.oe = OE
57
58/rf17 := i2 & i5 & i6 & /i7 +
59         i2 & /rf18 +
60         i5 +
61         i6 +
62         /i7 & rf18 +
63         i2 & /i7 +
64         i5 & i6 +
65         /i3
66rf17.oe = OE
67
68/rf18 := /i2 & i5 & i6 & /i7 +
69         i3 & i6 & i7 +
70         i3 & rf19 +
71         /i2 & /i7 +
72         /i3 & /rf19 +
73         i5 & i6 & /i7 +
74         i7 +
75         /i4
76rf18.oe = OE
77
78/rf19 := i5 & i6 & /i7 +
79         i3 & i6 & i7 +
80         i5 & rf12 +
81         i6 +
82         i7 +
83         /i4 & /rf12 +
84         /i7 +
85         i2
86rf19.oe = OE
trunk/src/regtests/jedutil/eqns/pal16c1/pal16c1.eqn
r0r18404
1chip 2000 PAL16C1
2
3i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 i11=11
4i12=12 i13=13 i14=14 o15=15 o16=16 i17=17 i18=18 i19=19 VCC=20
5
6equations
7
8/o15 = i1 & i2 +
9       i3 & i4 +
10       i5 & i6 +
11       i7 & i8 +
12       i9 & i11 +
13       i12 & i13 +
14       i14 & i17 +
15       i18 & i19 +
16       /i1 & /i2 +
17       /i3 & /i4 +
18       /i5 & /i6 +
19       /i7 & /i8 +
20       /i9 & /i11 +
21       /i12 & /i13 +
22       /i14 & /i17 +
23       /i18 & /i19
trunk/src/regtests/jedutil/jedtest.wsf
r18403r18404
11<?xml version="1.0"?>
22<package>
3    <job id="Test"><?job debug="true" error="true"?>
3    <job id="JEDTest"><?job debug="true" error="true"?>
44        <runtime>
55            <description>This script runs regresion tests on the jedutil tool.</description>
6           
7            <named name="verbose" type="boolean" helpstring="Generate a detailed log." required="false"/>
68        </runtime>
79
810        <script language="JScript">
911            <![CDATA[
1012                var g_Verbose = false;
1113
12                function diffFiles(file1, file2)
14                function runAndCaptureOutput(command, outputFile)
1315                {
16                    var fso = new ActiveXObject("Scripting.FileSystemObject");
1417                    var WshShell = WScript.CreateObject("WScript.Shell");
15                    var oExec;
18                    var file, oExec;
1619                   
1720                    if (g_Verbose)
1821                    {                   
19                        WScript.Echo("Diff File 1: " + file1);
20                        WScript.Echo("Diff File 2: " + file2);
22                        WScript.Echo("Command:     " + command);
23                        WScript.Echo("Output File: " + outputFile);
2124                        WScript.Echo();
2225                    }
2326                   
24                    oExec = WshShell.Exec("diff " + file1 + " " + file2);
27                    file = fso.CreateTextFile(outputFile, false, false);
28                   
29                    oExec = WshShell.Exec(command);
30                   
31                    if (!oExec.StdOut.AtEndOfStream)
32                    {
33                        file.Write(oExec.StdOut.ReadAll());
34                    }
2535
36                    if (!oExec.StdErr.AtEndOfStream)
37                    {
38                        file.Write(oExec.StdErr.ReadAll());
39                    }
40                   
41                    file.Close();
42                   
2643                    while (!oExec.Status)
2744                    {
2845                        WScript.Sleep(100);
2946                    }
3047                   
31                    if (g_Verbose)
32                    {
33                        WScript.StdOut.WriteLine(oExec.StdOut.ReadAll());
34                        WScript.StdErr.WriteLine(oExec.StdErr.ReadAll());
35                    }
36
3748                    return oExec.ExitCode;
3849                }
3950
40                function runCommandAndCaptureOutput(command, outputFile)
51                function diffFiles(file1, file2, outputFile)
4152                {
42                    var WshShell = WScript.CreateObject("WScript.Shell");
43                    var fullCommand;
53                    var fso = new ActiveXObject("Scripting.FileSystemObject");
54                    var command;
4455                   
45                    fullCommand = "%comspec% /c ";
46                    fullCommand += command;
47                    fullCommand += " > ";
48                    fullCommand += outputFile;
49                    fullCommand += " 2>&1";
50                   
5156                    if (g_Verbose)
52                    {
53                        WScript.Echo("Running the command : " + command);
54                        WScript.Echo("Output File:          " + outputFile);
57                    {                   
58                        WScript.Echo("Diff File 1: " + file1);
59                        WScript.Echo("Diff File 2: " + file2);
60                        WScript.Echo("Output File: " + outputFile);
5561                        WScript.Echo();
5662                    }
5763
58                    WshShell.Run(fullCommand, 0, true);
64                    if (!fso.FileExists(file1))
65                    {
66                        if (g_Verbose)
67                        {
68                            WScript.Echo("Diff File 1 does not exist.");
69                            WScript.Echo();
70                        }
71                   
72                        return 1;
73                    }
74                   
75                    if (!fso.FileExists(file2))
76                    {
77                        if (g_Verbose)
78                        {
79                            WScript.Echo("Diff File 2 does not exist.");
80                            WScript.Echo();
81                        }
82                   
83                        return 1;
84                    }
85                   
86                    command = "diff \"" + file1 + "\" \"" + file2 + "\"";
87
88                    return runAndCaptureOutput(command, outputFile);
5989                }
6090
91                function getFilesInFolder(folder)
92                {
93                    var fso = new ActiveXObject("Scripting.FileSystemObject");
94                    var filesCollection = new Enumerator(folder.files);
95                    var filesArray = new Array();
96
97                    while (!filesCollection.atEnd())
98                    {
99                        ++filesArray.length;
100
101                        filesArray[filesArray.length - 1] = new Object();
102
103                        filesArray[filesArray.length - 1].name = fso.GetBaseName(filesCollection.item().name);
104                       
105                        filesCollection.moveNext();
106                    }
107                   
108                    return filesArray;
109                }
110
61111                function findJedTests(jedsPath, baselinePath, outputPath)
62112                {
63113                    var fso = new ActiveXObject("Scripting.FileSystemObject");
64114                    var folder = fso.GetFolder(jedsPath)
65                    var folderCollection = new Enumerator(folder.files);
115                    var folderCollection = new Enumerator(folder.Subfolders);
66116                    var jedArray = new Array();
67                   
117                    var filesArray, file;
118
68119                    while (!folderCollection.atEnd())
69120                    {
70121                        ++jedArray.length;
71122
72123                        jedArray[jedArray.length - 1] = new Object;
124
125                        jedArray[jedArray.length - 1].type = folderCollection.item().name;
126                        jedArray[jedArray.length - 1].files = new Array;
127
128                        filesArray = getFilesInFolder(
129                                         fso.GetFolder(
130                                            fso.BuildPath(jedsPath,
131                                                          folderCollection.item().name)));
132
133                        jedArray[jedArray.length - 1].files.length = filesArray.length;
134
135                        for (index = 0; index < filesArray.length; ++index)
136                        {
137                            file = new Object;
138
139                            file.jedFile = fso.BuildPath(jedsPath,
140                                                         folderCollection.item().name);
141                            file.jedFile = fso.BuildPath(file.jedFile,
142                                                         filesArray[index].name);
143                            file.jedFile = file.jedFile + ".jed";
144                           
145                            file.baselineFile = fso.BuildPath(baselinePath,
146                                                              folderCollection.item().name);
147                            file.baselineFile = fso.BuildPath(file.baselineFile,
148                                                              filesArray[index].name);
149                            file.baselineFile = file.baselineFile + ".txt";
150
151                            file.outputFile = fso.BuildPath(outputPath,
152                                                            folderCollection.item().name);
153                            file.outputFile = fso.BuildPath(file.outputFile,
154                                                            filesArray[index].name);
155                            file.outputFile = file.outputFile + ".txt";
156
157                            file.diffFile = fso.BuildPath(outputPath,
158                                                          folderCollection.item().name);
159                            file.diffFile = fso.BuildPath(file.diffFile,
160                                                          filesArray[index].name);
161                            file.diffFile = file.diffFile + ".diff";
162
163                            jedArray[jedArray.length - 1].files[index] = file;
164                        }
73165                       
74                        jedArray[jedArray.length - 1].name = fso.GetBaseName(folderCollection.item().name);
75                        jedArray[jedArray.length - 1].jedfile = folderCollection.item().path;
76                        jedArray[jedArray.length - 1].baselineFile = baselinePath + "\\" +
77                                                                     jedArray[jedArray.length - 1].name +
78                                                                     ".txt";
79                        jedArray[jedArray.length - 1].outputFile = outputPath + "\\" +
80                                                                   jedArray[jedArray.length - 1].name +
81                                                                   ".txt";
82 
83166                        folderCollection.moveNext();
84167                    }
85                   
168               
86169                    return jedArray;
87170                }
171
172                function createJedOutputFolders(outputPath, jedArray)
173                {
174                    var fso = new ActiveXObject("Scripting.FileSystemObject");
175                   
176                    for (index = 0; index < jedArray.length; ++index)
177                    {
178                        fso.CreateFolder(fso.BuildPath(outputPath,
179                                                       jedArray[index].type));
180                    }
181                }
88182           
89183                function runViewJedTests(jedArray, jedUtilApp)
90184                {
91                    var command;
185                    var files, file, command;
92186               
93                    for (i = 0; i < jedArray.length; ++i)
187                    for (testIndex = 0; testIndex < jedArray.length; ++testIndex)
94188                    {
95                        command = jedUtilApp + " -view " + jedArray[i].jedfile + " " +
96                                  jedArray[i].name;
97                   
98189                        if (g_Verbose)
99190                        {
100                            WScript.Echo("Viewing the JED file: " + jedArray[i].jedfile);
191                            WScript.Echo("Running the view command on the type \"" +
192                                             jedArray[testIndex].type + "\"");
101193                            WScript.Echo();
102194                        }
103                   
104                        runCommandAndCaptureOutput(command, jedArray[i].outputFile);
195                       
196                        files = jedArray[testIndex].files;
197                       
198                        for (fileIndex = 0; fileIndex < files.length; ++fileIndex)
199                        {
200                            file = files[fileIndex];
201
202                            if (g_Verbose)
203                            {                           
204                                WScript.Echo("    JED File:      " + file.jedFile);
205                                WScript.Echo("    Baseline File: " + file.baselineFile);
206                                WScript.Echo("    Output File:   " + file.outputFile);
207                                WScript.Echo("    Diff File:     " + file.diffFile);
208                                WScript.Echo();
209                            }
210                           
211                            command = jedUtilApp + " -view \"" + file.jedFile + "\" " +
212                                      jedArray[testIndex].type;
213 
214                            runAndCaptureOutput(command, file.outputFile);
215                        }
105216                    }
106217                }
107218               
108219                function runDiffJedTests(jedArray)
109220                {
110221                    var result = true;
222                    var files, file;
111223                   
112                    for (i = 0; i < jedArray.length; ++i)
224                    for (testIndex = 0; testIndex < jedArray.length; ++testIndex)
113225                    {
114226                        if (g_Verbose)
115227                        {
116                            WScript.Echo("Diffing the output from viewing the JED file: " + jedArray[i].jedfile);
228                            WScript.Echo("Running the diffs on the type \"" +
229                                             jedArray[testIndex].type + "\"");
230                            WScript.Echo();
117231                        }
232                   
233                        files = jedArray[testIndex].files;
118234                       
119                        if (diffFiles(jedArray[i].baselineFile, jedArray[i].outputFile))
235                        for (fileIndex = 0; fileIndex < files.length; ++fileIndex)
120236                        {
121                            WScript.Echo("Results are different for " + jedArray[i].name);
122                            WScript.Echo();                       
237                            file = files[fileIndex];
123238                           
124                            result = false;
239                            if (diffFiles(file.baselineFile, file.outputFile, file.diffFile))
240                            {
241                                WScript.Echo("Results are different for " + file.jedFile);
242                                WScript.Echo();                       
243                               
244                                result = false;
245                            }
125246                        }
126247                    }
127248                   
r18403r18404
139260                    var jedUtilApp = WshShell.CurrentDirectory + "\\..\\..\\..\\jedutil.exe";
140261                    var jedArray = new Array();
141262
263                    if (WScript.Arguments.Count() > 0)
264                    {
265                        g_Verbose = true;
266                    }
267
142268                    if (g_Verbose)
143269                    {
144270                        WScript.Echo("JED Path:      " + jedsPath);
r18403r18404
152278                    {
153279                        if (g_Verbose)
154280                        {
155                            WScript.Echo("Emptying the output directory");
281                            WScript.Echo("Removing the existing the output directory");
156282                            WScript.Echo();
157283                        }
158284                   
159                        fso.DeleteFile(outputPath + "\\*.*");
285                        fso.DeleteFolder(outputPath);
160286                    }
161                    else
287
288                    if (g_Verbose)
162289                    {
163                        if (g_Verbose)
164                        {
165                            WScript.Echo("Creating the output directory");
166                            WScript.Echo();
167                        }
168                       
169                        fso.CreateFolder(outputPath);
290                        WScript.Echo("Creating the root output directory");
291                        WScript.Echo();
170292                    }
171293                   
294                    fso.CreateFolder(outputPath);
295                   
172296                    jedArray = findJedTests(jedsPath, baselinePath, outputPath);
173297
298                    createJedOutputFolders(outputPath, jedArray);
299
174300                    runViewJedTests(jedArray, jedUtilApp);
175
301                   
176302                    if (!runDiffJedTests(jedArray))
177303                    {
178304                        result = 1;
trunk/src/tools/jedutil.c
r18403r18404
106106
107107
108108/***************************************************************************
109    CONSTANTS
110***************************************************************************/
111
112#define ARRAY_LEN(_array) (sizeof(_array) / sizeof(_array[0]))
113
114#define NO_OUTPUT_ENABLE_FUSE_ROW 0xFFFF
115
116/* Output pin flags */
117#define OUTPUT_ACTIVELOW     0x00000001
118#define OUTPUT_ACTIVEHIGH    0x00000002
119#define OUTPUT_COMBINATORIAL 0x00000004
120#define OUTPUT_REGISTERED    0x00000008
121
122/* Fuse state flag */
123#define LOW_FUSE_BLOWN     0x00000001
124#define HIGH_FUSE_BLOWN    0x00000002
125#define LOWHIGH_FUSE_BLOWN 0x00000004
126#define NO_FUSE_BLOWN      0x00000008
127
128/***************************************************************************
109129    TYPE DEFINITIONS
110130***************************************************************************/
111131
112132typedef int (*command_func_type)(int argc, char *argv[]);
113133
114struct command_entry
134typedef struct _command_entry command_entry;
135struct _command_entry
115136{
116137    const char *command;
117138    command_func_type command_func;
r18403r18404
120141
121142
122143/* Pin fuse row configuration */
123#define CNoOutputEnableFuseRow (UINT16)~0
124
125
126
127/* Pin fuse row configuration */
128struct pin_fuse_rows
144typedef struct _pin_fuse_rows pin_fuse_rows;
145struct _pin_fuse_rows
129146{
130    UINT16 pin;                  /* Pin number */
147    UINT16 pin;                 /* Pin number */
131148    UINT16 fuserowoutputenable; /* Fuse row for the output enable */
132149    UINT16 fuserowtermstart;    /* Fuse row for the first term */
133150    UINT16 fuserowtermend;      /* Fuse row for the last term */
r18403r18404
136153
137154
138155/* Pin fuse column configuration */
139struct pin_fuse_columns
156typedef struct _pin_fuse_columns pin_fuse_columns;
157struct _pin_fuse_columns
140158{
141    UINT16 pin;            /* Pin number */
159    UINT16 pin;            /* Pin number */
142160    UINT16 lowfusecolumn;  /* Column number for low output */
143161    UINT16 highfusecolumn; /* Column number for high output */
144162};
145163
146164
147struct pal_data;
165typedef struct _pal_data pal_data;
148166
149167typedef void (*print_product_terms_func)(const pal_data* pal, const jed_data* jed);
168typedef void (*config_pins_func)(const pal_data* pal, const jed_data* jed);
169typedef int (*is_product_term_enabled_func)(const pal_data* pal, const jed_data* jed, UINT16 fuserow);
150170
151struct pal_data
171struct _pal_data
152172{
153173    const char *name;
154174    const pin_fuse_rows *pinfuserows;
r18403r18404
156176    const pin_fuse_columns *pinfusecolumns;
157177    UINT16 pinfusecolumnscount;
158178    print_product_terms_func print_product_terms;
179    config_pins_func config_pins;
180    is_product_term_enabled_func is_product_term_enabled;
159181};
160182
161183
162184
185/* Pin output configuration */
186typedef struct _pin_output_config pin_output_config;
187struct _pin_output_config
188{
189    UINT16 pin;
190    UINT16 flags;
191};
192
193
163194/***************************************************************************
164195    FUNCTION PROTOTYPES
165196***************************************************************************/
r18403r18404
177208static void print_pal16r4_product_terms(const pal_data* pal, const jed_data* jed);
178209static void print_pal16r6_product_terms(const pal_data* pal, const jed_data* jed);
179210static void print_pal16r8_product_terms(const pal_data* pal, const jed_data* jed);
180static void print_gal18v10_product_terms(const pal_data* pal, const jed_data* jed);
211static void print_gal16v8_product_terms(const pal_data* pal, const jed_data* jed);
212/*static void print_gal18v10_product_terms(const pal_data* pal, const jed_data* jed);*/
181213static void print_pal20l8_product_terms(const pal_data* pal, const jed_data* jed);
182214static void print_pal20l10_product_terms(const pal_data* pal, const jed_data* jed);
183215static void print_pal20r4_product_terms(const pal_data* pal, const jed_data* jed);
r18403r18404
186218
187219
188220
221static void config_pal10l8_pins(const pal_data* pal, const jed_data* jed);
222static void config_pal10h8_pins(const pal_data* pal, const jed_data* jed);
223static void config_pal12l6_pins(const pal_data* pal, const jed_data* jed);
224static void config_pal12h6_pins(const pal_data* pal, const jed_data* jed);
225static void config_pal14l4_pins(const pal_data* pal, const jed_data* jed);
226static void config_pal14h4_pins(const pal_data* pal, const jed_data* jed);
227static void config_pal16l2_pins(const pal_data* pal, const jed_data* jed);
228static void config_pal16h2_pins(const pal_data* pal, const jed_data* jed);
229static void config_pal16c1_pins(const pal_data* pal, const jed_data* jed);
230static void config_pal16l8_pins(const pal_data* pal, const jed_data* jed);
231static void config_pal16r4_pins(const pal_data* pal, const jed_data* jed);
232static void config_pal16r6_pins(const pal_data* pal, const jed_data* jed);
233static void config_pal16r8_pins(const pal_data* pal, const jed_data* jed);
234static void config_gal16v8_pins(const pal_data* pal, const jed_data* jed);
235/*static void config_gal18v10_pins(const pal_data* pal, const jed_data* jed);*/
236static void config_pal20l8_pins(const pal_data* pal, const jed_data* jed);
237static void config_pal20l10_pins(const pal_data* pal, const jed_data* jed);
238static void config_pal20r4_pins(const pal_data* pal, const jed_data* jed);
239static void config_pal20r6_pins(const pal_data* pal, const jed_data* jed);
240static void config_pal20r8_pins(const pal_data* pal, const jed_data* jed);
241
242
243
244static int is_gal16v8_product_term_enabled(const pal_data* pal, const jed_data* jed, UINT16 fuserow);
245
246
247
189248/***************************************************************************
190249    GLOBAL VARIABLES
191250***************************************************************************/
r18403r18404
199258static UINT16 inputpins[26];
200259static UINT16 inputpinscount;
201260
202static UINT16 outputpins[26];
261static pin_output_config outputpins[26];
203262static UINT16 outputpinscount;
204263
205264static pin_fuse_rows pal10l8pinfuserows[] = {
206    {12, CNoOutputEnableFuseRow, 280, 300},
207    {13, CNoOutputEnableFuseRow, 240, 260},
208    {14, CNoOutputEnableFuseRow, 200, 220},
209    {15, CNoOutputEnableFuseRow, 160, 180},
210    {16, CNoOutputEnableFuseRow, 120, 140},
211    {17, CNoOutputEnableFuseRow, 80, 100},
212    {18, CNoOutputEnableFuseRow, 40, 60},
213    {19, CNoOutputEnableFuseRow, 0, 20}};
265    {12, NO_OUTPUT_ENABLE_FUSE_ROW, 280, 300},
266    {13, NO_OUTPUT_ENABLE_FUSE_ROW, 240, 260},
267    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 200, 220},
268    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 160, 180},
269    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 120, 140},
270    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 80, 100},
271    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 40, 60},
272    {19, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 20}};
214273
215274static pin_fuse_rows pal10h8pinfuserows[] = {
216    {12, CNoOutputEnableFuseRow, 280, 300},
217    {13, CNoOutputEnableFuseRow, 240, 260},
218    {14, CNoOutputEnableFuseRow, 200, 220},
219    {15, CNoOutputEnableFuseRow, 160, 180},
220    {16, CNoOutputEnableFuseRow, 120, 140},
221    {17, CNoOutputEnableFuseRow, 80, 100},
222    {18, CNoOutputEnableFuseRow, 40, 60},
223    {19, CNoOutputEnableFuseRow, 0, 20}};
275    {12, NO_OUTPUT_ENABLE_FUSE_ROW, 280, 300},
276    {13, NO_OUTPUT_ENABLE_FUSE_ROW, 240, 260},
277    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 200, 220},
278    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 160, 180},
279    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 120, 140},
280    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 80, 100},
281    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 40, 60},
282    {19, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 20}};
224283
225284static pin_fuse_rows pal12l6pinfuserows[] = {
226    {13, CNoOutputEnableFuseRow, 288, 360},
227    {14, CNoOutputEnableFuseRow, 240, 264},
228    {15, CNoOutputEnableFuseRow, 192, 216},
229    {16, CNoOutputEnableFuseRow, 144, 168},
230    {17, CNoOutputEnableFuseRow, 96, 120},
231    {18, CNoOutputEnableFuseRow, 0, 72}};
285    {13, NO_OUTPUT_ENABLE_FUSE_ROW, 288, 360},
286    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 240, 264},
287    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 192, 216},
288    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 144, 168},
289    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 96, 120},
290    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 72}};
232291
233292static pin_fuse_rows pal12h6pinfuserows[] = {
234    {13, CNoOutputEnableFuseRow, 288, 360},
235    {14, CNoOutputEnableFuseRow, 240, 264},
236    {15, CNoOutputEnableFuseRow, 192, 216},
237    {16, CNoOutputEnableFuseRow, 144, 168},
238    {17, CNoOutputEnableFuseRow, 96, 120},
239    {18, CNoOutputEnableFuseRow, 0, 72}};
293    {13, NO_OUTPUT_ENABLE_FUSE_ROW, 288, 360},
294    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 240, 264},
295    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 192, 216},
296    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 144, 168},
297    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 96, 120},
298    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 72}};
240299
241300static pin_fuse_rows pal14l4pinfuserows[] = {
242    {14, CNoOutputEnableFuseRow, 336, 420},
243    {15, CNoOutputEnableFuseRow, 224, 308},
244    {16, CNoOutputEnableFuseRow, 112, 196},
245    {17, CNoOutputEnableFuseRow, 0, 84}};
301    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 336, 420},
302    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 224, 308},
303    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 112, 196},
304    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 84}};
246305
247306static pin_fuse_rows pal14h4pinfuserows[] = {
248    {14, CNoOutputEnableFuseRow, 336, 420},
249    {15, CNoOutputEnableFuseRow, 224, 308},
250    {16, CNoOutputEnableFuseRow, 112, 196},
251    {17, CNoOutputEnableFuseRow, 0, 84}};
307    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 336, 420},
308    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 224, 308},
309    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 112, 196},
310    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 84}};
252311
253312static pin_fuse_rows pal16l2pinfuserows[] = {
254    {15, CNoOutputEnableFuseRow, 256, 480},
255    {16, CNoOutputEnableFuseRow, 0, 224}};
313    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 256, 480},
314    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 224}};
256315
257316static pin_fuse_rows pal16h2pinfuserows[] = {
258    {15, CNoOutputEnableFuseRow, 256, 480},
259    {16, CNoOutputEnableFuseRow, 0, 224}};
317    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 256, 480},
318    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 224}};
260319
261320static pin_fuse_rows pal16c1pinfuserows[] = {
262    {15, CNoOutputEnableFuseRow, 256, 480},
263    {16, CNoOutputEnableFuseRow, 0, 224}};
321    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 480},
322    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 480}};
264323
265324static pin_fuse_rows pal16l8pinfuserows[] = {
266325    {12, 1792, 1824, 2016},
r18403r18404
275334static pin_fuse_rows pal16r4pinfuserows[] = {
276335    {12, 1792, 1824, 2016},
277336    {13, 1536, 1568, 1760},
278    {14, CNoOutputEnableFuseRow, 1280, 1504}, /* Registered Output */
279    {15, CNoOutputEnableFuseRow, 1024, 1248}, /* Registered Output */
280    {16, CNoOutputEnableFuseRow, 768, 992},   /* Registered Output */
281    {17, CNoOutputEnableFuseRow, 512, 736},   /* Registered Output */
337    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1504}, /* Registered Output */
338    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 1024, 1248}, /* Registered Output */
339    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 768, 992},   /* Registered Output */
340    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 512, 736},   /* Registered Output */
282341    {18, 256, 288, 480},
283342    {19, 0, 32, 224}};
284343
285344static pin_fuse_rows pal16r6pinfuserows[] = {
286345    {12, 1792, 1824, 2016},
287    {13, CNoOutputEnableFuseRow, 1536, 1760}, /* Registered Output */
288    {14, CNoOutputEnableFuseRow, 1280, 1504}, /* Registered Output */
289    {15, CNoOutputEnableFuseRow, 1024, 1248}, /* Registered Output */
290    {16, CNoOutputEnableFuseRow, 768, 992},   /* Registered Output */
291    {17, CNoOutputEnableFuseRow, 512, 736},   /* Registered Output */
292    {18, CNoOutputEnableFuseRow, 256, 480},   /* Registered Output */
346    {13, NO_OUTPUT_ENABLE_FUSE_ROW, 1536, 1760}, /* Registered Output */
347    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1504}, /* Registered Output */
348    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 1024, 1248}, /* Registered Output */
349    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 768, 992},   /* Registered Output */
350    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 512, 736},   /* Registered Output */
351    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 256, 480},   /* Registered Output */
293352    {19, 0, 32, 224}};
294353
295354static pin_fuse_rows pal16r8pinfuserows[] = {
296    {12, CNoOutputEnableFuseRow, 1792, 2016}, /* Registered Output */
297    {13, CNoOutputEnableFuseRow, 1536, 1760}, /* Registered Output */
298    {14, CNoOutputEnableFuseRow, 1280, 1504}, /* Registered Output */
299    {15, CNoOutputEnableFuseRow, 1024, 1248}, /* Registered Output */
300    {16, CNoOutputEnableFuseRow, 768, 992},   /* Registered Output */
301    {17, CNoOutputEnableFuseRow, 512, 736},   /* Registered Output */
302    {18, CNoOutputEnableFuseRow, 256, 480},   /* Registered Output */
303    {19, CNoOutputEnableFuseRow, 0, 224}};    /* Registered Output */
355    {12, NO_OUTPUT_ENABLE_FUSE_ROW, 1792, 2016}, /* Registered Output */
356    {13, NO_OUTPUT_ENABLE_FUSE_ROW, 1536, 1760}, /* Registered Output */
357    {14, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1504}, /* Registered Output */
358    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 1024, 1248}, /* Registered Output */
359    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 768, 992},   /* Registered Output */
360    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 512, 736},   /* Registered Output */
361    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 256, 480},   /* Registered Output */
362    {19, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 224}};    /* Registered Output */
304363
305static pin_fuse_rows gal18v10pinfuserows[] = {
364static pin_fuse_rows gal16v8pinfuserows[] = {
365    {12, 0, 0, 0},
366    {13, 0, 0, 0},
367    {14, 0, 0, 0},
368    {15, 0, 0, 0},
369    {16, 0, 0, 0},
370    {17, 0, 0, 0},
371    {18, 0, 0, 0},
372    {19, 0, 0, 0}};
373
374/*static pin_fuse_rows gal18v10pinfuserows[] = {
306375    {9,  3096, 3132, 3384},
307376    {11, 2772, 2808, 3060},
308377    {12, 2448, 2484, 2736},
r18403r18404
312381    {16, 1008, 1044, 1296},
313382    {17, 684,  720,  972},
314383    {18, 360,  396,  648},
315    {19, 36,   72,   324}};
384    {19, 36,   72,   324}};*/
316385
317386static pin_fuse_rows pal20l8pinfuserows[] = {
318387    {15, 2240, 2280, 2520},
r18403r18404
339408static pin_fuse_rows pal20r4pinfuserows[] = {
340409    {15, 2240, 2280, 2520},
341410    {16, 1920, 1960, 2200},
342    {17, 1600, 1640, 1840},
343    {18, 1280, 1320, 1560},
344    {19, 960, 1000, 1240},
345    {20, 640, 680, 920},
411    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 1600, 1880}, /* Registered Output */
412    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1560}, /* Registered Output */
413    {19, NO_OUTPUT_ENABLE_FUSE_ROW, 960, 1240},  /* Registered Output */
414    {20, NO_OUTPUT_ENABLE_FUSE_ROW, 640, 920},   /* Registered Output */
346415    {21, 320, 360, 600},
347416    {22, 0, 40, 280}};
348417
349418static pin_fuse_rows pal20r6pinfuserows[] = {
350419    {15, 2240, 2280, 2520},
351    {16, 1920, 1960, 2200},
352    {17, 1600, 1640, 1840},
353    {18, 1280, 1320, 1560},
354    {19, 960, 1000, 1240},
355    {20, 640, 680, 920},
356    {21, 320, 360, 600},
420    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 1920, 2200}, /* Registered Output */
421    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 1600, 1880}, /* Registered Output */
422    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1560}, /* Registered Output */
423    {19, NO_OUTPUT_ENABLE_FUSE_ROW, 960, 1240},  /* Registered Output */
424    {20, NO_OUTPUT_ENABLE_FUSE_ROW, 640, 920},   /* Registered Output */
425    {21, NO_OUTPUT_ENABLE_FUSE_ROW, 320, 600},   /* Registered Output */
357426    {22, 0, 40, 280}};
358427
359428static pin_fuse_rows pal20r8pinfuserows[] = {
360    {15, 2240, 2280, 2520},
361    {16, 1920, 1960, 2200},
362    {17, 1600, 1640, 1840},
363    {18, 1280, 1320, 1560},
364    {19, 960, 1000, 1240},
365    {20, 640, 680, 920},
366    {21, 320, 360, 600},
367    {22, 0, 40, 280}};
429    {15, NO_OUTPUT_ENABLE_FUSE_ROW, 2240, 2520}, /* Registered Output */
430    {16, NO_OUTPUT_ENABLE_FUSE_ROW, 1920, 2200}, /* Registered Output */
431    {17, NO_OUTPUT_ENABLE_FUSE_ROW, 1600, 1880}, /* Registered Output */
432    {18, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1560}, /* Registered Output */
433    {19, NO_OUTPUT_ENABLE_FUSE_ROW, 960, 1240},  /* Registered Output */
434    {20, NO_OUTPUT_ENABLE_FUSE_ROW, 640, 920},   /* Registered Output */
435    {21, NO_OUTPUT_ENABLE_FUSE_ROW, 320, 600},   /* Registered Output */
436    {22, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 280}};    /* Registered Output */
368437
369438static pin_fuse_columns pal10l8pinfusecolumns[] = {
370439    {1, 3, 2},
r18403r18404
576645    {18, 7, 6},   /* Registered Output */
577646    {19, 3, 2}};  /* Registered Output */
578647
579static pin_fuse_columns gal18v10pinfusecolumns[] = {
648static pin_fuse_columns gal16v8pinfusecolumns[] = {
649    {0, 0, 0},
650    {0, 0, 0},
651    {0, 0, 0},
652    {0, 0, 0},
653    {0, 0, 0},
654    {0, 0, 0},
655    {0, 0, 0},
656    {0, 0, 0},
657    {0, 0, 0},
658    {0, 0, 0},
659    {0, 0, 0},
660    {0, 0, 0},
661    {0, 0, 0},
662    {0, 0, 0},
663    {0, 0, 0},
664    {0, 0, 0}};
665
666/*static pin_fuse_columns gal18v10pinfusecolumns[] = {
580667    {1,  1,  0},
581668    {2,  5,  4},
582669    {3,  9,  8},
r18403r18404
594681    {16, 15, 14},
595682    {17, 11, 10},
596683    {18, 7,  6},
597    {19, 3,  2}};
684    {19, 3,  2}};*/
598685
599686static pin_fuse_columns pal20l8pinfusecolumns[] = {
600687    {1, 3, 2},
r18403r18404
708795
709796static pal_data paldata[] = {
710797    {"PAL10L8",
711        pal10l8pinfuserows,
712        sizeof(pal10l8pinfuserows) / sizeof(pal10l8pinfuserows[0]),
713        pal10l8pinfusecolumns,
714        sizeof(pal10l8pinfusecolumns) / sizeof(pal10l8pinfusecolumns[0]),
715        print_pal10l8_product_terms},
798        pal10l8pinfuserows, ARRAY_LEN(pal10l8pinfuserows),
799        pal10l8pinfusecolumns, ARRAY_LEN(pal10l8pinfusecolumns),
800        print_pal10l8_product_terms,
801        config_pal10l8_pins,
802        NULL},
716803    {"PAL10H8",
717        pal10h8pinfuserows,
718        sizeof(pal10h8pinfuserows) / sizeof(pal10h8pinfuserows[0]),
719        pal10h8pinfusecolumns,
720        sizeof(pal10h8pinfusecolumns) / sizeof(pal10h8pinfusecolumns[0]),
721        print_pal10h8_product_terms},
804        pal10h8pinfuserows, ARRAY_LEN(pal10h8pinfuserows),
805        pal10h8pinfusecolumns, ARRAY_LEN(pal10h8pinfusecolumns),
806        print_pal10h8_product_terms,
807        config_pal10h8_pins,
808        NULL},
722809    {"PAL12H6",
723        pal12h6pinfuserows,
724        sizeof(pal12h6pinfuserows) / sizeof(pal12h6pinfuserows[0]),
725        pal12h6pinfusecolumns,
726        sizeof(pal12h6pinfusecolumns) / sizeof(pal12h6pinfusecolumns[0]),
727        print_pal12h6_product_terms},
810        pal12h6pinfuserows, ARRAY_LEN(pal12h6pinfuserows),
811        pal12h6pinfusecolumns, ARRAY_LEN(pal12h6pinfusecolumns),
812        print_pal12h6_product_terms,
813        config_pal12h6_pins,
814        NULL},
728815    {"PAL14H4",
729        pal14h4pinfuserows,
730        sizeof(pal14h4pinfuserows) / sizeof(pal14h4pinfuserows[0]),
731        pal14h4pinfusecolumns,
732        sizeof(pal14h4pinfusecolumns) / sizeof(pal14h4pinfusecolumns[0]),
733        print_pal14h4_product_terms},
816        pal14h4pinfuserows, ARRAY_LEN(pal14h4pinfuserows),
817        pal14h4pinfusecolumns, ARRAY_LEN(pal14h4pinfusecolumns),
818        print_pal14h4_product_terms,
819        config_pal14h4_pins,
820        NULL},
734821    {"PAL16H2",
735        pal16h2pinfuserows,
736        sizeof(pal16h2pinfuserows) / sizeof(pal16h2pinfuserows[0]),
737        pal16h2pinfusecolumns,
738        sizeof(pal16h2pinfusecolumns) / sizeof(pal16h2pinfusecolumns[0]),
739        print_pal16h2_product_terms},
822        pal16h2pinfuserows, ARRAY_LEN(pal16h2pinfuserows),
823        pal16h2pinfusecolumns, ARRAY_LEN(pal16h2pinfusecolumns),
824        print_pal16h2_product_terms,
825        config_pal16h2_pins,
826        NULL},
740827    {"PAL16C1",
741        pal16c1pinfuserows,
742        sizeof(pal16c1pinfuserows) / sizeof(pal16c1pinfuserows[0]),
743        pal16c1pinfusecolumns,
744        sizeof(pal16c1pinfusecolumns) / sizeof(pal16c1pinfusecolumns[0]),
745        print_pal16c1_product_terms},
828        pal16c1pinfuserows, ARRAY_LEN(pal16c1pinfuserows),
829        pal16c1pinfusecolumns, ARRAY_LEN(pal16c1pinfusecolumns),
830        print_pal16c1_product_terms,
831        config_pal16c1_pins,
832        NULL},
746833    {"PAL12L6",
747        pal12l6pinfuserows,
748        sizeof(pal12l6pinfuserows) / sizeof(pal12l6pinfuserows[0]),
749        pal12l6pinfusecolumns,
750        sizeof(pal12l6pinfusecolumns) / sizeof(pal12l6pinfusecolumns[0]),
751        print_pal12l6_product_terms},
834        pal12l6pinfuserows, ARRAY_LEN(pal12l6pinfuserows),
835        pal12l6pinfusecolumns, ARRAY_LEN(pal12l6pinfusecolumns),
836        print_pal12l6_product_terms,
837        config_pal12l6_pins,
838        NULL},
752839    {"PAL14L4",
753        pal14l4pinfuserows,
754        sizeof(pal14l4pinfuserows) / sizeof(pal14l4pinfuserows[0]),
755        pal14l4pinfusecolumns,
756        sizeof(pal14l4pinfusecolumns) / sizeof(pal14l4pinfusecolumns[0]),
757        print_pal14l4_product_terms},
840        pal14l4pinfuserows, ARRAY_LEN(pal14l4pinfuserows),
841        pal14l4pinfusecolumns, ARRAY_LEN(pal14l4pinfusecolumns),
842        print_pal14l4_product_terms,
843        config_pal14l4_pins,
844        NULL},
758845    {"PAL16L2",
759        pal16l2pinfuserows,
760        sizeof(pal16l2pinfuserows) / sizeof(pal16l2pinfuserows[0]),
761        pal16l2pinfusecolumns,
762        sizeof(pal16l2pinfusecolumns) / sizeof(pal16l2pinfusecolumns[0]),
763        print_pal16l2_product_terms},
764    {"15S8", NULL, 0, NULL, 0, NULL},
765    {"PLS153", NULL, 0, NULL, 0, NULL},
846        pal16l2pinfuserows, ARRAY_LEN(pal16l2pinfuserows),
847        pal16l2pinfusecolumns, ARRAY_LEN(pal16l2pinfusecolumns),
848        print_pal16l2_product_terms,
849        config_pal16l2_pins,
850        NULL},
851    /*{"15S8", NULL, 0, NULL, 0, NULL, NULL, NULL},
852    {"PLS153", NULL, 0, NULL, 0, NULL, NULL, NULL},*/
766853    {"PAL16L8",
767        pal16l8pinfuserows,
768        sizeof(pal16l8pinfuserows) / sizeof(pal16l8pinfuserows[0]),
769        pal16l8pinfusecolumns,
770        sizeof(pal16l8pinfusecolumns) / sizeof(pal16l8pinfusecolumns[0]),
771        print_pal16l8_product_terms},
854        pal16l8pinfuserows, ARRAY_LEN(pal16l8pinfuserows),
855        pal16l8pinfusecolumns, ARRAY_LEN(pal16l8pinfusecolumns),
856        print_pal16l8_product_terms,
857        config_pal16l8_pins,
858        NULL},
772859    {"PAL16R4",
773        pal16r4pinfuserows,
774        sizeof(pal16r4pinfuserows) / sizeof(pal16r4pinfuserows[0]),
775        pal16r4pinfusecolumns,
776        sizeof(pal16r4pinfusecolumns) / sizeof(pal16r4pinfusecolumns),
777        print_pal16r4_product_terms},
860        pal16r4pinfuserows, ARRAY_LEN(pal16r4pinfuserows),
861        pal16r4pinfusecolumns, ARRAY_LEN(pal16r4pinfusecolumns),
862        print_pal16r4_product_terms,
863        config_pal16r4_pins,
864        NULL},
778865    {"PAL16R6",
779        pal16r6pinfuserows,
780        sizeof(pal16r6pinfuserows) / sizeof(pal16r6pinfuserows[0]),
781        pal16r6pinfusecolumns,
782        sizeof(pal16r6pinfusecolumns) / sizeof(pal16r6pinfusecolumns),
783        print_pal16r6_product_terms},
866        pal16r6pinfuserows, ARRAY_LEN(pal16r6pinfuserows),
867        pal16r6pinfusecolumns, ARRAY_LEN(pal16r6pinfusecolumns),
868        print_pal16r6_product_terms,
869        config_pal16r6_pins,
870        NULL},
784871    {"PAL16R8",
785        pal16r8pinfuserows,
786        sizeof(pal16r8pinfuserows) / sizeof(pal16r8pinfuserows[0]),
787        pal16r8pinfusecolumns,
788        sizeof(pal16r8pinfusecolumns) / sizeof(pal16r8pinfusecolumns),
789        print_pal16r8_product_terms},
790    {"PAL16RA8", NULL, 0, NULL, 0, NULL},
791    {"PAL16V8R", NULL, 0, NULL, 0, NULL},
792    {"PALCE16V8", NULL, 0, NULL, 0, NULL},
793    {"GAL16V8A", NULL, 0, NULL, 0, NULL},
794    {"18CV8", NULL, 0, NULL, 0, NULL},
872        pal16r8pinfuserows, ARRAY_LEN(pal16r8pinfuserows),
873        pal16r8pinfusecolumns, ARRAY_LEN(pal16r8pinfusecolumns),
874        print_pal16r8_product_terms,
875        config_pal16r8_pins,
876        NULL},
877    /*{"PAL16RA8", NULL, 0, NULL, 0, NULL, NULL, NULL},
878    {"PAL16V8R", NULL, 0, NULL, 0, NULL, NULL, NULL},
879    {"PALCE16V8", NULL, 0, NULL, 0, NULL, NULL, NULL},*/
880    {"GAL16V8",
881        gal16v8pinfuserows, ARRAY_LEN(gal16v8pinfuserows),
882        gal16v8pinfusecolumns, ARRAY_LEN(gal16v8pinfusecolumns),
883        print_gal16v8_product_terms,
884        config_gal16v8_pins,
885        is_gal16v8_product_term_enabled},
886    /*{"18CV8", NULL, 0, NULL, 0, NULL},
795887    {"GAL18V10",
796        gal18v10pinfuserows,
797        sizeof(gal18v10pinfuserows) / sizeof(gal18v10pinfuserows[0]),
798        gal18v10pinfusecolumns,
799        sizeof(gal18v10pinfusecolumns) / sizeof(gal18v10pinfusecolumns),
800        print_gal18v10_product_terms},
888        gal18v10pinfuserows, ARRAY_LEN(gal18v10pinfuserows),
889        gal18v10pinfusecolumns, ARRAY_LEN(gal18v10pinfusecolumns),
890        print_gal18v10_product_terms,
891        config_gal18v10_pins,
892        NULL},*/
801893    {"PAL20L8",
802        pal20l8pinfuserows,
803        sizeof(pal20l8pinfuserows) / sizeof(pal20l8pinfuserows[0]),
804        pal20l8pinfusecolumns,
805        sizeof(pal20l8pinfusecolumns) / sizeof(pal20l8pinfusecolumns[0]),
806        print_pal20l8_product_terms},
894        pal20l8pinfuserows, ARRAY_LEN(pal20l8pinfuserows),
895        pal20l8pinfusecolumns, ARRAY_LEN(pal20l8pinfusecolumns),
896        print_pal20l8_product_terms,
897        config_pal20l8_pins,
898        NULL},
807899    {"PAL20L10",
808        pal20l10pinfuserows,
809        sizeof(pal20l10pinfuserows) / sizeof(pal20l10pinfuserows[0]),
810        pal20l10pinfusecolumns,
811        sizeof(pal20l10pinfusecolumns) / sizeof(pal20l10pinfusecolumns[0]),
812        print_pal20l10_product_terms},
900        pal20l10pinfuserows, ARRAY_LEN(pal20l10pinfuserows),
901        pal20l10pinfusecolumns, ARRAY_LEN(pal20l10pinfusecolumns),
902        print_pal20l10_product_terms,
903        config_pal20l10_pins,
904        NULL},
813905    {"PAL20R4",
814        pal20r4pinfuserows,
815        sizeof(pal20r4pinfuserows) / sizeof(pal20r4pinfuserows[0]),
816        pal20r4pinfusecolumns,
817        sizeof(pal20r4pinfusecolumns) / sizeof(pal20r4pinfusecolumns[0]),
818        print_pal20r4_product_terms},
906        pal20r4pinfuserows, ARRAY_LEN(pal20r4pinfuserows),
907        pal20r4pinfusecolumns, ARRAY_LEN(pal20r4pinfusecolumns),
908        print_pal20r4_product_terms,
909        config_pal20r4_pins,
910        NULL},
819911    {"PAL20R6",
820        pal20r6pinfuserows,
821        sizeof(pal20r6pinfuserows) / sizeof(pal20r6pinfuserows[0]),
822        pal20r6pinfusecolumns,
823        sizeof(pal20r6pinfusecolumns) / sizeof(pal20r6pinfusecolumns[0]),
824        print_pal20r6_product_terms},
912        pal20r6pinfuserows, ARRAY_LEN(pal20r6pinfuserows),
913        pal20r6pinfusecolumns, ARRAY_LEN(pal20r6pinfusecolumns),
914        print_pal20r6_product_terms,
915        config_pal20r6_pins,
916        NULL},
825917    {"PAL20R8",
826        pal20r8pinfuserows,
827        sizeof(pal20r8pinfuserows) / sizeof(pal20r8pinfuserows[0]),
828        pal20r8pinfusecolumns,
829        sizeof(pal20r8pinfusecolumns) / sizeof(pal20r8pinfusecolumns[0]),
830        print_pal20r8_product_terms},
831    {"PAL20X4", NULL, 0, NULL, 0, NULL},
832    {"PAL20X8", NULL, 0, NULL, 0, NULL},
833    {"PAL20X10", NULL, 0, NULL, 0, NULL},
834    {"PAL22V10", NULL, 0, NULL, 0, NULL},
835    {"GAL20V8A", NULL, 0, NULL, 0, NULL},
836    {"GAL22V10", NULL, 0, NULL, 0, NULL},
837    {"PLS100", NULL, 0, NULL, 0, NULL}};
918        pal20r8pinfuserows, ARRAY_LEN(pal20r8pinfuserows),
919        pal20r8pinfusecolumns, ARRAY_LEN(pal20r8pinfusecolumns),
920        print_pal20r8_product_terms,
921        config_pal20r8_pins, NULL}/*,
922    {"PAL20X4", NULL, 0, NULL, 0, NULL, NULL, NULL},
923    {"PAL20X8", NULL, 0, NULL, 0, NULL, NULL, NULL},
924    {"PAL20X10", NULL, 0, NULL, 0, NULL, NULL, NULL},
925    {"PAL22V10", NULL, 0, NULL, 0, NULL, NULL, NULL},
926    {"GAL20V8A", NULL, 0, NULL, 0, NULL, NULL, NULL},
927    {"GAL22V10", NULL, 0, NULL, 0, NULL, NULL, NULL},
928    {"PLS100", NULL, 0, NULL, 0, NULL, NULL, NULL}*/};
838929
839930
840931
r18403r18404
867958    with a pal name
868959-------------------------------------------------*/
869960
870static pal_data* find_pal_data(const char *name)
961static const pal_data* find_pal_data(const char *name)
871962{
872963    int index;
873964
874    for (index = 0; index < sizeof(paldata) / sizeof(paldata[0]);
875         ++index)
965    for (index = 0; index < ARRAY_LEN(paldata); ++index)
876966    {
877967        if (!core_stricmp(name, paldata[index].name))
878968        {
r18403r18404
886976
887977
888978/*-------------------------------------------------
979    find_fuse_rows - finds the fuse row data for
980    an output pin.
981-------------------------------------------------*/
982
983static const pin_fuse_rows* find_fuse_rows(const pal_data* pal, UINT16 pin)
984{
985    UINT16 index;
986
987    for (index = 0; index < pal->pinfuserowscount; ++index)
988    {
989        if (pal->pinfuserows[index].pin == pin)
990        {
991            return &pal->pinfuserows[index];
992        }
993    }
994
995    return NULL;
996}
997
998
999
1000/*-------------------------------------------------
1001    find_fuse_columns - finds the fuse column
1002    data for an input pin.
1003-------------------------------------------------*/
1004
1005static const pin_fuse_columns* find_fuse_columns(const pal_data* pal, UINT16 pin)
1006{
1007    UINT16 index;
1008
1009    for (index = 0; index < pal->pinfusecolumnscount; ++index)
1010    {
1011        if (pal->pinfusecolumns[index].pin == pin)
1012        {
1013            return &pal->pinfusecolumns[index];
1014        }
1015    }
1016
1017    return NULL;
1018}
1019
1020
1021
1022/*-------------------------------------------------
8891023    calc_fuse_column_count - calculates the total
8901024    columns of a pal
8911025-------------------------------------------------*/
r18403r18404
8981032
8991033
9001034/*-------------------------------------------------
901    is_fuse_row_blown - checks if a fuse row is
902    all blown
1035    all_fuses_in_row_blown - checks if a fuse row
1036    is all blown
9031037-------------------------------------------------*/
9041038
905static int is_fuse_row_blown(const pal_data* pal, const jed_data* jed, UINT16 fuserow)
1039static int all_fuses_in_row_blown(const pal_data* pal, const jed_data* jed, UINT16 fuserow)
9061040{
9071041    UINT16 columncount = calc_fuse_column_count(pal);
9081042    UINT16 column;
r18403r18404
9211055
9221056
9231057/*-------------------------------------------------
924    is_output_pin - determines if the pin is an
925    output pin
1058    any_fuses_in_row_blown - checks if any fuses in
1059    a row have been blown.
9261060-------------------------------------------------*/
9271061
928static int is_output_pin(UINT16 pin)
1062static int any_fuses_in_row_blown(const pal_data* pal, const jed_data* jed, UINT16 fuserow)
9291063{
930    UINT16 index;
1064    UINT16 columncount = calc_fuse_column_count(pal);
1065    UINT16 column;
9311066
932    for (index = 0; index < outputpinscount; ++index)
1067    for (column = 0; column < columncount; ++column)
9331068    {
934        if (outputpins[index] == pin)
1069        if (jed_get_fuse(jed, fuserow + column))
9351070        {
9361071            return 1;
9371072        }
r18403r18404
9431078
9441079
9451080/*-------------------------------------------------
946    find_input_pins - finds the input pins of a
947    pal
1081    set_input_pins - saves the pins that can be
1082    used by a product term
9481083-------------------------------------------------*/
9491084
950static void find_input_pins(const pal_data* pal, const jed_data* jed)
1085static void set_input_pins(const UINT16* pins, UINT16 pin_count)
9511086{
952    UINT16 column;
1087    UINT16 index;
9531088
954    inputpinscount = 0;
955
956    for (column = 0; column < pal->pinfusecolumnscount; ++column)
1089    for (index = 0; index < pin_count; ++index)
9571090    {
958        if (!is_output_pin(pal->pinfusecolumns[column].pin))
959        {
960            inputpins[inputpinscount] = pal->pinfusecolumns[column].pin;
1091        inputpins[index] = pins[index];
9611092
962            ++inputpinscount;
963        }
1093        ++inputpinscount;
9641094    }
9651095}
9661096
9671097
9681098
9691099/*-------------------------------------------------
970    find_output_pins - finds the output pins of a
971    pal
1100    set_output_pins - saves the output pins
9721101-------------------------------------------------*/
9731102
974static void find_output_pins(const pal_data* pal, const jed_data* jed)
1103static void set_output_pins(const pin_output_config* pin_output_configs, UINT16 pin_count)
9751104{
976    UINT16 column, columncount, index;
977    int fuseblown;
1105    UINT16 index;
9781106
979    outputpinscount = 0;
980    columncount = calc_fuse_column_count(pal);
981
982    for (index = 0; index < pal->pinfuserowscount; ++index)
1107    for (index = 0; index < pin_count; ++index)
9831108    {
984        fuseblown = 0;
1109        outputpins[index].pin = pin_output_configs[index].pin;
1110        outputpins[index].flags = pin_output_configs[index].flags;
9851111
986        if (pal->pinfuserows[index].fuserowoutputenable == CNoOutputEnableFuseRow)
987        {
988            fuseblown = 1;
989        }
990        else
991        {
992            for (column = 0; column < columncount; ++column)
993            {
994                if (jed_get_fuse(jed, pal->pinfuserows[index].fuserowoutputenable + column) == 1)
995                {
996                    fuseblown = 1;
997                }
998            }
999        }
1112        ++outputpinscount;
1113    }
1114}
10001115
1001        if (fuseblown)
1116
1117
1118/*-------------------------------------------------
1119    is_output_pin - determines if the pin is an
1120    output pin
1121-------------------------------------------------*/
1122
1123static int is_output_pin(UINT16 pin)
1124{
1125    UINT16 index;
1126
1127    for (index = 0; index < outputpinscount; ++index)
1128    {
1129        if (outputpins[index].pin == pin)
10021130        {
1003            outputpins[outputpinscount] = pal->pinfuserows[index].pin;
1004
1005            ++outputpinscount;
1131            return 1;
10061132        }
10071133    }
1134
1135    return 0;
10081136}
10091137
10101138
10111139
1012static int is_output_pin_used(const pal_data* pal, const jed_data* jed, const pin_fuse_rows* fuse_rows)
1140/*-------------------------------------------------
1141    get_pin_output_flags - gets the flags
1142    of an output pin
1143-------------------------------------------------*/
1144
1145static UINT16 get_pin_output_flags(UINT16 pin)
10131146{
1014    UINT16 row, column, columncount;
1147    UINT16 index;
10151148
1016    columncount = calc_fuse_column_count(pal);
1017
1018    for (row = fuse_rows->fuserowtermstart;
1019         row <= fuse_rows->fuserowtermend;
1020         row += columncount)
1149    for (index = 0; index < outputpinscount; ++index)
10211150    {
1022        for (column = 0; column < columncount; ++column)
1151        if (outputpins[index].pin == pin)
10231152        {
1024            if (jed_get_fuse(jed, row + column))
1025            {
1026                return 1;
1027            }
1153            return outputpins[index].flags;
10281154        }
10291155    }
10301156
r18403r18404
10341160
10351161
10361162/*-------------------------------------------------
1037    generate_product_terms - prints the product terms
1038    for a fuse row
1163    get_pin_fuse_state - gets the fuse state of
1164    an input pin
10391165-------------------------------------------------*/
10401166
1167static UINT16 get_pin_fuse_state(const pal_data* pal, const jed_data* jed, UINT16 pin, UINT16 fuserow)
1168{
1169    const pin_fuse_columns* fuse_columns = find_fuse_columns(pal, pin);
1170    int lowfusestate, highfusestate;
1171
1172    if (!fuse_columns)
1173    {
1174        fprintf(stderr, "Fuse column data missing for pin %d!\n", pin);
1175
1176        return NO_FUSE_BLOWN;
1177    }
1178
1179    lowfusestate = jed_get_fuse(jed, fuserow + fuse_columns->lowfusecolumn);
1180    highfusestate = jed_get_fuse(jed, fuserow + fuse_columns->highfusecolumn);
1181
1182    if (!lowfusestate && highfusestate)
1183    {
1184        return LOW_FUSE_BLOWN;
1185    }
1186    else if (lowfusestate && !highfusestate)
1187    {
1188        return HIGH_FUSE_BLOWN;
1189    }
1190    else if (!lowfusestate && !highfusestate)
1191    {
1192        return NO_FUSE_BLOWN;
1193    }
1194
1195    return LOWHIGH_FUSE_BLOWN;
1196}
1197
1198
1199
1200/*-------------------------------------------------
1201    generate_product_terms - prints the product
1202    terms for a fuse row
1203-------------------------------------------------*/
1204
10411205static void generate_product_terms(const pal_data* pal, const jed_data* jed, UINT16 fuserow, char* buffer)
10421206{
1043    UINT16 index;
1044    int lowfusestate, highfusestate, haveterm;
1207    UINT16 index, pin, fuse_state, haveterm, flags;
10451208    char tmpbuffer[20];
10461209
10471210    *buffer = 0;
10481211    haveterm = 0;
10491212
1050    for (index = 0; index < pal->pinfusecolumnscount; ++index)
1213    if (pal->is_product_term_enabled && !pal->is_product_term_enabled(pal, jed, fuserow))
10511214    {
1052        lowfusestate = jed_get_fuse(jed, fuserow + pal->pinfusecolumns[index].lowfusecolumn);
1053        highfusestate = jed_get_fuse(jed, fuserow + pal->pinfusecolumns[index].highfusecolumn);
1215        return;       
1216    }
10541217
1055        if (!lowfusestate && highfusestate)
1218    for (index = 0; index < inputpinscount; ++index)
1219    {
1220        pin = inputpins[index];
1221
1222        fuse_state = get_pin_fuse_state(pal, jed, pin, fuserow);
1223
1224        if (fuse_state == LOW_FUSE_BLOWN)
10561225        {
10571226            if (haveterm)
10581227            {
10591228                strcat(buffer,  " & ");
10601229            }
10611230
1062            if (!is_output_pin(pal->pinfusecolumns[index].pin))
1231            if (!is_output_pin(pin))
10631232            {
1064                sprintf(tmpbuffer, "/i%d", pal->pinfusecolumns[index].pin);
1233                sprintf(tmpbuffer, "/i%d", pin);
10651234                strcat(buffer, tmpbuffer);
10661235            }
10671236            else
10681237            {
1069                sprintf(tmpbuffer, "/o%d", pal->pinfusecolumns[index].pin);
1238                flags = get_pin_output_flags(pin);
1239
1240                if (flags & OUTPUT_COMBINATORIAL)
1241                {
1242                    sprintf(tmpbuffer, "/o%d", pin);
1243                }
1244                else if (flags & OUTPUT_REGISTERED)
1245                {
1246                    sprintf(tmpbuffer, "/rf%d", pin);
1247                }
1248
10701249                strcat(buffer, tmpbuffer);
10711250            }
10721251
10731252            haveterm = 1;
10741253        }
1075        else if (lowfusestate && !highfusestate)
1254
1255        if (fuse_state == HIGH_FUSE_BLOWN)
10761256        {
10771257            if (haveterm)
10781258            {
10791259                strcat(buffer, " & ");
10801260            }
10811261
1082            if (!is_output_pin(pal->pinfusecolumns[index].pin))
1262            if (!is_output_pin(pin))
10831263            {
1084                sprintf(tmpbuffer, "i%d", pal->pinfusecolumns[index].pin);
1264                sprintf(tmpbuffer, "i%d", pin);
10851265                strcat(buffer, tmpbuffer);
10861266            }
10871267            else
10881268            {
1089                sprintf(tmpbuffer, "o%d", pal->pinfusecolumns[index].pin);
1269                flags = get_pin_output_flags(pin);
1270
1271                if (flags & OUTPUT_COMBINATORIAL)
1272                {
1273                    sprintf(tmpbuffer, "o%d", pin);
1274                }
1275                else if (flags & OUTPUT_REGISTERED)
1276                {
1277                    sprintf(tmpbuffer, "rf%d", pin);
1278                }
1279
10901280                strcat(buffer, tmpbuffer);
10911281            }
10921282
r18403r18404
11021292    for a pal
11031293-------------------------------------------------*/
11041294
1105static void print_product_terms(const pal_data* pal, const jed_data* jed, int activestate)
1295static void print_product_terms(const pal_data* pal, const jed_data* jed)
11061296{
1107    UINT16 index, row, columncount;
1297    UINT16 index, columncount, flags, row, haveterms;
11081298    char buffer[200];
1109    int haveterms, indent, indentindex;
1299    int indent, indentindex;
1300    const pin_fuse_rows* fuse_rows;
11101301
11111302    columncount = calc_fuse_column_count(pal);
11121303
1113    for (index = 0; index < pal->pinfuserowscount; ++index)
1304    for (index = 0; index < outputpinscount; ++index)
11141305    {
1115        if (is_output_pin(pal->pinfuserows[index].pin) &&
1116            is_output_pin_used(pal, jed, &pal->pinfuserows[index]))
1306        flags = outputpins[index].flags;
1307
1308        indent = 0;
1309
1310        if (flags & OUTPUT_ACTIVELOW)
11171311        {
1118            indent = 0;
1312            printf("/");
11191313
1120            if (!activestate)
1121            {
1122                printf("/");
1314            ++indent;
1315        }
11231316
1124                ++indent;
1125            }
1317        if (flags & OUTPUT_COMBINATORIAL)
1318        {
1319            sprintf(buffer, "o%d = ", outputpins[index].pin);
1320        }
1321        else if (flags & OUTPUT_REGISTERED)
1322        {
1323            sprintf(buffer, "rf%d := ", outputpins[index].pin);
1324        }
1325        else
1326        {
1327           fprintf(stderr, "Unknown output type for pin %d!\n", outputpins[index].pin);
11261328
1127            sprintf(buffer, "o%d = ", pal->pinfuserows[index].pin);
1329            continue;
1330        }
11281331
1129            printf("%s", buffer);
1332        printf("%s", buffer);
11301333
1131            haveterms = 0;
1132            indent += strlen(buffer);
1334        haveterms = 0;
1335        indent += strlen(buffer);
11331336
1134            for (row = pal->pinfuserows[index].fuserowtermstart;
1135                 row <= pal->pinfuserows[index].fuserowtermend;
1136                 row += columncount)
1337        fuse_rows = find_fuse_rows(pal, outputpins[index].pin);
1338
1339        if (!fuse_rows)
1340        {
1341           fprintf(stderr, "Fuse row data missing!\n");
1342
1343            continue;
1344        }
1345
1346        for (row = fuse_rows->fuserowtermstart; row <= fuse_rows->fuserowtermend;
1347             row += columncount)
1348        {
1349            generate_product_terms(pal, jed, row, buffer);
1350
1351            if (strlen(buffer) > 0)
11371352            {
1138                generate_product_terms(pal, jed, row, buffer);
1139
1140                if (strlen(buffer) > 0)
1353                if (haveterms)
11411354                {
1142                    if (haveterms)
1143                    {
1144                        printf(" +\n");
1355                    printf(" +\n");
11451356
1146                        for (indentindex = 0; indentindex < indent; ++indentindex)
1147                        {
1148                            printf(" ");
1149                        }
1150                    }
1151                    else
1357                    for (indentindex = 0; indentindex < indent; ++indentindex)
11521358                    {
1153                        haveterms = 1;
1359                        printf(" ");
11541360                    }
1361                }
1362                else
1363                {
1364                    haveterms = 1;
1365                }
11551366
1156                    printf("%s", buffer);
1157                }
1367                printf("%s", buffer);
11581368            }
1369        }
11591370
1160            printf("\n");
1371        printf("\n");
11611372
1162            /* output enable equations */
1373        /* output enable equations */
11631374
1164            printf("o%d.oe = ", pal->pinfuserows[index].pin);
1375        if (flags & OUTPUT_COMBINATORIAL)
1376        {
1377            printf("o%d.oe = ", outputpins[index].pin);
11651378
1166            if (pal->pinfuserows[index].fuserowoutputenable == CNoOutputEnableFuseRow ||
1167                is_fuse_row_blown(pal, jed, pal->pinfuserows[index].fuserowoutputenable))
1379            if (fuse_rows->fuserowoutputenable == NO_OUTPUT_ENABLE_FUSE_ROW ||
1380                all_fuses_in_row_blown(pal, jed, fuse_rows->fuserowoutputenable))
11681381            {
11691382                printf("vcc\n");
11701383            }
11711384            else
11721385            {
1173                generate_product_terms(pal, jed, pal->pinfuserows[index].fuserowoutputenable, buffer);
1386                generate_product_terms(pal, jed, fuse_rows->fuserowoutputenable, buffer);
11741387
11751388                printf("%s\n", buffer);
11761389            }
1390        }
1391        else if (flags & OUTPUT_REGISTERED)
1392        {
1393            printf("rf%d.oe = OE\n", outputpins[index].pin);
1394        }
11771395
1178            printf("\n");
1179        }
1396        printf("\n");
11801397    }
1181
1182    printf("\n");
11831398}
11841399
11851400
r18403r18404
11911406
11921407static void print_pal10l8_product_terms(const pal_data* pal, const jed_data* jed)
11931408{
1194    print_product_terms(pal, jed, 0);
1409    print_product_terms(pal, jed);
11951410}
11961411
11971412
r18403r18404
12031418
12041419static void print_pal10h8_product_terms(const pal_data* pal, const jed_data* jed)
12051420{
1206    print_product_terms(pal, jed, 1);
1421    print_product_terms(pal, jed);
12071422}
12081423
12091424
r18403r18404
12151430
12161431static void print_pal12l6_product_terms(const pal_data* pal, const jed_data* jed)
12171432{
1218    print_product_terms(pal, jed, 0);
1433    print_product_terms(pal, jed);
12191434}
12201435
12211436
r18403r18404
12271442
12281443static void print_pal12h6_product_terms(const pal_data* pal, const jed_data* jed)
12291444{
1230    print_product_terms(pal, jed, 1);
1445    print_product_terms(pal, jed);
12311446}
12321447
12331448
r18403r18404
12391454
12401455static void print_pal14l4_product_terms(const pal_data* pal, const jed_data* jed)
12411456{
1242    print_product_terms(pal, jed, 0);
1457    print_product_terms(pal, jed);
12431458}
12441459
12451460
r18403r18404
12511466
12521467static void print_pal14h4_product_terms(const pal_data* pal, const jed_data* jed)
12531468{
1254    print_product_terms(pal, jed, 1);
1469    print_product_terms(pal, jed);
12551470}
12561471
12571472
r18403r18404
12631478
12641479static void print_pal16l2_product_terms(const pal_data* pal, const jed_data* jed)
12651480{
1266    print_product_terms(pal, jed, 0);
1481    print_product_terms(pal, jed);
12671482}
12681483
12691484
r18403r18404
12751490
12761491static void print_pal16h2_product_terms(const pal_data* pal, const jed_data* jed)
12771492{
1278    print_product_terms(pal, jed, 1);
1493    print_product_terms(pal, jed);
12791494}
12801495
12811496
r18403r18404
12871502
12881503static void print_pal16c1_product_terms(const pal_data* pal, const jed_data* jed)
12891504{
1290    printf("Viewing product terms are not supported.\n");
1505    print_product_terms(pal, jed);
12911506}
12921507
12931508
r18403r18404
12991514
13001515static void print_pal16l8_product_terms(const pal_data* pal, const jed_data* jed)
13011516{
1302    print_product_terms(pal, jed, 0);
1517    print_product_terms(pal, jed);
13031518}
13041519
13051520
r18403r18404
13111526
13121527static void print_pal16r4_product_terms(const pal_data* pal, const jed_data* jed)
13131528{
1314    printf("Viewing product terms are not supported.\n");
1529    print_product_terms(pal, jed);
13151530}
13161531
13171532
r18403r18404
13231538
13241539static void print_pal16r6_product_terms(const pal_data* pal, const jed_data* jed)
13251540{
1326    printf("Viewing product terms are not supported.\n");
1541    print_product_terms(pal, jed);
13271542}
13281543
13291544
r18403r18404
13351550
13361551static void print_pal16r8_product_terms(const pal_data* pal, const jed_data* jed)
13371552{
1338    printf("Viewing product terms are not supported.\n");
1553    print_product_terms(pal, jed);
13391554}
13401555
13411556
13421557
13431558/*-------------------------------------------------
1559    print_gal16v8_product_terms - prints the product
1560    terms for a GAL16V8
1561-------------------------------------------------*/
1562
1563static void print_gal16v8_product_terms(const pal_data* pal, const jed_data* jed)
1564{
1565    print_product_terms(pal, jed);
1566}
1567
1568
1569
1570/*-------------------------------------------------
13441571    print_gal18v10_product_terms - prints the product
13451572    terms for a GAL18V10
13461573-------------------------------------------------*/
13471574
1348static void print_gal18v10_product_terms(const pal_data* pal, const jed_data* jed)
1575/*static void print_gal18v10_product_terms(const pal_data* pal, const jed_data* jed)
13491576{
13501577    printf("Viewing product terms are not supported.\n");
1351}
1578}*/
13521579
13531580
13541581
r18403r18404
13591586
13601587static void print_pal20l8_product_terms(const pal_data* pal, const jed_data* jed)
13611588{
1362    print_product_terms(pal, jed, 0);
1589    print_product_terms(pal, jed);
13631590}
13641591
13651592
r18403r18404
13711598
13721599static void print_pal20l10_product_terms(const pal_data* pal, const jed_data* jed)
13731600{
1374    print_product_terms(pal, jed, 0);
1601    print_product_terms(pal, jed);
13751602}
13761603
13771604
r18403r18404
13831610
13841611static void print_pal20r4_product_terms(const pal_data* pal, const jed_data* jed)
13851612{
1386    printf("Viewing product terms are not supported.\n");
1613    print_product_terms(pal, jed);
13871614}
13881615
13891616
r18403r18404
13951622
13961623static void print_pal20r6_product_terms(const pal_data* pal, const jed_data* jed)
13971624{
1398    printf("Viewing product terms are not supported.\n");
1625    print_product_terms(pal, jed);
13991626}
14001627
14011628
r18403r18404
14071634
14081635static void print_pal20r8_product_terms(const pal_data* pal, const jed_data* jed)
14091636{
1410    printf("Viewing product terms are not supported.\n");
1637    print_product_terms(pal, jed);
14111638}
14121639
14131640
14141641
14151642/*-------------------------------------------------
1643    config_pal10l8_pins - configures the pins for
1644    a PAL10L8
1645-------------------------------------------------*/
1646
1647static void config_pal10l8_pins(const pal_data* pal, const jed_data* jed)
1648{
1649    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11};
1650    static pin_output_config output_pins[] = {
1651        {12, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1652        {13, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1653        {14, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1654        {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1655        {16, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1656        {17, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1657        {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1658        {19, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL}};
1659
1660    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1661    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1662}
1663
1664
1665
1666/*-------------------------------------------------
1667    config_pal10h8_pins - configures the pins for
1668    a PAL10H8
1669-------------------------------------------------*/
1670
1671static void config_pal10h8_pins(const pal_data* pal, const jed_data* jed)
1672{
1673    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11};
1674    static pin_output_config output_pins[] = {
1675        {12, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1676        {13, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1677        {14, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1678        {15, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1679        {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1680        {17, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1681        {18, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1682        {19, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL}};
1683
1684    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1685    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1686}
1687
1688
1689
1690/*-------------------------------------------------
1691    config_pal12l6_pins - configures the pins for
1692    a PAL12L6
1693-------------------------------------------------*/
1694
1695static void config_pal12l6_pins(const pal_data* pal, const jed_data* jed)
1696{
1697    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 19};
1698    static pin_output_config output_pins[] = {
1699        {13, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1700        {14, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1701        {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1702        {16, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1703        {17, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1704        {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL}};
1705
1706    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1707    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1708}
1709
1710
1711
1712/*-------------------------------------------------
1713    config_pal12h6_pins - configures the pins for
1714    a PAL12H6
1715-------------------------------------------------*/
1716
1717static void config_pal12h6_pins(const pal_data* pal, const jed_data* jed)
1718{
1719    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 19};
1720    static pin_output_config output_pins[] = {
1721        {13, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1722        {14, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1723        {15, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1724        {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1725        {17, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1726        {18, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL}};
1727
1728    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1729    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1730}
1731
1732
1733
1734/*-------------------------------------------------
1735    config_pal14l4_pins - configures the pins for
1736    a PAL14L4
1737-------------------------------------------------*/
1738
1739static void config_pal14l4_pins(const pal_data* pal, const jed_data* jed)
1740{
1741    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 18, 19};
1742    static pin_output_config output_pins[] = {
1743        {14, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1744        {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1745        {16, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1746        {17, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL}};
1747
1748    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1749    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1750}
1751
1752
1753
1754/*-------------------------------------------------
1755    config_pal14h4_pins - configures the pins for
1756    a PAL14H4
1757-------------------------------------------------*/
1758
1759static void config_pal14h4_pins(const pal_data* pal, const jed_data* jed)
1760{
1761    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 18, 19};
1762    static pin_output_config output_pins[] = {
1763        {14, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1764        {15, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1765        {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1766        {17, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL}};
1767
1768    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1769    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1770}
1771
1772
1773
1774/*-------------------------------------------------
1775    config_pal16l2_pins - configures the pins for
1776    a PAL16L2
1777-------------------------------------------------*/
1778
1779static void config_pal16l2_pins(const pal_data* pal, const jed_data* jed)
1780{
1781    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 18, 19};
1782    static pin_output_config output_pins[] = {
1783        {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1784        {16, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL}};
1785
1786    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1787    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1788}
1789
1790
1791
1792/*-------------------------------------------------
1793    config_pal16h2_pins - configures the pins for
1794    a PAL16H2
1795-------------------------------------------------*/
1796
1797static void config_pal16h2_pins(const pal_data* pal, const jed_data* jed)
1798{
1799    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 18, 19};
1800    static pin_output_config output_pins[] = {
1801        {15, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL},
1802        {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL}};
1803
1804    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1805    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1806}
1807
1808
1809
1810/*-------------------------------------------------
1811    config_pal16c1_pins - configures the pins for
1812    a PAL16C1
1813-------------------------------------------------*/
1814
1815static void config_pal16c1_pins(const pal_data* pal, const jed_data* jed)
1816{
1817    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 18, 19};
1818    static pin_output_config output_pins[] = {
1819        {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL},
1820        {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL}};
1821
1822    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1823    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1824}
1825
1826
1827
1828/*-------------------------------------------------
1829    config_pal16l8_pins - configures the pins for
1830    a PAL16L8
1831-------------------------------------------------*/
1832
1833static void config_pal16l8_pins(const pal_data* pal, const jed_data* jed)
1834{
1835    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18};
1836    pin_output_config output_pins[8];
1837    UINT16 output_pin_count, index;
1838
1839    output_pin_count = 0;
1840
1841    for (index = 0; index < pal->pinfuserowscount; ++index)
1842    {
1843        if (any_fuses_in_row_blown(pal, jed, pal->pinfuserows[index].fuserowoutputenable))
1844        {
1845            output_pins[output_pin_count].pin = pal->pinfuserows[index].pin;
1846            output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
1847
1848            ++output_pin_count;
1849        }
1850    }
1851
1852    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1853    set_output_pins(output_pins, output_pin_count);
1854}
1855
1856
1857
1858/*-------------------------------------------------
1859    config_pal16r4_pins - configures the pins for
1860    a PAL16R4
1861-------------------------------------------------*/
1862
1863static void config_pal16r4_pins(const pal_data* pal, const jed_data* jed)
1864{
1865    static UINT16 input_pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19};
1866    static UINT16 registered_pins[] = {14, 15, 16, 17};
1867    pin_output_config output_pins[8];
1868    UINT16 output_pin_count, index;
1869
1870    output_pin_count = 0;
1871
1872    if (any_fuses_in_row_blown(pal, jed, 1792))
1873    {
1874        output_pins[output_pin_count].pin = 12;
1875        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
1876
1877        ++output_pin_count;
1878    }
1879
1880    if (any_fuses_in_row_blown(pal, jed, 1536))
1881    {
1882        output_pins[output_pin_count].pin = 13;
1883        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
1884
1885        ++output_pin_count;
1886    }
1887
1888    for (index = 0; index < ARRAY_LEN(registered_pins); ++index)
1889    {
1890        output_pins[output_pin_count].pin = registered_pins[index];
1891        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED;
1892
1893        ++output_pin_count;
1894    }
1895
1896    if (any_fuses_in_row_blown(pal, jed, 256))
1897    {
1898        output_pins[output_pin_count].pin = 18;
1899        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
1900
1901        ++output_pin_count;
1902    }
1903
1904    if (any_fuses_in_row_blown(pal, jed, 0))
1905    {
1906        output_pins[output_pin_count].pin = 19;
1907        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
1908
1909        ++output_pin_count;
1910    }
1911
1912    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1913    set_output_pins(output_pins, output_pin_count);
1914}
1915
1916
1917
1918/*-------------------------------------------------
1919    config_pal16r6_pins - configures the pins
1920    for a PAL16R6
1921-------------------------------------------------*/
1922
1923static void config_pal16r6_pins(const pal_data* pal, const jed_data* jed)
1924{
1925    static UINT16 input_pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19};
1926    static UINT16 registered_pins[] = {13, 14, 15, 16, 17, 18};
1927    pin_output_config output_pins[8];
1928    UINT16 output_pin_count, index;
1929
1930    output_pin_count = 0;
1931
1932    if (any_fuses_in_row_blown(pal, jed, 1792))
1933    {
1934        output_pins[output_pin_count].pin = 12;
1935        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
1936
1937        ++output_pin_count;
1938    }
1939
1940    for (index = 0; index < ARRAY_LEN(registered_pins); ++index)
1941    {
1942        output_pins[output_pin_count].pin = registered_pins[index];
1943        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED;
1944
1945        ++output_pin_count;
1946    }
1947
1948    if (any_fuses_in_row_blown(pal, jed, 0))
1949    {
1950        output_pins[output_pin_count].pin = 19;
1951        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
1952
1953        ++output_pin_count;
1954    }
1955
1956    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1957    set_output_pins(output_pins, output_pin_count);
1958}
1959
1960
1961
1962/*-------------------------------------------------
1963    config_pal16r8_pins - configures the pins for
1964    a PAL16R8
1965-------------------------------------------------*/
1966
1967static void config_pal16r8_pins(const pal_data* pal, const jed_data* jed)
1968{
1969    static UINT16 input_pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19};
1970    static pin_output_config output_pins[] = {
1971        {12, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
1972        {13, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
1973        {14, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
1974        {15, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
1975        {16, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
1976        {17, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
1977        {18, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
1978        {19, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED}};
1979
1980    set_input_pins(input_pins, ARRAY_LEN(input_pins));
1981    set_output_pins(output_pins, ARRAY_LEN(output_pins));
1982}
1983
1984
1985
1986/*-------------------------------------------------
1987    config_gal16v8_pins - configures the pins for
1988    a GAL16V8
1989-------------------------------------------------*/
1990
1991static void config_gal16v8_pins(const pal_data* pal, const jed_data* jed)
1992{
1993    typedef struct _output_logic_macrocell output_logic_macrocell;
1994    struct _output_logic_macrocell
1995    {
1996        UINT16 pin;
1997        UINT16 xor_fuse;
1998        UINT16 ac1_fuse;
1999    };
2000
2001    static output_logic_macrocell macrocells[] = {
2002        {12, 2055, 2127},
2003        {13, 2054, 2126},
2004        {14, 2053, 2125},
2005        {15, 2052, 2124},
2006        {16, 2051, 2123},
2007        {17, 2050, 2122},
2008        {18, 2049, 2121},
2009        {19, 2048, 2120}};
2010    static pin_fuse_rows pinfuserows_registered[] = {
2011        {12, NO_OUTPUT_ENABLE_FUSE_ROW, 1792, 2016},
2012        {13, NO_OUTPUT_ENABLE_FUSE_ROW, 1536, 1760},
2013        {14, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1504},
2014        {15, NO_OUTPUT_ENABLE_FUSE_ROW, 1024, 1248},
2015        {16, NO_OUTPUT_ENABLE_FUSE_ROW, 768, 992},
2016        {17, NO_OUTPUT_ENABLE_FUSE_ROW, 512, 736},
2017        {18, NO_OUTPUT_ENABLE_FUSE_ROW, 256, 480},
2018        {19, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 224}};
2019    static pin_fuse_rows pinfuserows_combinatorial[] = {
2020        {12, 1792, 1824, 2016},
2021        {13, 1536, 1568, 1760},
2022        {14, 1280, 1312, 1504},
2023        {15, 1024, 1056, 1248},
2024        {16, 768, 800, 992},
2025        {17, 512, 544, 736},
2026        {18, 256, 288, 480},
2027        {19, 0, 32, 224}};
2028    static pin_fuse_columns pinfusecolumns_registered[] = {
2029        {2,  1,  0},
2030        {3,  5,  4},
2031        {4,  9,  8},
2032        {5,  13, 12},
2033        {6,  17, 16},
2034        {7,  21, 20},
2035        {8,  25, 24},
2036        {9,  29, 28},
2037        {12, 31, 30},
2038        {13, 27, 26},
2039        {14, 23, 22},
2040        {15, 19, 18},
2041        {16, 15, 14},
2042        {17, 11, 10},
2043        {18, 7, 6},
2044        {19, 3, 2}};
2045    static pin_fuse_columns pinfusecolumns_combinatorialcomplex[] = {
2046        {1,  3,  2},
2047        {2,  1,  0},
2048        {3,  5,  4},
2049        {4,  9,  8},
2050        {5,  13, 12},
2051        {6,  17, 16},
2052        {7,  21, 20},
2053        {8,  25, 24},
2054        {9,  29, 28},
2055        {11, 31, 30},
2056        {13, 27, 26},
2057        {14, 23, 22},
2058        {15, 19, 18},
2059        {16, 15, 14},
2060        {17, 11, 10},
2061        {18, 7, 6}};
2062    static pin_fuse_columns pinfusecolumns_combinatorialsimple[] = {
2063        {1,  3,  2},
2064        {2,  1,  0},
2065        {3,  5,  4},
2066        {4,  9,  8},
2067        {5,  13, 12},
2068        {6,  17, 16},
2069        {7,  21, 20},
2070        {8,  25, 24},
2071        {9,  29, 28},
2072        {11, 31, 30},
2073        {12, 27, 26},
2074        {13, 23, 22},
2075        {14, 19, 18},
2076        {17, 15, 14},
2077        {18, 11, 10},
2078        {19, 7,  6}};
2079    static UINT16 input_pins_registered[] = {2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19};
2080    static UINT16 input_pins_combinatorialcomplex[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18};
2081    static UINT16 input_pins_combinatorialsimple[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 18, 19};
2082    pin_output_config output_pins[ARRAY_LEN(macrocells)];
2083    UINT16 index, output_pin_count;
2084
2085    output_pin_count = 0;
2086
2087    /* SYN Fuse: 0 - registered, 1 - combinatorial */
2088
2089    if (jed_get_fuse(jed, 2192))
2090    {
2091        /* Combinatorial */
2092        /* AC0 Fuse: 0 - simple mode, 1 - complex mode */
2093
2094        if (jed_get_fuse(jed, 2193))
2095        {
2096            /* Complex Mode */
2097
2098            set_input_pins(input_pins_combinatorialcomplex, ARRAY_LEN(input_pins_combinatorialcomplex));
2099
2100            memcpy(gal16v8pinfuserows, pinfuserows_combinatorial, sizeof(pinfuserows_combinatorial));
2101            memcpy(gal16v8pinfusecolumns, pinfusecolumns_combinatorialcomplex, sizeof(pinfusecolumns_combinatorialcomplex));
2102
2103            for (index = 0; index < ARRAY_LEN(macrocells); ++index)
2104            {
2105                if (is_gal16v8_product_term_enabled(pal, jed, pal->pinfuserows[index].fuserowoutputenable) &&
2106                    any_fuses_in_row_blown(pal, jed, pal->pinfuserows[index].fuserowoutputenable))
2107                {
2108                    output_pins[output_pin_count].pin = macrocells[index].pin;
2109                    output_pins[output_pin_count].flags = OUTPUT_COMBINATORIAL;
2110
2111                    if (jed_get_fuse(jed, macrocells[index].xor_fuse))
2112                    {
2113                        output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH;
2114                    }
2115                    else
2116                    {
2117                        output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW;
2118                    }
2119
2120                    ++output_pin_count;
2121                }
2122            }
2123        }
2124        else
2125        {
2126            /* Simple Mode */
2127
2128            set_input_pins(input_pins_combinatorialsimple, ARRAY_LEN(input_pins_combinatorialsimple));
2129
2130            memcpy(gal16v8pinfuserows, pinfuserows_registered, sizeof(pinfuserows_registered));
2131            memcpy(gal16v8pinfusecolumns, pinfusecolumns_combinatorialsimple, sizeof(pinfusecolumns_combinatorialsimple));
2132
2133            for (index = 0; index < ARRAY_LEN(macrocells); ++index)
2134            {
2135                if (jed_get_fuse(jed, macrocells[index].ac1_fuse))
2136                {
2137                    /* Pin is for input only */
2138
2139                    if (macrocells[index].pin == 15 || macrocells[index].pin == 16)
2140                    {
2141                        fprintf(stderr, "Pin %d cannot be configured as an input pin.\n",
2142                                macrocells[index].pin);
2143                    }
2144                }
2145                else
2146                {
2147                    output_pins[output_pin_count].pin = macrocells[index].pin;
2148                    output_pins[output_pin_count].flags = OUTPUT_COMBINATORIAL;
2149
2150                    if (jed_get_fuse(jed, macrocells[index].xor_fuse))
2151                    {
2152                        output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH;
2153                    }
2154                    else
2155                    {
2156                        output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW;
2157                    }
2158
2159                    ++output_pin_count;
2160                }
2161            }
2162        }
2163    }
2164    else
2165    {
2166        /* Registered */
2167
2168        set_input_pins(input_pins_registered, ARRAY_LEN(input_pins_registered));
2169
2170        memcpy(gal16v8pinfusecolumns, pinfusecolumns_registered, sizeof(pinfusecolumns_registered));
2171
2172        for (index = 0; index < ARRAY_LEN(macrocells); ++index)
2173        {
2174            if (jed_get_fuse(jed, macrocells[index].ac1_fuse))
2175            {
2176                /* combinatorial pin */
2177
2178                gal16v8pinfuserows[index].fuserowoutputenable = pinfuserows_combinatorial[index].fuserowoutputenable;
2179                gal16v8pinfuserows[index].fuserowtermstart = pinfuserows_combinatorial[index].fuserowtermstart;
2180                gal16v8pinfuserows[index].fuserowtermend = pinfuserows_combinatorial[index].fuserowtermend;
2181
2182                if (is_gal16v8_product_term_enabled(pal, jed, pal->pinfuserows[index].fuserowoutputenable) &&
2183                    any_fuses_in_row_blown(pal, jed, pal->pinfuserows[index].fuserowoutputenable))
2184                {
2185                    output_pins[output_pin_count].pin = macrocells[index].pin;
2186                    output_pins[output_pin_count].flags = OUTPUT_COMBINATORIAL;
2187
2188                    if (jed_get_fuse(jed, macrocells[index].xor_fuse))
2189                    {
2190                        output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH;
2191                    }
2192                    else
2193                    {
2194                        output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW;
2195                    }
2196
2197                    ++output_pin_count;
2198                }
2199            }
2200            else
2201            {
2202                /* registered pin */
2203
2204                gal16v8pinfuserows[index].fuserowoutputenable = pinfuserows_registered[index].fuserowoutputenable;
2205                gal16v8pinfuserows[index].fuserowtermstart = pinfuserows_registered[index].fuserowtermstart;
2206                gal16v8pinfuserows[index].fuserowtermend = pinfuserows_registered[index].fuserowtermend;
2207
2208                output_pins[output_pin_count].pin = macrocells[index].pin;
2209                output_pins[output_pin_count].flags = OUTPUT_REGISTERED;
2210
2211                if (jed_get_fuse(jed, macrocells[index].xor_fuse))
2212                {
2213                    output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH;
2214                }
2215                else
2216                {
2217                    output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW;
2218                }
2219
2220                ++output_pin_count;
2221            }
2222        }
2223    }
2224
2225    set_output_pins(output_pins, output_pin_count);
2226}
2227
2228
2229
2230/*-------------------------------------------------
2231    config_gal18v10_pins - configures the pins
2232    for a GAL18V10
2233-------------------------------------------------*/
2234
2235/*static void config_gal18v10_pins(const pal_data* pal, const jed_data* jed)
2236{
2237}*/
2238
2239
2240
2241/*-------------------------------------------------
2242    config_pal20l8_pins - configures the pins for
2243    a PAL20L8
2244-------------------------------------------------*/
2245
2246static void config_pal20l8_pins(const pal_data* pal, const jed_data* jed)
2247{
2248    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 21, 23};
2249    pin_output_config output_pins[8];
2250    UINT16 output_pin_count, index;
2251
2252    output_pin_count = 0;
2253
2254    for (index = 0; index < pal->pinfuserowscount; ++index)
2255    {
2256        if (any_fuses_in_row_blown(pal, jed, pal->pinfuserows[index].fuserowoutputenable))
2257        {
2258            output_pins[output_pin_count].pin = pal->pinfuserows[index].pin;
2259            output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
2260
2261            ++output_pin_count;
2262        }
2263    }
2264
2265    set_input_pins(input_pins, ARRAY_LEN(input_pins));
2266    set_output_pins(output_pins, output_pin_count);
2267}
2268
2269
2270
2271/*-------------------------------------------------
2272    config_pal20l10_pins - configures the pins for
2273    a PAL20L10
2274-------------------------------------------------*/
2275
2276static void config_pal20l10_pins(const pal_data* pal, const jed_data* jed)
2277{
2278    static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 20, 21, 22};
2279    pin_output_config output_pins[10];
2280    UINT16 output_pin_count, index;
2281
2282    output_pin_count = 0;
2283
2284    for (index = 0; index < pal->pinfuserowscount; ++index)
2285    {
2286        if (any_fuses_in_row_blown(pal, jed, pal->pinfuserows[index].fuserowoutputenable))
2287        {
2288            output_pins[output_pin_count].pin = pal->pinfuserows[index].pin;
2289            output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
2290
2291            ++output_pin_count;
2292        }
2293    }
2294
2295    set_input_pins(input_pins, ARRAY_LEN(input_pins));
2296    set_output_pins(output_pins, output_pin_count);
2297}
2298
2299
2300
2301/*-------------------------------------------------
2302    config_pal20r4_pins - configures the pins for
2303    a PAL20R4
2304-------------------------------------------------*/
2305
2306static void config_pal20r4_pins(const pal_data* pal, const jed_data* jed)
2307{
2308    static UINT16 input_pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23};
2309    static UINT16 registered_pins[] = {17, 18, 19, 20};
2310    pin_output_config output_pins[8];
2311    UINT16 output_pin_count, index;
2312
2313    output_pin_count = 0;
2314
2315    if (any_fuses_in_row_blown(pal, jed, 2240))
2316    {
2317        output_pins[output_pin_count].pin = 15;
2318        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
2319
2320        ++output_pin_count;
2321    }
2322
2323    if (any_fuses_in_row_blown(pal, jed, 1920))
2324    {
2325        output_pins[output_pin_count].pin = 16;
2326        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
2327
2328        ++output_pin_count;
2329    }
2330
2331    for (index = 0; index < ARRAY_LEN(registered_pins); ++index)
2332    {
2333        output_pins[output_pin_count].pin = registered_pins[index];
2334        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED;
2335
2336        ++output_pin_count;
2337    }
2338
2339    if (any_fuses_in_row_blown(pal, jed, 320))
2340    {
2341        output_pins[output_pin_count].pin = 21;
2342        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
2343
2344        ++output_pin_count;
2345    }
2346
2347    if (any_fuses_in_row_blown(pal, jed, 0))
2348    {
2349        output_pins[output_pin_count].pin = 22;
2350        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
2351
2352        ++output_pin_count;
2353    }
2354
2355    set_input_pins(input_pins, ARRAY_LEN(input_pins));
2356    set_output_pins(output_pins, output_pin_count);
2357}
2358
2359
2360
2361/*-------------------------------------------------
2362    config_pal20r6_pins - configures the pins for
2363    a PAL20R6
2364-------------------------------------------------*/
2365
2366static void config_pal20r6_pins(const pal_data* pal, const jed_data* jed)
2367{
2368    static UINT16 input_pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23};
2369    static UINT16 registered_pins[] = {16, 17, 18, 19, 20, 21};
2370    pin_output_config output_pins[8];
2371    UINT16 output_pin_count, index;
2372
2373    output_pin_count = 0;
2374
2375    if (any_fuses_in_row_blown(pal, jed, 2240))
2376    {
2377        output_pins[output_pin_count].pin = 15;
2378        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
2379
2380        ++output_pin_count;
2381    }
2382
2383    for (index = 0; index < ARRAY_LEN(registered_pins); ++index)
2384    {
2385        output_pins[output_pin_count].pin = registered_pins[index];
2386        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED;
2387
2388        ++output_pin_count;
2389    }
2390
2391    if (any_fuses_in_row_blown(pal, jed, 0))
2392    {
2393        output_pins[output_pin_count].pin = 22;
2394        output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL;
2395
2396        ++output_pin_count;
2397    }
2398
2399
2400    set_input_pins(input_pins, ARRAY_LEN(input_pins));
2401    set_output_pins(output_pins, output_pin_count);
2402}
2403
2404
2405
2406/*-------------------------------------------------
2407    config_pal20r8_pins - configures the pins for
2408    a PAL20R8
2409-------------------------------------------------*/
2410
2411static void config_pal20r8_pins(const pal_data* pal, const jed_data* jed)
2412{
2413    static UINT16 input_pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23};
2414    static pin_output_config output_pins[] = {
2415        {15, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
2416        {16, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
2417        {17, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
2418        {18, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
2419        {19, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
2420        {20, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
2421        {21, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED},
2422        {22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED}};
2423
2424    set_input_pins(input_pins, ARRAY_LEN(input_pins));
2425    set_output_pins(output_pins, ARRAY_LEN(output_pins));
2426}
2427
2428
2429
2430/*-------------------------------------------------
2431    is_gal16v8_product_term_enabled - determins if
2432    a fuse row in a GAL16V8 is enabled
2433-------------------------------------------------*/
2434
2435static int is_gal16v8_product_term_enabled(const pal_data* pal, const jed_data* jed, UINT16 fuserow)
2436{
2437    UINT16 fuse_ptd;
2438
2439    fuse_ptd = (fuserow / calc_fuse_column_count(pal)) + 2128;
2440
2441    if (fuse_ptd > 2191)
2442    {
2443        fprintf(stderr, "Fuse row %d is illegal!\n", fuserow);
2444
2445        return 0;
2446    }
2447
2448    return jed_get_fuse(jed, fuse_ptd);
2449}
2450
2451
2452
2453/*-------------------------------------------------
14162454    read_source_file - read a raw source file
14172455    into an allocated memory buffer
14182456-------------------------------------------------*/
r18403r18404
15062544      "  jedutil -convert <source.bin> <target.jed> -- convert binary to JED form\n"
15072545        "  jedutil -view <source.jed> <pal name> -- dump JED logic equations\n"
15082546        "  jedutil -view <source.bin> <pal name> -- dump binary logic equations\n"
2547        "  jedutil -viewlist -- view list of supported devices\n"
15092548   );
15102549
15112550   return 0;
r18403r18404
16392678{
16402679    const char *srcfile, *palname;
16412680   int is_jed;
1642    pal_data* pal;
2681    const pal_data* pal;
16432682   jed_data jed;
16442683   int err;
16452684
r18403r18404
16922731
16932732    /* generate equations from fuse map */
16942733
1695    find_output_pins(pal, &jed);
1696    find_input_pins(pal, &jed);
2734    pal->config_pins(pal, &jed);
16972735
16982736    if (pal->print_product_terms)
16992737    {
r18403r18404
17122750
17132751
17142752/*-------------------------------------------------
2753    command_viewlist - views the list of supported
2754                       jeds
2755-------------------------------------------------*/
2756
2757static int command_viewlist(int argc, char *argv[])
2758{
2759    int index;
2760
2761   if (argc > 0)
2762   {
2763      return print_usage();
2764   }
2765
2766    for (index = 0; index < ARRAY_LEN(paldata); ++index)
2767    {
2768        printf("%s\n", paldata[index].name);
2769    }
2770
2771    return 0;
2772}
2773
2774
2775/*-------------------------------------------------
17152776    main - primary entry point
17162777-------------------------------------------------*/
17172778
17182779int main(int argc, char *argv[])
17192780{
17202781    command_entry command_entries[] = {
1721        {"-convert", &command_convert},
1722        {"-view",    &command_view}};
2782        {"-convert",  &command_convert},
2783        {"-view",     &command_view},
2784        {"-viewlist", &command_viewlist}};
17232785    int index;
17242786
1725   /* needs at least two arguments */
1726   if (argc < 4)
2787   if (argc < 2)
17272788   {
17282789      return print_usage();
17292790   }
17302791
1731    for (index = 0; index < sizeof(command_entries) / sizeof(command_entries[0]); ++index)
2792    for (index = 0; index < ARRAY_LEN(command_entries); ++index)
17322793    {
17332794        if (!strcmp(argv[1], command_entries[index].command))
17342795            return command_entries[index].command_func(argc - 2, &argv[2]);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team