From 2540207d0cffdfa35faf2abb10e96332635bd8af Mon Sep 17 00:00:00 2001 From: Kevin Eshbach Date: Mon, 27 Apr 2020 21:03:02 -0400 Subject: [PATCH] Added GAL20V8 support to the jedutil tool (#6603) --- .../baseline/gal20v8/gal20v8_complex_mode.txt | 89 ++++ .../gal20v8/gal20v8_registered_mode.txt | 51 +++ .../baseline/gal20v8/gal20v8_simple_mode.txt | 53 +++ .../baseline/gal20v8/pal14h8-to-gal20v8.txt | 53 +++ .../baseline/gal20v8/pal14l8-to-gal20v8.txt | 53 +++ .../baseline/gal20v8/pal16h6-to-gal20v8.txt | 47 ++ .../baseline/gal20v8/pal16l6-to-gal20v8.txt | 47 ++ .../baseline/gal20v8/pal18l4-to-gal20v8.txt | 41 ++ .../baseline/gal20v8/pal20l2-to-gal20v8.txt | 31 ++ .../baseline/gal20v8/pal20l8-to-gal20v8.txt | 89 ++++ .../baseline/gal20v8/pal20r4-to-gal20v8.txt | 93 ++++ .../baseline/gal20v8/pal20r6-to-gal20v8.txt | 95 +++++ .../baseline/gal20v8/pal20r8-to-gal20v8.txt | 97 +++++ .../WinCUPL/gal20v8/gal20v8_complex_mode.pld | 105 +++++ .../gal20v8/gal20v8_registered_mode.pld | 72 ++++ .../WinCUPL/gal20v8/gal20v8_simple_mode.pld | 75 ++++ regtests/jedutil/eqns/WinCUPL/readme.txt | 1 + .../jeds/gal20v8/gal20v8_complex_mode.jed | 102 +++++ .../jeds/gal20v8/gal20v8_registered_mode.jed | 62 +++ .../jeds/gal20v8/gal20v8_simple_mode.jed | 62 +++ .../jeds/gal20v8/pal14h8-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal14l8-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal16h6-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal16l6-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal18l4-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal20l2-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal20l8-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal20r4-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal20r6-to-gal20v8.jed | 106 +++++ .../jeds/gal20v8/pal20r8-to-gal20v8.jed | 106 +++++ src/tools/jedutil.cpp | 400 +++++++++++++++++- 31 files changed, 2775 insertions(+), 3 deletions(-) create mode 100644 regtests/jedutil/baseline/gal20v8/gal20v8_complex_mode.txt create mode 100644 regtests/jedutil/baseline/gal20v8/gal20v8_registered_mode.txt create mode 100644 regtests/jedutil/baseline/gal20v8/gal20v8_simple_mode.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal14h8-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal14l8-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal16h6-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal16l6-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal18l4-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal20l2-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal20l8-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal20r4-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal20r6-to-gal20v8.txt create mode 100644 regtests/jedutil/baseline/gal20v8/pal20r8-to-gal20v8.txt create mode 100644 regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_complex_mode.pld create mode 100644 regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_registered_mode.pld create mode 100644 regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_simple_mode.pld create mode 100644 regtests/jedutil/eqns/WinCUPL/readme.txt create mode 100644 regtests/jedutil/jeds/gal20v8/gal20v8_complex_mode.jed create mode 100644 regtests/jedutil/jeds/gal20v8/gal20v8_registered_mode.jed create mode 100644 regtests/jedutil/jeds/gal20v8/gal20v8_simple_mode.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal14h8-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal14l8-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal16h6-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal16l6-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal18l4-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal20l2-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal20l8-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal20r4-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal20r6-to-gal20v8.jed create mode 100644 regtests/jedutil/jeds/gal20v8/pal20r8-to-gal20v8.jed diff --git a/regtests/jedutil/baseline/gal20v8/gal20v8_complex_mode.txt b/regtests/jedutil/baseline/gal20v8/gal20v8_complex_mode.txt new file mode 100644 index 00000000000..d6d7f82f5ad --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/gal20v8_complex_mode.txt @@ -0,0 +1,89 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 21, 23 + +Outputs: + +15 (Combinatorial, No output feedback, Active high) +16 (Combinatorial, Output feedback output, Active high) +17 (Combinatorial, Output feedback output, Active high) +18 (Combinatorial, Output feedback output, Active low) +19 (Combinatorial, Output feedback output, Active high) +20 (Combinatorial, Output feedback output, Active high) +21 (Combinatorial, Output feedback output, Active low) +22 (Combinatorial, No output feedback, Active high) + +Equations: + +o15 = i1 & /i2 + + i3 + + i4 & /i5 & i6 & i7 & /i8 & i9 + + /i10 & /i11 + + i13 + + i14 + + i23 +o15.oe = /i23 + +o16 = i1 & i2 & i3 & i4 & i5 + + i6 & i7 & i8 & i9 & i10 + + i13 + + i14 & /o21 + + i23 + + /i5 & o17 & o18 + + /i2 +o16.oe = vcc + +o17 = /i7 & o21 + + i8 + + /i3 + + /i1 & /i2 & i3 + + /i4 & /i5 + + /i6 & /i7 & /i8 & /i9 & /i10 + + /o18 +o17.oe = vcc + +/o18 = i1 + + i3 + + i5 + + i7 + + i9 + + i11 + + i13 +o18.oe = vcc + +o19 = /i13 + + /i11 + + /i9 + + /i7 + + /i5 + + /i3 + + /i1 +o19.oe = vcc + +o20 = i6 + + i13 & o19 + + i1 & /i7 + + o18 + + i9 & /i13 + + i14 & /o17 + + /o16 +o20.oe = vcc + +/o21 = /i1 & i2 + + /i3 + + /i4 & i5 & /i6 & /i7 & i8 & /i9 + + i10 & i11 + + /i13 + + /i14 + + /i23 +o21.oe = /i23 + +o22 = /i8 & i23 + + /o19 & i23 + + /o18 + + o17 + + o16 + + /i2 & i8 & i14 + + /i2 & /i4 & /i6 & /i8 & /i10 & /i14 +o22.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/gal20v8_registered_mode.txt b/regtests/jedutil/baseline/gal20v8/gal20v8_registered_mode.txt new file mode 100644 index 00000000000..0904217441d --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/gal20v8_registered_mode.txt @@ -0,0 +1,51 @@ +Inputs: + +2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 + +Outputs: + +18 (Combinatorial, Output feedback output, Active high) +19 (Registered, Output feedback registered, Active low) +20 (Registered, Output feedback registered, Active high) +22 (Combinatorial, Output feedback output, Active high) + +Equations: + +o18 = i3 & rf19 + + i5 + + i7 & rf20 + + i9 + + i11 + + i15 & /rf19 & /rf20 + + i17 +o18.oe = /i17 & /i21 & i23 + +/rf19 := /i10 & /i23 + + /i11 & o18 + + /i9 + + /i7 & i21 + + /i5 & rf20 + + /i3 + + /i2 + + i4 & o22 +rf19.oe = OE + +rf20 := i6 + + i10 & rf19 + + /i7 & i17 + + o18 & /o22 + + i9 & /i10 + + i14 & /i17 + + /i16 + + /rf19 & i23 +rf20.oe = OE + +o22 = /i8 & i23 + + /rf19 & i23 + + /o18 & rf20 + + i17 + + i16 + + /i2 & i8 & i14 & /rf20 + + /i2 & /i4 & /i6 & /i8 & /i10 & /i14 +o22.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/gal20v8_simple_mode.txt b/regtests/jedutil/baseline/gal20v8/gal20v8_simple_mode.txt new file mode 100644 index 00000000000..60e7a69f7bb --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/gal20v8_simple_mode.txt @@ -0,0 +1,53 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23 + +Outputs: + +16 (Combinatorial, Output feedback combinatorial, Active low) +18 (Combinatorial, No output feedback, Active high) +19 (Combinatorial, No output feedback, Active low) +21 (Combinatorial, Output feedback combinatorial, Active high) + +Equations: + +/o16 = i1 & i2 & i3 & i4 & i5 + + /i6 & /i7 & /i8 & /i9 & /i10 & of21 + + i11 & i13 & i14 & i15 + + /i17 & /i20 & /i22 & /i23 + + /i1 & /i2 & /i3 & /i4 & /i5 + + i6 & i7 & i8 & i9 & i10 & of16 + + /i11 & /i13 & /i14 & /i15 + + i17 & i20 & /of21 & i22 & i23 +o16.oe = vcc + +o18 = i17 & i20 & i22 & i23 + + /i11 & /i13 & /i14 & /i15 + + i6 & i7 & i8 & i9 & i10 + + /i1 & /i2 & /i3 & /i4 & /i5 + + /i17 & /i20 & /i22 & /i23 + + i11 & i13 & i14 & i15 & /of16 & /of21 + + /i6 & /i7 & /i8 & /i9 & /i10 + + i1 & i2 & i3 & i4 & i5 +o18.oe = vcc + +/o19 = /i1 & /i3 + + /i5 & /i7 + + /i9 & /i11 & of16 & of21 + + /i13 & /i15 + + i17 & i23 + + i2 & i4 & i6 + + i8 & i10 + + i14 & i20 +o19.oe = vcc + +o21 = i1 & i3 + + i5 & i7 + + i9 & i11 + + i13 & i15 + + /i17 & /i23 + + /i2 & /i4 & /i6 + + /i8 & /i10 + + /i14 & /i20 +o21.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/pal14h8-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal14h8-to-gal20v8.txt new file mode 100644 index 00000000000..75a693fc895 --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal14h8-to-gal20v8.txt @@ -0,0 +1,53 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23 + +Outputs: + +15 (Combinatorial, Output feedback combinatorial, Active high) +16 (Combinatorial, Output feedback combinatorial, Active high) +17 (Combinatorial, Output feedback combinatorial, Active high) +18 (Combinatorial, No output feedback, Active high) +19 (Combinatorial, No output feedback, Active high) +20 (Combinatorial, Output feedback combinatorial, Active high) +21 (Combinatorial, Output feedback combinatorial, Active high) +22 (Combinatorial, Output feedback combinatorial, Active high) + +Equations: + +o15 = /i1 & /i2 + + /i3 + + /i4 + + /i5 & /i6 +o15.oe = vcc + +o16 = /i7 + + /i8 +o16.oe = vcc + +o17 = /i9 & /i10 + + /i13 +o17.oe = vcc + +o18 = i1 & i2 & i3 + + i4 & i5 & i6 & /i14 +o18.oe = vcc + +o19 = i7 + + i8 +o19.oe = vcc + +o20 = i9 & i10 & i14 + + i13 +o20.oe = vcc + +o21 = /i2 & i5 & i6 & /i7 + + i3 & i6 & i7 & i13 & i23 +o21.oe = vcc + +o22 = i5 & i6 + + /i7 & i11 + + /i23 + + /i1 & i3 & i6 & i7 & i10 +o22.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/pal14l8-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal14l8-to-gal20v8.txt new file mode 100644 index 00000000000..9a691d5daab --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal14l8-to-gal20v8.txt @@ -0,0 +1,53 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23 + +Outputs: + +15 (Combinatorial, Output feedback combinatorial, Active low) +16 (Combinatorial, Output feedback combinatorial, Active low) +17 (Combinatorial, Output feedback combinatorial, Active low) +18 (Combinatorial, No output feedback, Active low) +19 (Combinatorial, No output feedback, Active low) +20 (Combinatorial, Output feedback combinatorial, Active low) +21 (Combinatorial, Output feedback combinatorial, Active low) +22 (Combinatorial, Output feedback combinatorial, Active low) + +Equations: + +/o15 = /i1 & /i2 + + /i3 + + /i4 + + /i5 & /i6 +o15.oe = vcc + +/o16 = /i7 + + /i8 +o16.oe = vcc + +/o17 = /i9 & /i10 + + /i13 +o17.oe = vcc + +/o18 = i1 & i2 & i3 + + i4 & i5 & i6 & /i14 +o18.oe = vcc + +/o19 = i7 + + i8 +o19.oe = vcc + +/o20 = i9 & i10 & i14 + + i13 +o20.oe = vcc + +/o21 = /i2 & i5 & i6 & /i7 + + i3 & i6 & i7 & i13 & i23 +o21.oe = vcc + +/o22 = i5 & i6 + + /i7 & i11 + + /i23 + + /i1 & i3 & i6 & i7 & i10 +o22.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/pal16h6-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal16h6-to-gal20v8.txt new file mode 100644 index 00000000000..5f904d2d6ea --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal16h6-to-gal20v8.txt @@ -0,0 +1,47 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23 + +Outputs: + +16 (Combinatorial, Output feedback combinatorial, Active high) +17 (Combinatorial, Output feedback combinatorial, Active high) +18 (Combinatorial, No output feedback, Active high) +19 (Combinatorial, No output feedback, Active high) +20 (Combinatorial, Output feedback combinatorial, Active high) +21 (Combinatorial, Output feedback combinatorial, Active high) + +Equations: + +o16 = /i1 & /i2 + + /i3 & /i7 + + /i4 & /i8 + + /i5 & /i6 +o16.oe = vcc + +o17 = /i9 & /i10 + + /i13 & /i15 + + i1 & i2 & i3 + + i4 & i5 & i6 & /i14 +o17.oe = vcc + +o18 = i7 + + i8 & i15 +o18.oe = vcc + +o19 = i9 & i10 & i14 + + i13 & /i22 +o19.oe = vcc + +o20 = /i2 & i5 + + i6 & /i7 + + i3 & i6 + + i7 & i13 & i23 +o20.oe = vcc + +o21 = i5 & i6 & i22 + + /i7 & i11 + + /i23 + + /i1 & i3 & i6 & i7 & i10 +o21.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/pal16l6-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal16l6-to-gal20v8.txt new file mode 100644 index 00000000000..f2f706cef05 --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal16l6-to-gal20v8.txt @@ -0,0 +1,47 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23 + +Outputs: + +16 (Combinatorial, Output feedback combinatorial, Active low) +17 (Combinatorial, Output feedback combinatorial, Active low) +18 (Combinatorial, No output feedback, Active low) +19 (Combinatorial, No output feedback, Active low) +20 (Combinatorial, Output feedback combinatorial, Active low) +21 (Combinatorial, Output feedback combinatorial, Active low) + +Equations: + +/o16 = /i1 & /i2 + + /i3 & /i7 + + /i4 & /i8 + + /i5 & /i6 +o16.oe = vcc + +/o17 = /i9 & /i10 + + /i13 & /i15 + + i1 & i2 & i3 + + i4 & i5 & i6 & /i14 +o17.oe = vcc + +/o18 = i7 + + i8 & i15 +o18.oe = vcc + +/o19 = i9 & i10 & i14 + + i13 & /i22 +o19.oe = vcc + +/o20 = /i2 & i5 + + i6 & /i7 + + i3 & i6 + + i7 & i13 & i23 +o20.oe = vcc + +/o21 = i5 & i6 & i22 + + /i7 & i11 + + /i23 + + /i1 & i3 & i6 & i7 & i10 +o21.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/pal18l4-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal18l4-to-gal20v8.txt new file mode 100644 index 00000000000..1fadeb9f43a --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal18l4-to-gal20v8.txt @@ -0,0 +1,41 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23 + +Outputs: + +17 (Combinatorial, Output feedback combinatorial, Active low) +18 (Combinatorial, No output feedback, Active low) +19 (Combinatorial, No output feedback, Active low) +20 (Combinatorial, Output feedback combinatorial, Active low) + +Equations: + +/o17 = /i1 & /i2 + + /i3 & /i7 + + /i4 & /i8 & i16 + + /i5 & /i6 + + /i9 & /i10 + + /i13 & /i15 +o17.oe = vcc + +/o18 = i1 & i2 & i3 + + i4 & i5 & i6 & /i14 + + i7 & /i16 + + i8 & i15 +o18.oe = vcc + +/o19 = i9 & i10 & i14 + + i13 & /i22 + + /i2 & i5 & /i21 + + i6 & /i7 +o19.oe = vcc + +/o20 = i3 & i6 + + i7 & i13 & i23 + + i5 & i6 & i22 + + /i7 & i11 + + i21 & /i23 + + /i1 & i3 & i6 & i7 & i10 +o20.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/pal20l2-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal20l2-to-gal20v8.txt new file mode 100644 index 00000000000..2d6a02a788b --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal20l2-to-gal20v8.txt @@ -0,0 +1,31 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23 + +Outputs: + +18 (Combinatorial, No output feedback, Active low) +19 (Combinatorial, No output feedback, Active low) + +Equations: + +/o18 = /i1 & i2 + + /i3 & i4 + + /i5 & i6 & /i7 + + i8 & /i9 & i10 + + /i11 & i13 + + /i14 & i15 & /i16 + + i17 & /i21 & i22 + + /i23 +o18.oe = vcc + +/o19 = i1 & /i2 + + i3 & /i4 + + i5 & /i6 & i7 + + /i8 & i9 & /i10 + + i11 & /i13 + + i14 & /i15 & i16 + + /i17 & i21 & /i22 + + i23 +o19.oe = vcc + diff --git a/regtests/jedutil/baseline/gal20v8/pal20l8-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal20l8-to-gal20v8.txt new file mode 100644 index 00000000000..3db690d615b --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal20l8-to-gal20v8.txt @@ -0,0 +1,89 @@ +Inputs: + +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 21, 23 + +Outputs: + +15 (Combinatorial, No output feedback, Active low) +16 (Combinatorial, Output feedback output, Active low) +17 (Combinatorial, Output feedback output, Active low) +18 (Combinatorial, Output feedback output, Active low) +19 (Combinatorial, Output feedback output, Active low) +20 (Combinatorial, Output feedback output, Active low) +21 (Combinatorial, Output feedback output, Active low) +22 (Combinatorial, No output feedback, Active low) + +Equations: + +/o15 = /i1 & i2 & /i3 & i4 & i11 + + /i1 & i2 & /i3 & /i5 & /i13 + + /i1 & i2 & /i3 & i6 & i14 + + /i1 & i2 & /i3 & /i7 & /i23 + + /i1 & i2 & /i3 & i8 & /i11 + + /i1 & i2 & /i3 & /i9 & i13 + + /o16 +o15.oe = o16 + +/o16 = i1 & /i2 & /o17 + + i3 & /i4 + + i5 & /i6 + + i7 & /i8 + + i3 & i9 & o17 + + i1 & /i2 & i3 & /i4 & i5 & /i6 & i7 & /i8 & /i9 + + /i8 & /i9 +o16.oe = vcc + +/o17 = /o18 & /i23 + + i10 & o18 + + i9 + + i8 + + /i7 + + /i6 + + i5 +o17.oe = i4 & i5 + +/o18 = i1 & /i2 & i3 & /i4 & /i8 & i23 + + i1 & i2 & i3 & /i4 & /i5 + + /i6 & i7 & i8 & i9 & i10 & /o19 + + i11 & i13 & i14 & i23 + + /i6 & i7 & i8 & i9 & i10 + + i3 & i13 & i14 & i23 + + i1 & i2 & i3 & /i4 & /i5 & o19 +o18.oe = i1 & i10 & i23 + +/o19 = i9 & /i10 & i11 & i23 + + i9 + + /i10 + + i11 & o20 + + i23 + + i2 & /i10 & i23 + + i9 & i11 +o19.oe = i8 & /o20 + +/o20 = o21 + + /i2 + + /i3 + + /i4 + + /i5 + + /i6 + + /i7 & /o21 +o20.oe = vcc + +/o21 = i1 & i8 + + /i14 + + i1 & /i5 & i8 + + i23 + + i1 & i8 & /i14 + + i13 + + i1 & i11 +o21.oe = i5 & i6 + +/o22 = i1 & /i8 + + /i8 + + i1 + + /i10 + + /i23 + + i8 & /i13 + + /i11 +o22.oe = i3 & /i7 + diff --git a/regtests/jedutil/baseline/gal20v8/pal20r4-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal20r4-to-gal20v8.txt new file mode 100644 index 00000000000..eaf9bca00c6 --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal20r4-to-gal20v8.txt @@ -0,0 +1,93 @@ +Inputs: + +2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 + +Outputs: + +15 (Combinatorial, Output feedback output, Active low) +16 (Combinatorial, Output feedback output, Active low) +17 (Registered, Output feedback registered, Active low) +18 (Registered, Output feedback registered, Active low) +19 (Registered, Output feedback registered, Active low) +20 (Registered, Output feedback registered, Active low) +21 (Combinatorial, Output feedback output, Active low) +22 (Combinatorial, Output feedback output, Active low) + +Equations: + +/o15 = i2 & i6 & i7 + + i6 & o16 + + i3 & /o16 + + i7 + + /i4 + + i6 & i7 + + i4 & i7 +o15.oe = /i23 + +/o16 = /i3 & /rf17 + + /i4 + + /i3 + + /i3 & i4 + + /i7 & rf17 + + /i7 + + i4 +o16.oe = i23 + +/rf17 := /i2 + + /rf18 + + i5 + + i6 + + rf18 + + i4 + + /i10 + + /i23 +rf17.oe = OE + +/rf18 := /i2 & i5 & i6 & /i7 + + i3 & i6 & i7 + + i3 & rf19 + + /i2 & /i7 + + /i3 & /rf19 + + i5 & i6 & /i7 + + i7 + + /i11 +rf18.oe = OE + +/rf19 := i5 & i6 & /i7 + + i3 & i6 & i7 + + i5 & rf20 + + i6 + + i7 + + /i4 & /rf20 + + /i7 + + i10 +rf19.oe = OE + +/rf20 := i10 & rf17 + + /i11 + + i4 & /rf17 + + i2 + + /i6 & /i7 + + i8 + + /i9 + + o22 +rf20.oe = OE + +/o21 = /i8 + + /i2 & rf17 + + i11 + + /i10 + + o15 + + /i14 + + /i3 +o21.oe = i8 & i9 & /o22 + +/o22 = i14 + + /o15 + + i3 & /o21 + + i7 + + /i8 & o21 + + i10 + + /i9 +o22.oe = i14 & /o15 + diff --git a/regtests/jedutil/baseline/gal20v8/pal20r6-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal20r6-to-gal20v8.txt new file mode 100644 index 00000000000..c89257c22cd --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal20r6-to-gal20v8.txt @@ -0,0 +1,95 @@ +Inputs: + +2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 + +Outputs: + +15 (Combinatorial, Output feedback output, Active low) +16 (Registered, Output feedback registered, Active low) +17 (Registered, Output feedback registered, Active low) +18 (Registered, Output feedback registered, Active low) +19 (Registered, Output feedback registered, Active low) +20 (Registered, Output feedback registered, Active low) +21 (Registered, Output feedback registered, Active low) +22 (Combinatorial, Output feedback output, Active low) + +Equations: + +/o15 = i2 & i6 & i7 + + i6 & rf16 + + i3 & /rf16 + + i7 + + /i4 + + i6 & i7 + + i4 & i7 +o15.oe = /i23 + +/rf16 := /i3 & /rf17 + + /i4 & /i23 + + /i3 + + /i3 & i4 + + /i7 & rf17 + + /i7 + + i4 + + i23 +rf16.oe = OE + +/rf17 := /i2 + + /rf18 + + i5 + + i6 + + rf18 + + i4 + + /i10 + + /i23 +rf17.oe = OE + +/rf18 := /i2 & i5 & i6 & /i7 + + i3 & i6 & i7 + + i3 & rf19 + + /i2 & /i7 + + /i3 & /rf19 + + i5 & i6 & /i7 + + i7 + + /i11 +rf18.oe = OE + +/rf19 := i5 & i6 & /i7 + + i3 & i6 & i7 + + i5 & rf20 + + i6 + + i7 + + /i4 & /rf20 + + /i7 + + i10 +rf19.oe = OE + +/rf20 := i10 & rf17 + + /i11 + + i4 & /rf17 + + i2 + + /i6 & /i7 + + i8 + + /i9 + + o22 +rf20.oe = OE + +/rf21 := /i8 + + /i2 & rf17 + + i11 + + /i10 + + o15 + + /i14 & /o22 + + /i3 + + /i5 +rf21.oe = OE + +/o22 = i14 + + /o15 + + i3 & /rf21 + + i7 + + /i8 & rf21 + + i10 + + /i9 +o22.oe = i14 & /o15 + diff --git a/regtests/jedutil/baseline/gal20v8/pal20r8-to-gal20v8.txt b/regtests/jedutil/baseline/gal20v8/pal20r8-to-gal20v8.txt new file mode 100644 index 00000000000..a5ed5d22cfe --- /dev/null +++ b/regtests/jedutil/baseline/gal20v8/pal20r8-to-gal20v8.txt @@ -0,0 +1,97 @@ +Inputs: + +2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 + +Outputs: + +15 (Registered, Output feedback registered, Active low) +16 (Registered, Output feedback registered, Active low) +17 (Registered, Output feedback registered, Active low) +18 (Registered, Output feedback registered, Active low) +19 (Registered, Output feedback registered, Active low) +20 (Registered, Output feedback registered, Active low) +21 (Registered, Output feedback registered, Active low) +22 (Registered, Output feedback registered, Active low) + +Equations: + +/rf15 := i2 & i6 & i7 + + i6 & rf16 + + i3 & /rf16 + + i7 + + /i4 + + i6 & i7 + + i4 & i7 + + /i23 +rf15.oe = OE + +/rf16 := /i3 & /rf17 + + /i4 + + /i3 + + /i3 & i4 + + /i7 & rf17 + + /i7 + + i4 + + i23 +rf16.oe = OE + +/rf17 := /i2 + + /rf18 + + i5 + + i6 + + rf18 + + i4 + + /i10 + + /i23 +rf17.oe = OE + +/rf18 := /i2 & i5 & i6 & /i7 + + i3 & i6 & i7 + + i3 & rf19 + + /i2 & /i7 + + /i3 & /rf19 + + i5 & i6 & /i7 + + i7 + + /i11 +rf18.oe = OE + +/rf19 := i5 & i6 & /i7 + + i3 & i6 & i7 + + i5 & rf20 + + i6 + + i7 + + /i4 & /rf20 + + /i7 + + i10 +rf19.oe = OE + +/rf20 := i10 & rf17 + + /i11 + + i4 & /rf17 + + i2 + + /i6 & /i7 + + i8 + + /i9 + + rf22 +rf20.oe = OE + +/rf21 := /i8 + + /i2 & rf17 + + i11 + + /i10 + + rf15 + + /i14 + + /i3 + + i8 & i9 & /rf22 +rf21.oe = OE + +/rf22 := i14 + + /rf15 + + i3 & /rf21 + + i7 + + /i8 & rf21 + + i10 + + /i9 + + i14 & /rf15 +rf22.oe = OE + diff --git a/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_complex_mode.pld b/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_complex_mode.pld new file mode 100644 index 00000000000..d7064cf7456 --- /dev/null +++ b/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_complex_mode.pld @@ -0,0 +1,105 @@ +Name GAL20V8 Complex Mode Test ; +PartNo 00 ; +Date 4/6/2020 ; +Revision 01 ; +Designer MAME ; +Company MAME ; +Assembly None ; +Location ; +Device G20V8A ; + +/* Complex Mode Test */ + +/* Input Pins */ +PIN 1 = [I1] ; +PIN 2 = [I2] ; +PIN 3 = [I3] ; +PIN 4 = [I4] ; +PIN 5 = [I5] ; +PIN 6 = [I6] ; +PIN 7 = [I7] ; +PIN 8 = [I8] ; +PIN 9 = [I9] ; +PIN 10 = [I10] ; +PIN 11 = [I11] ; +PIN 13 = [I13] ; +PIN 14 = [I14] ; +PIN 23 = [I23] ; + +/* Output Pins */ +PINNODE 15 = [O15] ; +PINNODE 16 = [O16] ; +PINNODE 17 = [O17] ; +PINNODE 18 = [O18] ; +PINNODE 19 = [O19] ; +PINNODE 20 = [O20] ; +PINNODE 21 = [O21] ; +PINNODE 22 = [O22] ; + +/* Logic Equations */ + +O15 = I1 & !I2 # + I3 # + I4 & !I5 & I6 & I7 & !I8 & I9 # + !I10 & !I11 # + I13 # + I14 # + I23; +O15.oe = !I23; + +O16 = I1 & I2 & I3 & I4 & I5 # + I6 & I7 & I8 & I9 & I10 # + I13 # + I14 & !O21 # + I23 # + !I5 & O17 & O18 # + !I2; + +O17 = !I7 & O21 # + I8 # + !I3 # + !I1 & !I2 & I3 # + !I4 & !I5 # + !I6 & !I7 & !I8 & !I9 & !I10 # + !O18; + +!O18 = I1 # + I3 # + I5 # + I7 # + I9 # + I11 # + I13; + +O19 = !I13 # + !I11 # + !I9 # + !I7 # + !I5 # + !I3 # + !I1; + +O20 = I6 # + I13 & O19 # + I1 & !I7 # + O18 # + I9 & !I13 # + I14 & !O17 # + !O16; + +!O21 = !I1 & I2 # + !I3 # + !I4 & I5 & !I6 & !I7 & I8 & !I9 # + I10 & I11 # + !I13 # + !I14 # + !I23; +O21.oe = !I23; + +O22 = !I8 & I23 # + !O19 & I23 # + !O18 # + O17 # + O16 # + !I2 & I8 & I14 # + !I2 & !I4 & !I6 & !I8 & !I10 & !I14; diff --git a/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_registered_mode.pld b/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_registered_mode.pld new file mode 100644 index 00000000000..16e34b82e8b --- /dev/null +++ b/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_registered_mode.pld @@ -0,0 +1,72 @@ +Name GAL20V8 Registered Mode Test ; +PartNo 00 ; +Date 4/6/2020 ; +Revision 01 ; +Designer MAME ; +Company MAME ; +Assembly None ; +Location ; +Device G20V8MS ; + +/* Registered Mode Test */ + +/* Input Pins */ +PIN 2 = [I2] ; +PIN 3 = [I3] ; +PIN 4 = [I4] ; +PIN 5 = [I5] ; +PIN 6 = [I6] ; +PIN 7 = [I7] ; +PIN 8 = [I8] ; +PIN 9 = [I9] ; +PIN 10 = [I10] ; +PIN 11 = [I11] ; +PIN 14 = [I14] ; +PIN 15 = [I15] ; +PIN 16 = [I16] ; +PIN 17 = [I17] ; +PIN 21 = [I21] ; +PIN 23 = [I23] ; + +/* Output Pins */ +PINNODE 18 = [O18] ; +PINNODE 19 = [RF19] ; +PINNODE 20 = [RF20] ; +PINNODE 22 = [O22] ; + +/* Logic Equations */ + +O18 = I3 & RF19 # + I5 # + I7 & RF20 # + I9 # + I11 # + I15 & !RF19 & !RF20 # + I17; +O18.oe = !I17 & !I21 & I23; + +!RF19.D = !I10 & !I23 # + !I11 & O18 # + !I9 # + !I7 & I21 # + !I5 & RF20 # + !I3 # + !I2 # + I4 & O22; + +RF20.D = I6 # + I10 & RF19 # + !I7 & I17 # + O18 & !O22 # + I9 & !I10 # + I14 & !I17 # + !I16 # + !RF19 & I23; + +O22 = !I8 & I23 # + !RF19 & I23 # + !O18 & RF20 # + I17 # + I16 # + !I2 & I8 & I14 & !RF20 # + !I2 & !I4 & !I6 & !I8 & !I10 & !I14; diff --git a/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_simple_mode.pld b/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_simple_mode.pld new file mode 100644 index 00000000000..58914ddb066 --- /dev/null +++ b/regtests/jedutil/eqns/WinCUPL/gal20v8/gal20v8_simple_mode.pld @@ -0,0 +1,75 @@ +Name GAL20V8 Simple Mode Test ; +PartNo 00 ; +Date 4/20/2020 ; +Revision 01 ; +Designer MAME ; +Company MAME ; +Assembly None ; +Location ; +Device G20V8A ; + +/* Simple Mode Test */ + +/* Input Pins */ +PIN 1 = [I1] ; +PIN 2 = [I2] ; +PIN 3 = [I3] ; +PIN 4 = [I4] ; +PIN 5 = [I5] ; +PIN 6 = [I6] ; +PIN 7 = [I7] ; +PIN 8 = [I8] ; +PIN 9 = [I9] ; +PIN 10 = [I10] ; +PIN 11 = [I11] ; +PIN 13 = [I13] ; +PIN 14 = [I14] ; +PIN 15 = [I15] ; +PIN 17 = [I17] ; +PIN 20 = [I20] ; +PIN 22 = [I22] ; +PIN 23 = [I23] ; + +/* Output Pins */ +PINNODE 16 = [O16] ; +PINNODE 18 = [O18] ; +PINNODE 19 = [O19] ; +PINNODE 21 = [O21] ; + +/* Logic Equations */ + +!O16 = I1 & I2 & I3 & I4 & I5 # + !I6 & !I7 & !I8 & !I9 & !I10 & O21 # + I11 & I13 & I14 & I15 # + !I17 & !I20 & !I22 & !I23 # + !I1 & !I2 & !I3 & !I4 & !I5 # + I6 & I7 & I8 & I9 & I10 & O16 # + !I11 & !I13 & !I14 & !I15 # + I17 & I20 &!O21 & I22 & I23 ; + +O18 = I17 & I20 & I22 & I23 # + !I11 & !I13 & !I14 & !I15 # + I6 & I7 & I8 & I9 & I10 # + !I1 & !I2 & !I3 & !I4 & !I5 # + !I17 & !I20 & !I22 & !I23 # + I11 & I13 & I14 & I15 & !O16 & !O21 # + !I6 & !I7 & !I8 & !I9 & !I10 # + I1 & I2 & I3 & I4 & I5 ; + +!O19 = !I1 & !I3 # + !I5 & !I7 # + !I9 & !I11 & O16 & O21 # + !I13 & !I15 # + I17 & I23 # + I2 & I4 & I6 # + I8 & I10 # + I14 & I20 ; + +O21 = I1 & I3 # + I5 & I7 # + I9 & I11 # + I13 & I15 # + !I17 & !I23 # + !I2 & !I4 & !I6 # + !I8 & !I10 # + !I14 & !I20 ; diff --git a/regtests/jedutil/eqns/WinCUPL/readme.txt b/regtests/jedutil/eqns/WinCUPL/readme.txt new file mode 100644 index 00000000000..bf671ac1e99 --- /dev/null +++ b/regtests/jedutil/eqns/WinCUPL/readme.txt @@ -0,0 +1 @@ +These files were created with Atmel Corporation's WinCUPL v5.30.4 software. \ No newline at end of file diff --git a/regtests/jedutil/jeds/gal20v8/gal20v8_complex_mode.jed b/regtests/jedutil/jeds/gal20v8/gal20v8_complex_mode.jed new file mode 100644 index 00000000000..f0611723dc8 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/gal20v8_complex_mode.jed @@ -0,0 +1,102 @@ + +CUPL(WM) 5.0a Serial# 60008009 +Device g20v8ma Library DLIB-h-40-3 +Created Tue Apr 07 21:00:36 2020 +Name GAL20V8 Simple Mode Test +Partno 00 +Revision 01 +Date 4/6/2020 +Designer MAME +Company MAME +Assembly None +Location +*QP24 +*QF2706 +*G0 +*F0 +*L00000 11111111111111111111111111111111 +*L00032 11111111111111011111111111111111 +*L00064 10111111111111111111110111111111 +*L00096 11101111111111111111111111111111 +*L00128 11111111111111101111111111111111 +*L00160 11111111111111111111111111011111 +*L00192 11111111111111111111111111111111 +*L00224 11111101111111111011111111111111 +*L00256 11111111011111111101111110111111 +*L00288 10111111101111111011111110101111 +*L00320 11111110111111111111111111111111 +*L00352 11111111011011111111111111111111 +*L00384 11111111111111111111101111111111 +*L00416 11111111111111111111111111111111 +*L00448 10110111101110110111101111111111 +*L00480 11111111111111111111111111111111 +*L00512 01110111111111111111111111111111 +*L00544 11111111111111101111111111111111 +*L00576 11111111111111111110111111111110 +*L00608 11111111111111111111111111111111 +*L00640 11111111111111111111111111111111 +*L00672 11111111111111111111111101111111 +*L00704 11111111111111111111111111111111 +*L00736 11011111111111111111110111011111 +*L00768 11111111111110111111111111111111 +*L00800 11111111111111111111110111111111 +*L00832 11111111111111111111111111111111 +*L00864 11110111111111101111111111111111 +*L00896 11111111111011111101111111111111 +*L00928 11111111111111111111111011111111 +*L00960 11111111111111111111111111111111 +*L00992 11111111111111111111111111111111 +*L01024 11111111111111101111111111111111 +*L01056 11111111111111111111101111111111 +*L01088 11111111111111111111101111111111 +*L01120 11111111111111111111101111111111 +*L01152 11111111111111111111101111111111 +*L01184 11111111111111111111101111111111 +*L01216 11111111111111111111111111101111 +*L01248 11111111111111111111111111111111 +*L01280 11111111111111111111111111111111 +*L01312 11111111110111111111111111111111 +*L01344 11111111111111111111011111111111 +*L01376 11111111111111111111111111111111 +*L01408 11110111111111111111111111111111 +*L01440 11111111111111111111011111111111 +*L01472 11111111111111111111111111111111 +*L01504 11110111111111111111111111111111 +*L01536 11111111111111111111011111111111 +*L01568 11111111111111111111111111111101 +*L01600 11111111111111111111111111111111 +*L01632 11111111111111111101111111111011 +*L01664 11111111111111111111111111111111 +*L01696 11111111011111111111111111111011 +*L01728 11111111111111111111111111111111 +*L01760 10100111111111111111111111111111 +*L01792 11111111111111111011101111111111 +*L01824 11111111111111111111111111111111 +*L01856 10111011101110111011111111111111 +*L01888 11111111111111101111111111111111 +*L01920 11111111111111111111111111111111 +*L01952 11111111010101110111011111111111 +*L01984 11111111111111111111111111111111 +*L02016 01110111011101110111111111111111 +*L02048 11111111111111111111111111111101 +*L02080 11111111111011111111111111111111 +*L02112 11011111111111011111111111111111 +*L02144 11111111111111111111111111111011 +*L02176 11111101110111111111111110111111 +*L02208 11111111111111111111111111111111 +*L02240 11111110111111111111111111111111 +*L02272 11111111100111111111111111111111 +*L02304 11111111111111111111011111111111 +*L02336 11111111111111111111111111111111 +*L02368 01111011011101111011011111111111 +*L02400 11111111111111111111111111111111 +*L02432 10111011111111111111111111111111 +*L02464 11111111111111011111111111111111 +*L02496 11111111111111111101111111111101 +*L02528 11111111111111111111111111111111 +*L02560 10110111001100000011000000100000 +*L02624 00000000111111111111111111111111 +*L02656 11111111111111111111111111111111 +*L02688 111111111111111111 +*C3DC2 +*DDD3 \ No newline at end of file diff --git a/regtests/jedutil/jeds/gal20v8/gal20v8_registered_mode.jed b/regtests/jedutil/jeds/gal20v8/gal20v8_registered_mode.jed new file mode 100644 index 00000000000..376a3f2fe98 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/gal20v8_registered_mode.jed @@ -0,0 +1,62 @@ + +CUPL(WM) 5.0a Serial# 60008009 +Device g20v8ms Library DLIB-h-40-3 +Created Wed Apr 22 22:09:09 2020 +Name GAL20V8 Registered Mode Test +Partno 00 +Revision 01 +Date 4/6/2020 +Designer MAME +Company MAME +Assembly None +Location +*QP24 +*QF2706 +*G0 +*F0 +*L00000 11111111111111111111111111111111 +*L00032 11111111110111111111111111111111 +*L00064 10111111111111111101111111111111 +*L00096 11101111111111111111111111111111 +*L00128 11111101111111101111111111111111 +*L00160 11111111111111111111111111011111 +*L00192 11111111111111111111111111111111 +*L00224 11111101111111111011111111111110 +*L00256 11111111011111111111110110111111 +*L00288 10111111101111111011111110111110 +*L00640 11111111111111110111111111111111 +*L00672 11111111111111111111111111011111 +*L00704 11111111011111111111111111111111 +*L00736 11111011110111111111111111111110 +*L00768 11111111111111011111111111111111 +*L00800 11111111111111111111111111110111 +*L00832 10111111111111111111111111111111 +*L00864 11101111111111011111111111111111 +*L00896 11111111111111101111111111011111 +*L00928 11111111111011111111111111111111 +*L00960 11101111111111111111111111111111 +*L00992 10111111111111111111111111111101 +*L01024 11111111111110111111111111111111 +*L01056 11111111111110111111111111111111 +*L01088 11011111111110111111111111111111 +*L01120 11111111111110011111111111111111 +*L01152 11111111111110111111111111111111 +*L01184 11111111111111111011111111111111 +*L01216 11111111111111111111111111111101 +*L01248 01111111111111111111111111111111 +*L01280 11011111111011111111111111101111 +*L01312 11111111111101111111111111011111 +*L01344 11111111111111111111111111110111 +*L01376 11111111111111111111111111111111 +*L01408 11111101111101111111111111111111 +*L01440 11111111111111111111111111110111 +*L01472 11111111111111111111111111111111 +*L01504 11111111111101111111111111111110 +*L01536 11101111111111111101111111111111 +*L01568 11111111111111111101111111111111 +*L02560 10101000001100000011000000100000 +*L02624 00000000110011111111111111111111 +*L02656 11111111111111111111111111111111 +*L02688 111111111111111101 +*CA1A2 +*A7F0 \ No newline at end of file diff --git a/regtests/jedutil/jeds/gal20v8/gal20v8_simple_mode.jed b/regtests/jedutil/jeds/gal20v8/gal20v8_simple_mode.jed new file mode 100644 index 00000000000..539fae49092 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/gal20v8_simple_mode.jed @@ -0,0 +1,62 @@ + +CUPL(WM) 5.0a Serial# 60008009 +Device g20v8as Library DLIB-h-40-1 +Created Tue Apr 21 21:05:50 2020 +Name GAL20V8 Simple Mode Test +Partno 00 +Revision 01 +Date 4/20/2020 +Designer MAME +Company MAME +Assembly None +Location +*QP24 +*QF2706 +*G0 +*F0 +*L00320 11010111111111111111111111111111 +*L00352 11111111111111111111011111110111 +*L00384 11111111111111111111111111111111 +*L00416 11111111111101111111011111111111 +*L00448 11111111111111111111110111111101 +*L00480 11111110111111111111111011111111 +*L00512 11111111101111111011111110111111 +*L00544 11111111111111111111111111111111 +*L00576 11111111101111111011111111111111 +*L00608 11111111111011111111111111101111 +*L00960 11101011111111111111111111111111 +*L00992 11111111111111111111101111111011 +*L01024 11111111111111111111111111111101 +*L01056 11111111110110111111101111111111 +*L01088 11111111111111111111111011111110 +*L01120 11111101111111111111110111111111 +*L01152 11111111011111110111111101111111 +*L01184 11111111111111111111111111111111 +*L01216 11111111011111110111111111111111 +*L01248 11111111110111111111111111011111 +*L01280 11111101110111111101110111111111 +*L01312 11111111111111111111111111111111 +*L01344 11111110111010101111111111111111 +*L01376 01110111011101110111111110101011 +*L01408 10111011111111111111111111111111 +*L01440 11111110111011111110111011111111 +*L01472 11111111111111111111111011111111 +*L01504 11101101110101011111111111111111 +*L01536 10111011101110111011111101010111 +*L01568 01110111111111111111111111111111 +*L01920 01010111011101111111111111111111 +*L01952 11111111111111111111110110111011 +*L01984 10111011101111111111111111111111 +*L02016 11111111111111011101010111111110 +*L02048 11101111111011101111111111111111 +*L02080 10101011101110111111111111111111 +*L02112 11111111111111111111111101110111 +*L02144 01010111011111111111111111111111 +*L02176 11111111111111101110101011111101 +*L02208 11011110110111011111111111111111 +*L02560 01001000001100000011000000100000 +*L02624 00000000101001011111111111111111 +*L02656 11111111111111111111111111111111 +*L02688 111111111111111110 +*C9A1B +*A63B \ No newline at end of file diff --git a/regtests/jedutil/jeds/gal20v8/pal14h8-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal14h8-to-gal20v8.jed new file mode 100644 index 00000000000..9b066a8b8d5 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal14h8-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL14H8 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal14h8.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:36:01 2019 + + +PAL14H8 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal14h8.eqn". Date: 11-7-113 +* +NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 i13:13 i14:14 o15:15 o16:16 o17:17 o18:18* +NOTE PINS o19:19 o20:20 o21:21 o22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 1111111111110111011111111111111111111111* +L00040 1111111111111111111110111111111111110111* +L00080 1111111011111111111111111111111111111111* +L00120 1110011111111111011101111111111101111111* +L00160 0000000000110011001100110011001100000000* +L00200 0000000000110011001100110011001100000000* +L00240 0000000000110011001100110011001100000000* +L00280 0000000000110011001100110011001100000000* + +L00320 1011111111110111011110111111111111111111* +L00360 1111010111111111011101111111111111111101* +L00400 0000000000110011001100110011001100000000* +L00440 0000000000110011001100110011001100000000* +L00480 0000000000110011001100110011001100000000* +L00520 0000000000110011001100110011001100000000* +L00560 0000000000110011001100110011001100000000* +L00600 0000000000110011001100110011001100000000* + +L00640 1111111111111111111111111111011101011111* +L00680 1111111111111111111111111111111111111101* +L00720 0000000000110011001100110011001100000000* +L00760 0000000000110011001100110011001100000000* +L00800 0000000000110011001100110011001100000000* +L00840 0000000000110011001100110011001100000000* +L00880 0000000000110011001100110011001100000000* +L00920 0000000000110011001100110011001100000000* + +L00960 1111111111111111111101111111111111111111* +L01000 1111111111111111111111110111111111111111* +L01040 0000000000110011001100110011001100000000* +L01080 0000000000110011001100110011001100000000* +L01120 0000000000110011001100110011001100000000* +L01160 0000000000110011001100110011001100000000* +L01200 0000000000110011001100110011001100000000* +L01240 0000000000110011001100110011001100000000* + +L01280 0101011111111111111111111111111111111111* +L01320 1111111101110111011111111111111111101111* +L01360 0000000000110011001100110011001100000000* +L01400 0000000000110011001100110011001100000000* +L01440 0000000000110011001100110011001100000000* +L01480 0000000000110011001100110011001100000000* +L01520 0000000000110011001100110011001100000000* +L01560 0000000000110011001100110011001100000000* + +L01600 1111111111111111111111111111101110111111* +L01640 1111111111111111111111111111111111111110* +L01680 0000000000110011001100110011001100000000* +L01720 0000000000110011001100110011001100000000* +L01760 0000000000110011001100110011001100000000* +L01800 0000000000110011001100110011001100000000* +L01840 0000000000110011001100110011001100000000* +L01880 0000000000110011001100110011001100000000* + +L01920 1111111111111111111110111111111111111111* +L01960 1111111111111111111111111011111111111111* +L02000 0000000000110011001100110011001100000000* +L02040 0000000000110011001100110011001100000000* +L02080 0000000000110011001100110011001100000000* +L02120 0000000000110011001100110011001100000000* +L02160 0000000000110011001100110011001100000000* +L02200 0000000000110011001100110011001100000000* + +L02240 1010111111111111111111111111111111111111* +L02280 1111101111111111111111111111111111111111* +L02320 1111111110111111111111111111111111111111* +L02360 1111111111111011101111111111111111111111* +L02400 0000000000110011001100110011001100000000* +L02440 0000000000110011001100110011001100000000* +L02480 0000000000110011001100110011001100000000* +L02520 0000000000110011001100110011001100000000* + +N ==> XOR * +L02560 11111111* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 00000000* +N ==> PTD * +L02640 1111000011000000110000001100000011000000* +L02680 110000001100000011110000* +N ==> SYN 2704, AC0 2705 * +L02704 10* +CCA96* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal14l8-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal14l8-to-gal20v8.jed new file mode 100644 index 00000000000..2d93791bdac --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal14l8-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL14L8 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal14l8.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:38:11 2019 + + +PAL14L8 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal14l8.eqn". Date: 11-7-113 +* +NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 i13:13 i14:14 o15:15 o16:16 o17:17 o18:18* +NOTE PINS o19:19 o20:20 o21:21 o22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 1111111111110111011111111111111111111111* +L00040 1111111111111111111110111111111111110111* +L00080 1111111011111111111111111111111111111111* +L00120 1110011111111111011101111111111101111111* +L00160 0000000000110011001100110011001100000000* +L00200 0000000000110011001100110011001100000000* +L00240 0000000000110011001100110011001100000000* +L00280 0000000000110011001100110011001100000000* + +L00320 1011111111110111011110111111111111111111* +L00360 1111010111111111011101111111111111111101* +L00400 0000000000110011001100110011001100000000* +L00440 0000000000110011001100110011001100000000* +L00480 0000000000110011001100110011001100000000* +L00520 0000000000110011001100110011001100000000* +L00560 0000000000110011001100110011001100000000* +L00600 0000000000110011001100110011001100000000* + +L00640 1111111111111111111111111111011101011111* +L00680 1111111111111111111111111111111111111101* +L00720 0000000000110011001100110011001100000000* +L00760 0000000000110011001100110011001100000000* +L00800 0000000000110011001100110011001100000000* +L00840 0000000000110011001100110011001100000000* +L00880 0000000000110011001100110011001100000000* +L00920 0000000000110011001100110011001100000000* + +L00960 1111111111111111111101111111111111111111* +L01000 1111111111111111111111110111111111111111* +L01040 0000000000110011001100110011001100000000* +L01080 0000000000110011001100110011001100000000* +L01120 0000000000110011001100110011001100000000* +L01160 0000000000110011001100110011001100000000* +L01200 0000000000110011001100110011001100000000* +L01240 0000000000110011001100110011001100000000* + +L01280 0101011111111111111111111111111111111111* +L01320 1111111101110111011111111111111111101111* +L01360 0000000000110011001100110011001100000000* +L01400 0000000000110011001100110011001100000000* +L01440 0000000000110011001100110011001100000000* +L01480 0000000000110011001100110011001100000000* +L01520 0000000000110011001100110011001100000000* +L01560 0000000000110011001100110011001100000000* + +L01600 1111111111111111111111111111101110111111* +L01640 1111111111111111111111111111111111111110* +L01680 0000000000110011001100110011001100000000* +L01720 0000000000110011001100110011001100000000* +L01760 0000000000110011001100110011001100000000* +L01800 0000000000110011001100110011001100000000* +L01840 0000000000110011001100110011001100000000* +L01880 0000000000110011001100110011001100000000* + +L01920 1111111111111111111110111111111111111111* +L01960 1111111111111111111111111011111111111111* +L02000 0000000000110011001100110011001100000000* +L02040 0000000000110011001100110011001100000000* +L02080 0000000000110011001100110011001100000000* +L02120 0000000000110011001100110011001100000000* +L02160 0000000000110011001100110011001100000000* +L02200 0000000000110011001100110011001100000000* + +L02240 1010111111111111111111111111111111111111* +L02280 1111101111111111111111111111111111111111* +L02320 1111111110111111111111111111111111111111* +L02360 1111111111111011101111111111111111111111* +L02400 0000000000110011001100110011001100000000* +L02440 0000000000110011001100110011001100000000* +L02480 0000000000110011001100110011001100000000* +L02520 0000000000110011001100110011001100000000* + +N ==> XOR * +L02560 00000000* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 00000000* +N ==> PTD * +L02640 1111000011000000110000001100000011000000* +L02680 110000001100000011110000* +N ==> SYN 2704, AC0 2705 * +L02704 10* +CC997* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal16h6-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal16h6-to-gal20v8.jed new file mode 100644 index 00000000000..18c8fc8248c --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal16h6-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL16H6 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal16h6.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:39:47 2019 + + +PAL16H6 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal16h6.eqn". Date: 11-8-113 +* +NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 i13:13 i14:14 i15:15 o16:16 o17:17 o18:18* +NOTE PINS o19:19 o20:20 o21:21 i22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 0000000000000011001100110011000000000000* +L00040 0000000000000011001100110011000000000000* +L00080 0000000000000011001100110011000000000000* +L00120 0000000000000011001100110011000000000000* +L00160 0000000000000011001100110011000000000000* +L00200 0000000000000011001100110011000000000000* +L00240 0000000000000011001100110011000000000000* +L00280 0000000000000011001100110011000000000000* + +L00320 1111111111010111011111111111111111111111* +L00360 1111111111111111111110111111111111110111* +L00400 1111111011111111111111111111111111111111* +L00440 1110011111111111011101111111111101111111* +L00480 0000000000000011001100110011000000000000* +L00520 0000000000000011001100110011000000000000* +L00560 0000000000000011001100110011000000000000* +L00600 0000000000000011001100110011000000000000* + +L00640 1011111111110111111111111111111111111111* +L00680 1111111111111111011110111111111111111111* +L00720 1111011111111111011111111111111111111111* +L00760 1111110111111111111101111111111111111101* +L00800 0000000000000011001100110011000000000000* +L00840 0000000000000011001100110011000000000000* +L00880 0000000000000011001100110011000000000000* +L00920 0000000000000011001100110011000000000000* + +L00960 1111111111111111111111111111011101011111* +L01000 1111111111101111111111111111111111111101* +L01040 0000000000000011001100110011000000000000* +L01080 0000000000000011001100110011000000000000* +L01120 0000000000000011001100110011000000000000* +L01160 0000000000000011001100110011000000000000* +L01200 0000000000000011001100110011000000000000* +L01240 0000000000000011001100110011000000000000* + +L01280 1111111111111111111101111111111111111111* +L01320 1111111111111111111111110111110111111111* +L01360 0000000000000011001100110011000000000000* +L01400 0000000000000011001100110011000000000000* +L01440 0000000000000011001100110011000000000000* +L01480 0000000000000011001100110011000000000000* +L01520 0000000000000011001100110011000000000000* +L01560 0000000000000011001100110011000000000000* + +L01600 1111111111111111111111111111101110111111* +L01640 1111111111111111111111111111111011111110* +L01680 0101011111111111111111111111111111111111* +L01720 1111111101110111011111111111111111101111* +L01760 0000000000000011001100110011000000000000* +L01800 0000000000000011001100110011000000000000* +L01840 0000000000000011001100110011000000000000* +L01880 0000000000000011001100110011000000000000* + +L01920 1010111111111111111111111111111111111111* +L01960 1111101111111111111110111111111111111111* +L02000 1111111110111111111111111011111111111111* +L02040 1111111111111011101111111111111111111111* +L02080 0000000000000011001100110011000000000000* +L02120 0000000000000011001100110011000000000000* +L02160 0000000000000011001100110011000000000000* +L02200 0000000000000011001100110011000000000000* + +L02240 0000000000000011001100110011000000000000* +L02280 0000000000000011001100110011000000000000* +L02320 0000000000000011001100110011000000000000* +L02360 0000000000000011001100110011000000000000* +L02400 0000000000000011001100110011000000000000* +L02440 0000000000000011001100110011000000000000* +L02480 0000000000000011001100110011000000000000* +L02520 0000000000000011001100110011000000000000* + +N ==> XOR * +L02560 11111111* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 10000001* +N ==> PTD * +L02640 0000000011110000111100001100000011000000* +L02680 111100001111000000000000* +N ==> SYN 2704, AC0 2705 * +L02704 10* +CA74D* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal16l6-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal16l6-to-gal20v8.jed new file mode 100644 index 00000000000..44ddaec7553 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal16l6-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL16L6 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal16l6.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:41:16 2019 + + +PAL16L6 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal16l6.eqn". Date: 11-8-113 +* +NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 i13:13 i14:14 i15:15 o16:16 o17:17 o18:18* +NOTE PINS o19:19 o20:20 o21:21 i22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 0000000000000011001100110011000000000000* +L00040 0000000000000011001100110011000000000000* +L00080 0000000000000011001100110011000000000000* +L00120 0000000000000011001100110011000000000000* +L00160 0000000000000011001100110011000000000000* +L00200 0000000000000011001100110011000000000000* +L00240 0000000000000011001100110011000000000000* +L00280 0000000000000011001100110011000000000000* + +L00320 1111111111010111011111111111111111111111* +L00360 1111111111111111111110111111111111110111* +L00400 1111111011111111111111111111111111111111* +L00440 1110011111111111011101111111111101111111* +L00480 0000000000000011001100110011000000000000* +L00520 0000000000000011001100110011000000000000* +L00560 0000000000000011001100110011000000000000* +L00600 0000000000000011001100110011000000000000* + +L00640 1011111111110111111111111111111111111111* +L00680 1111111111111111011110111111111111111111* +L00720 1111011111111111011111111111111111111111* +L00760 1111110111111111111101111111111111111101* +L00800 0000000000000011001100110011000000000000* +L00840 0000000000000011001100110011000000000000* +L00880 0000000000000011001100110011000000000000* +L00920 0000000000000011001100110011000000000000* + +L00960 1111111111111111111111111111011101011111* +L01000 1111111111101111111111111111111111111101* +L01040 0000000000000011001100110011000000000000* +L01080 0000000000000011001100110011000000000000* +L01120 0000000000000011001100110011000000000000* +L01160 0000000000000011001100110011000000000000* +L01200 0000000000000011001100110011000000000000* +L01240 0000000000000011001100110011000000000000* + +L01280 1111111111111111111101111111111111111111* +L01320 1111111111111111111111110111110111111111* +L01360 0000000000000011001100110011000000000000* +L01400 0000000000000011001100110011000000000000* +L01440 0000000000000011001100110011000000000000* +L01480 0000000000000011001100110011000000000000* +L01520 0000000000000011001100110011000000000000* +L01560 0000000000000011001100110011000000000000* + +L01600 1111111111111111111111111111101110111111* +L01640 1111111111111111111111111111111011111110* +L01680 0101011111111111111111111111111111111111* +L01720 1111111101110111011111111111111111101111* +L01760 0000000000000011001100110011000000000000* +L01800 0000000000000011001100110011000000000000* +L01840 0000000000000011001100110011000000000000* +L01880 0000000000000011001100110011000000000000* + +L01920 1010111111111111111111111111111111111111* +L01960 1111101111111111111110111111111111111111* +L02000 1111111110111111111111111011111111111111* +L02040 1111111111111011101111111111111111111111* +L02080 0000000000000011001100110011000000000000* +L02120 0000000000000011001100110011000000000000* +L02160 0000000000000011001100110011000000000000* +L02200 0000000000000011001100110011000000000000* + +L02240 0000000000000011001100110011000000000000* +L02280 0000000000000011001100110011000000000000* +L02320 0000000000000011001100110011000000000000* +L02360 0000000000000011001100110011000000000000* +L02400 0000000000000011001100110011000000000000* +L02440 0000000000000011001100110011000000000000* +L02480 0000000000000011001100110011000000000000* +L02520 0000000000000011001100110011000000000000* + +N ==> XOR * +L02560 00000000* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 10000001* +N ==> PTD * +L02640 0000000011110000111100001100000011000000* +L02680 111100001111000000000000* +N ==> SYN 2704, AC0 2705 * +L02704 10* +CA64E* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal18l4-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal18l4-to-gal20v8.jed new file mode 100644 index 00000000000..85d164b27ac --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal18l4-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL18L4 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal18l4.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:44:55 2019 + + +PAL18L4 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal18l4.eqn". Date: 11-8-113 +* +NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 i13:13 i14:14 i15:15 i16:16 o17:17 o18:18* +NOTE PINS o19:19 o20:20 i21:21 i22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 0000000000000000001100110000000000000000* +L00040 0000000000000000001100110000000000000000* +L00080 0000000000000000001100110000000000000000* +L00120 0000000000000000001100110000000000000000* +L00160 0000000000000000001100110000000000000000* +L00200 0000000000000000001100110000000000000000* +L00240 0000000000000000001100110000000000000000* +L00280 0000000000000000001100110000000000000000* + +L00320 0000000000000000001100110000000000000000* +L00360 0000000000000000001100110000000000000000* +L00400 0000000000000000001100110000000000000000* +L00440 0000000000000000001100110000000000000000* +L00480 0000000000000000001100110000000000000000* +L00520 0000000000000000001100110000000000000000* +L00560 0000000000000000001100110000000000000000* +L00600 0000000000000000001100110000000000000000* + +L00640 1111011111111111011111111111111111111111* +L00680 1111110111111111111101111111111111111101* +L00720 1111111111010111011111111111111111111111* +L00760 1111111111111111111110111111111111110111* +L00800 1111111011111101111111111111111111111111* +L00840 1110011111111111011101111111111101111111* +L00880 0000000000000000001100110000000000000000* +L00920 0000000000000000001100110000000000000000* + +L00960 1111111111111111111111111111011101011111* +L01000 1111111111101111111111111111111111111101* +L01040 1011111111110110111111111111111111111111* +L01080 1111111111111111011110111111111111111111* +L01120 0000000000000000001100110000000000000000* +L01160 0000000000000000001100110000000000000000* +L01200 0000000000000000001100110000000000000000* +L01240 0000000000000000001100110000000000000000* + +L01280 0101011111111111111111111111111111111111* +L01320 1111111101110111011111111111111111101111* +L01360 1111111111111111111101111110111111111111* +L01400 1111111111111111111111110111110111111111* +L01440 0000000000000000001100110000000000000000* +L01480 0000000000000000001100110000000000000000* +L01520 0000000000000000001100110000000000000000* +L01560 0000000000000000001100110000000000000000* + +L01600 1010111111111111111111111111111111111111* +L01640 1111101111111111111110111111111111111111* +L01680 1111111110111111111111111001111111111111* +L01720 1111111111111011101111111111111111111111* +L01760 1111111111111111111111111111101110111111* +L01800 1111111111111111111111111111111011111110* +L01840 0000000000000000001100110000000000000000* +L01880 0000000000000000001100110000000000000000* + +L01920 0000000000000000001100110000000000000000* +L01960 0000000000000000001100110000000000000000* +L02000 0000000000000000001100110000000000000000* +L02040 0000000000000000001100110000000000000000* +L02080 0000000000000000001100110000000000000000* +L02120 0000000000000000001100110000000000000000* +L02160 0000000000000000001100110000000000000000* +L02200 0000000000000000001100110000000000000000* + +L02240 0000000000000000001100110000000000000000* +L02280 0000000000000000001100110000000000000000* +L02320 0000000000000000001100110000000000000000* +L02360 0000000000000000001100110000000000000000* +L02400 0000000000000000001100110000000000000000* +L02440 0000000000000000001100110000000000000000* +L02480 0000000000000000001100110000000000000000* +L02520 0000000000000000001100110000000000000000* + +N ==> XOR * +L02560 00000000* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 11000011* +N ==> PTD * +L02640 0000000000000000111111001111000011110000* +L02680 111111000000000000000000* +N ==> SYN 2704, AC0 2705 * +L02704 10* +C830E* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal20l2-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal20l2-to-gal20v8.jed new file mode 100644 index 00000000000..6d541e28a17 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal20l2-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL20L2 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal20l2.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:47:18 2019 + + +PAL20L2 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal20l2.eqn". Date: 11-10-113 +* +NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 i13:13 i14:14 i15:15 i16:16 i17:17 o18:18* +NOTE PINS o19:19 i20:20 i21:21 i22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 0000000000000000000000000000000000000000* +L00040 0000000000000000000000000000000000000000* +L00080 0000000000000000000000000000000000000000* +L00120 0000000000000000000000000000000000000000* +L00160 0000000000000000000000000000000000000000* +L00200 0000000000000000000000000000000000000000* +L00240 0000000000000000000000000000000000000000* +L00280 0000000000000000000000000000000000000000* + +L00320 0000000000000000000000000000000000000000* +L00360 0000000000000000000000000000000000000000* +L00400 0000000000000000000000000000000000000000* +L00440 0000000000000000000000000000000000000000* +L00480 0000000000000000000000000000000000000000* +L00520 0000000000000000000000000000000000000000* +L00560 0000000000000000000000000000000000000000* +L00600 0000000000000000000000000000000000000000* + +L00640 0000000000000000000000000000000000000000* +L00680 0000000000000000000000000000000000000000* +L00720 0000000000000000000000000000000000000000* +L00760 0000000000000000000000000000000000000000* +L00800 0000000000000000000000000000000000000000* +L00840 0000000000000000000000000000000000000000* +L00880 0000000000000000000000000000000000000000* +L00920 0000000000000000000000000000000000000000* + +L00960 1001111111111111111111111111111111111111* +L01000 1111011110111111111111111111111111111111* +L01040 1111111111110111101101111111111111111111* +L01080 1111111111111111111111111011011110111111* +L01120 1111111111111111111111111111111111110110* +L01160 1111111111111111111111111101111011011111* +L01200 1111111111101101111111101111111111111111* +L01240 1111110111111111111111111111111111111111* + +L01280 0110111111111111111111111111111111111111* +L01320 1111101101111111111111111111111111111111* +L01360 1111111111111011011110111111111111111111* +L01400 1111111111111111111111110111101101111111* +L01440 1111111111111111111111111111111111111001* +L01480 1111111111111111111111111110110111101111* +L01520 1111111111011110111111011111111111111111* +L01560 1111111011111111111111111111111111111111* + +L01600 0000000000000000000000000000000000000000* +L01640 0000000000000000000000000000000000000000* +L01680 0000000000000000000000000000000000000000* +L01720 0000000000000000000000000000000000000000* +L01760 0000000000000000000000000000000000000000* +L01800 0000000000000000000000000000000000000000* +L01840 0000000000000000000000000000000000000000* +L01880 0000000000000000000000000000000000000000* + +L01920 0000000000000000000000000000000000000000* +L01960 0000000000000000000000000000000000000000* +L02000 0000000000000000000000000000000000000000* +L02040 0000000000000000000000000000000000000000* +L02080 0000000000000000000000000000000000000000* +L02120 0000000000000000000000000000000000000000* +L02160 0000000000000000000000000000000000000000* +L02200 0000000000000000000000000000000000000000* + +L02240 0000000000000000000000000000000000000000* +L02280 0000000000000000000000000000000000000000* +L02320 0000000000000000000000000000000000000000* +L02360 0000000000000000000000000000000000000000* +L02400 0000000000000000000000000000000000000000* +L02440 0000000000000000000000000000000000000000* +L02480 0000000000000000000000000000000000000000* +L02520 0000000000000000000000000000000000000000* + +N ==> XOR * +L02560 00000000* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 11100111* +N ==> PTD * +L02640 0000000000000000000000001111111111111111* +L02680 000000000000000000000000* +N ==> SYN 2704, AC0 2705 * +L02704 10* +C4DA7* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal20l8-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal20l8-to-gal20v8.jed new file mode 100644 index 00000000000..39b82f52643 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal20l8-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL20L8 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal20l8.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:48:51 2019 + + +PAL20L8 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "PAL20L8.eqn". Date: 8-30-112 +* +NOTE PINS i1:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 i13:13 i14:14 o15:15 o16:16 o17:17 o18:18* +NOTE PINS o19:19 o20:20 o21:21 o22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 1111011111111111111110111111111111111111* +L00040 1101111111111111111111111011111111111111* +L00080 1111111111111111111111111011111111111111* +L00120 1101111111111111111111111111111111111111* +L00160 1111111111111111111111111111111110111111* +L00200 1111111011111111111111111111111111111111* +L00240 1111111111111111111111110111111111111110* +L00280 1111111111111111111111111111111111111011* + +L00320 1111111111110111011111111111111111111111* +L00360 1101111111111111111111110111111111111111* +L00400 1111111111111111111111111111111111101111* +L00440 1101111111111011111111110111111111111111* +L00480 1111110111111111111111111111111111111111* +L00520 1101111111111111111111110111111111101111* +L00560 1111111111111111111111111111111111111101* +L00600 1101111111111111111111111111111111110111* + +L00640 1111111111111111111111111111111111111111* +L00680 1111111111011111111111111111111111111111* +L00720 1011111111111111111111111111111111111111* +L00760 1111101111111111111111111111111111111111* +L00800 1111111110111111111111111111111111111111* +L00840 1111111111111011111111111111111111111111* +L00880 1111111111111111101111111111111111111111* +L00920 1111111111101111111110111111111111111111* + +L00960 1111111111111110111111110111111111111111* +L01000 1111110111111111111111111111011110110111* +L01040 1111111111111111111111111111011111111111* +L01080 1111111111111111111111111111111110111111* +L01120 1111111111111101111111111111111111110111* +L01160 1111110111111111111111111111111111111111* +L01200 0111110111111111111111111111111110111111* +L01240 1111111111111111111111111111011111110111* + +L01280 1101110111111111111111111111111101111111* +L01320 1001010110111111111111111011111111111111* +L01360 0101011110111011111111111111111111111111* +L01400 1111111111111111101001110111011101111111* +L01440 1111110111111111111111111111111111010101* +L01480 1111111111111111101101110111011101111111* +L01520 1111010111111111111111111111111111011101* +L01560 0101011110111011110111111111111111111111* + +L01600 1111111101110111111111111111111111111111* +L01640 1111111011111111111111101111111111111111* +L01680 1111111111111111111111011111111101111111* +L01720 1111111111111111111111111111011111111111* +L01760 1111111111111111111111110111111111111111* +L01800 1111111111111111111110111111111111111111* +L01840 1111111111111111101111111111111111111111* +L01880 1111111111110111111111111111111111111111* + +L01920 1111111111111111111111111111111111111111* +L01960 1001111111111111111111111110111111111111* +L02000 1111011110111111111111111111111111111111* +L02040 1111111111110111101111111111111111111111* +L02080 1111111111111111111101111011111111111111* +L02120 1111011111111111111111111101011111111111* +L02160 1001011110110111101101111011101111111111* +L02200 1111111111111111111111111011101111111111* + +L02240 1111111111111111111111111111110111111111* +L02280 0110101101111111111111111111111111110111* +L02320 0110101111111011111111111111111111111110* +L02360 0110101111111111011111111111111111011111* +L02400 0110101011111111111110111111111111111111* +L02440 0110101111111111111111110111111111111011* +L02480 0110101111111111111111111111101111111101* +L02520 1111111111111111111111111111111011111111* + +N ==> XOR * +L02560 00000000* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 11111111* +N ==> PTD * +L02640 1111111111111111111111111111111111111111* +L02680 111111111111111111111111* +N ==> SYN 2704, AC0 2705 * +L02704 11* +C3A8C* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal20r4-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal20r4-to-gal20v8.jed new file mode 100644 index 00000000000..a11ee91d12c --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal20r4-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL20R4 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal20r4.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:50:11 2019 + + +PAL20R4 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal20r4.eqn". Date: 9-10-112 +* +NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 /OE:13 i14:14 o15:15 o16:16 rf17:17 rf18:18* +NOTE PINS rf19:19 rf20:20 o21:21 o22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 1111111111111111111111111111111111101101* +L00040 1111111111111111111111111111111111111101* +L00080 1111111111111111111111111111111111101111* +L00120 1111011111101111111111111111111111111111* +L00160 1111111111111111111101111111111111111111* +L00200 1111111111011111111111111011111111111111* +L00240 1111111111111111111111111111111101111111* +L00280 1111111111111111111111111111101111111111* + +L00320 1111111011111111111111110111011111111111* +L00360 1111111111111111111111111011111111111111* +L00400 1011111111111111111111111101111111111111* +L00440 1111111111111111111111111111111111110111* +L00480 1111111111111111111111111111111110111111* +L00520 1111111111111111111111111111111111011111* +L00560 1111111111111111111111111111111111111110* +L00600 1111101111111111111111111111111111111111* + +L00640 1111111111111111111111111101111101111111* +L00680 1111111111111111111111111111111111111011* +L00720 1111111101111111111111111110111111111111* +L00760 0111111111111111111111111111111111111111* +L00800 1111111111111111101110111111111111111111* +L00840 1111111111111111111111110111111111111111* +L00880 1111111111111111111111111111101111111111* +L00920 1111110111111111111111111111111111111111* + +L00960 1111111111110111011110111111111111111111* +L01000 1111011111111111011101111111111111111111* +L01040 1111111111110101111111111111111111111111* +L01080 1111111111111111011111111111111111111111* +L01120 1111111111111111111101111111111111111111* +L01160 1111111110111110111111111111111111111111* +L01200 1111111111111111111110111111111111111111* +L01240 1111111111111111111111111111111101111111* + +L01280 1011111111110111011110111111111111111111* +L01320 1111011111111111011101111111111111111111* +L01360 1111011111111111110111111111111111111111* +L01400 1011111111111111111110111111111111111111* +L01440 1111101111111111111011111111111111111111* +L01480 1111111111110111011110111111111111111111* +L01520 1111111111111111111101111111111111111111* +L01560 1111111111111111111111111111111111111011* + +L01600 1011111111111111111111111111111111111111* +L01640 1111111111111111111111101111111111111111* +L01680 1111111111110111111111111111111111111111* +L01720 1111111111111111011111111111111111111111* +L01760 1111111111111111111111011111111111111111* +L01800 1111111101111111111111111111111111111111* +L01840 1111111111111111111111111111111110111111* +L01880 1110111111111111111111111111111111111111* + +L01920 1101111111111111111111111111111111111111* +L01960 1111101111111111111111111110111111111111* +L02000 1111111110111111111111111111111111111111* +L02040 1111101111111111111111111111111111111111* +L02080 1111101101111111111111111111111111111111* +L02120 1111111111111111111110111101111111111111* +L02160 1111111111111111111110111111111111111111* +L02200 1111111101111111111111111111111111111111* + +L02240 1110111111111111111111111111111111111111* +L02280 0111111111111111011101111111111111111111* +L02320 1111111111111111011111111111110111111111* +L02360 1111011111111111111111111111111011111111* +L02400 1111111111111111111101111111111111111111* +L02440 1111111110111111111111111111111111111111* +L02480 1111111111111111011101111111111111111111* +L02520 1111111101111111111101111111111111111111* + +N ==> XOR * +L02560 00000000* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 11000011* +N ==> PTD * +L02640 1111111111111111111111111111111111111111* +L02680 111111111111111111111111* +N ==> SYN 2704, AC0 2705 * +L02704 01* +C3F83* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal20r6-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal20r6-to-gal20v8.jed new file mode 100644 index 00000000000..10157f5d487 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal20r6-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL20R6 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal20r6.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:51:22 2019 + + +PAL20R6 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal20r6.eqn". Date: 9-11-112 +* +NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 /OE:13 i14:14 o15:15 rf16:16 rf17:17 rf18:18* +NOTE PINS rf19:19 rf20:20 rf21:21 o22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 1111111111111111111111111111111111101101* +L00040 1111111111111111111111111111111111111101* +L00080 1111111111111111111111111111111111101111* +L00120 1111011111101111111111111111111111111111* +L00160 1111111111111111111101111111111111111111* +L00200 1111111111011111111111111011111111111111* +L00240 1111111111111111111111111111111101111111* +L00280 1111111111111111111111111111101111111111* + +L00320 1111111111111111111111111011111111111111* +L00360 1011111111111111111111111101111111111111* +L00400 1111111111111111111111111111111111110111* +L00440 1111111111111111111111111111111110111111* +L00480 1111111111111111111111111111111111011111* +L00520 1111111011111111111111111111111111111110* +L00560 1111101111111111111111111111111111111111* +L00600 1111111111111011111111111111111111111111* + +L00640 1111111111111111111111111101111101111111* +L00680 1111111111111111111111111111111111111011* +L00720 1111111101111111111111111110111111111111* +L00760 0111111111111111111111111111111111111111* +L00800 1111111111111111101110111111111111111111* +L00840 1111111111111111111111110111111111111111* +L00880 1111111111111111111111111111101111111111* +L00920 1111110111111111111111111111111111111111* + +L00960 1111111111110111011110111111111111111111* +L01000 1111011111111111011101111111111111111111* +L01040 1111111111110101111111111111111111111111* +L01080 1111111111111111011111111111111111111111* +L01120 1111111111111111111101111111111111111111* +L01160 1111111110111110111111111111111111111111* +L01200 1111111111111111111110111111111111111111* +L01240 1111111111111111111111111111111101111111* + +L01280 1011111111110111011110111111111111111111* +L01320 1111011111111111011101111111111111111111* +L01360 1111011111111111110111111111111111111111* +L01400 1011111111111111111110111111111111111111* +L01440 1111101111111111111011111111111111111111* +L01480 1111111111110111011110111111111111111111* +L01520 1111111111111111111101111111111111111111* +L01560 1111111111111111111111111111111111111011* + +L01600 1011111111111111111111111111111111111111* +L01640 1111111111111111111111101111111111111111* +L01680 1111111111110111111111111111111111111111* +L01720 1111111111111111011111111111111111111111* +L01760 1111111111111111111111011111111111111111* +L01800 1111111101111111111111111111111111111111* +L01840 1111111111111111111111111111111110111111* +L01880 1110111111111111111111111111111111111111* + +L01920 1111101111111111111111111110111111111111* +L01960 1110111110111111111111111111111111111111* +L02000 1111101111111111111111111111111111111111* +L02040 1111101101111111111111111111111111111111* +L02080 1111111111111111111110111101111111111111* +L02120 1111111111111111111110111111111111111111* +L02160 1111111101111111111111111111111111111111* +L02200 1101111111111111111111111111111111111111* + +L02240 1110111111111111111111111111111111111111* +L02280 0111111111111111011101111111111111111111* +L02320 1111111111111111011111111111110111111111* +L02360 1111011111111111111111111111111011111111* +L02400 1111111111111111111101111111111111111111* +L02440 1111111110111111111111111111111111111111* +L02480 1111111111111111011101111111111111111111* +L02520 1111111101111111111101111111111111111111* + +N ==> XOR * +L02560 00000000* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 10000001* +N ==> PTD * +L02640 1111111111111111111111111111111111111111* +L02680 111111111111111111111111* +N ==> SYN 2704, AC0 2705 * +L02704 01* +C3F2A* + +0000 diff --git a/regtests/jedutil/jeds/gal20v8/pal20r8-to-gal20v8.jed b/regtests/jedutil/jeds/gal20v8/pal20r8-to-gal20v8.jed new file mode 100644 index 00000000000..6b4123ca973 --- /dev/null +++ b/regtests/jedutil/jeds/gal20v8/pal20r8-to-gal20v8.jed @@ -0,0 +1,106 @@ + +Device G20V8 converted from PAL20R8 JEDEC map. +PAL to GAL JEDEC conversion utility - paltogal v3.12 17 November 1992 +Copyright (c) by LATTICE Semiconductor Corp. 1990, 1991, 1992. +Input File: c:\temp\mame\pal20r8.jed +Output File: c:\temp\mame\p.jed +The Date: Sun Mar 10 02:52:30 2019 + + +PAL20R8 +EQN2JED - Boolean Equations to JEDEC file assembler (Version V101) +Copyright (c) National Semiconductor Corporation 1990-1993 +Assembled from "pal20r8.eqn". Date: 9-11-112 +* +NOTE PINS CLK:1 i2:2 i3:3 i4:4 i5:5 i6:6 i7:7 i8:8 i9:9 i10:10* +NOTE PINS i11:11 GND:12 /OE:13 i14:14 rf15:15 rf16:16 rf17:17* +NOTE PINS rf18:18 rf19:19 rf20:20 rf21:21 rf22:22 i23:23 VCC:24* +QF2706*QP24*F0* + +L00000 1111111111111111111111111111111111111101* +L00040 1111111111111111111111111111111111101111* +L00080 1111011111101111111111111111111111111111* +L00120 1111111111111111111101111111111111111111* +L00160 1111111111011111111111111011111111111111* +L00200 1111111111111111111111111111111101111111* +L00240 1111111111111111111111111111101111111111* +L00280 1111111111111111111111111111111111101101* + +L00320 1111111111111111111111111011111111111111* +L00360 1011111111111111111111111101111111111111* +L00400 1111111111111111111111111111111111110111* +L00440 1111111111111111111111111111111110111111* +L00480 1111111111111111111111111111111111011111* +L00520 1111111111111111111111111111111111111110* +L00560 1111101111111111111111111111111111111111* +L00600 1111111011111111111111110111011111111111* + +L00640 1111111111111111111111111101111101111111* +L00680 1111111111111111111111111111111111111011* +L00720 1111111101111111111111111110111111111111* +L00760 0111111111111111111111111111111111111111* +L00800 1111111111111111101110111111111111111111* +L00840 1111111111111111111111110111111111111111* +L00880 1111111111111111111111111111101111111111* +L00920 1111110111111111111111111111111111111111* + +L00960 1111111111110111011110111111111111111111* +L01000 1111011111111111011101111111111111111111* +L01040 1111111111110101111111111111111111111111* +L01080 1111111111111111011111111111111111111111* +L01120 1111111111111111111101111111111111111111* +L01160 1111111110111110111111111111111111111111* +L01200 1111111111111111111110111111111111111111* +L01240 1111111111111111111111111111111101111111* + +L01280 1011111111110111011110111111111111111111* +L01320 1111011111111111011101111111111111111111* +L01360 1111011111111111110111111111111111111111* +L01400 1011111111111111111110111111111111111111* +L01440 1111101111111111111011111111111111111111* +L01480 1111111111110111011110111111111111111111* +L01520 1111111111111111111101111111111111111111* +L01560 1111111111111111111111111111111111111011* + +L01600 1011111111111111111111111111111111111111* +L01640 1111111111111111111111101111111111111111* +L01680 1111111111110111111111111111111111111111* +L01720 1111111111111111011111111111111111111111* +L01760 1111111111111111111111011111111111111111* +L01800 1111111101111111111111111111111111111111* +L01840 1111111111111111111111111111111110111111* +L01880 1110111111111111111111111111111111111111* + +L01920 1111101111111111111111111110111111111111* +L01960 1111111110111111111111111111111111111111* +L02000 1111101111111111111111111111111111111111* +L02040 1111101101111111111111111111111111111111* +L02080 1111111111111111111110111101111111111111* +L02120 1111111111111111111110111111111111111111* +L02160 1111111101111111111111111111111111111111* +L02200 1101111111111111111111111111111111111111* + +L02240 0111111111111111011101111111111111111111* +L02280 1111111111111111011111111111110111111111* +L02320 1111011111111111111111111111111011111111* +L02360 1111111111111111111101111111111111111111* +L02400 1111111110111111111111111111111111111111* +L02440 1111111111111111011101111111111111111111* +L02480 1111111101111111111101111111111111111111* +L02520 1110111111111111111111111111111111111111* + +N ==> XOR * +L02560 00000000* +N ==> Signature is "" * +L02568 0000000000000000000000000000000000000000* +L02608 000000000000000000000000* +N ==> AC1 * +L02632 00000000* +N ==> PTD * +L02640 1111111111111111111111111111111111111111* +L02680 111111111111111111111111* +N ==> SYN 2704, AC0 2705 * +L02704 01* +C3EC0* + +0000 diff --git a/src/tools/jedutil.cpp b/src/tools/jedutil.cpp index bc997c10554..6b9936a98f4 100644 --- a/src/tools/jedutil.cpp +++ b/src/tools/jedutil.cpp @@ -117,6 +117,7 @@ #include #include #include + #include "corestr.h" #include "jedparse.h" #include "plaparse.h" @@ -189,6 +190,8 @@ #define COMBINATORIAL_ASSIGNMENT "=" #define REGISTERED_ASSIGNMENT ":=" +#define MAXIMUM_PAGE_ITEMS 10 + /*************************************************************************** @@ -291,6 +294,7 @@ static void print_pal20ra10_product_terms(const pal_data* pal, const jed_data* j static void print_pal20x4_product_terms(const pal_data* pal, const jed_data* jed); static void print_pal20x8_product_terms(const pal_data* pal, const jed_data* jed); static void print_pal20x10_product_terms(const pal_data* pal, const jed_data* jed); +static void print_gal20v8_product_terms(const pal_data* pal, const jed_data* jed); static void print_palce22v10_pal22v10_product_terms(const pal_data* pal, const jed_data* jed); static void print_82s153_pls153_product_terms(const pal_data* pal, const jed_data* jed); static void print_ck2605_product_terms(const pal_data* pal, const jed_data* jed); @@ -355,6 +359,7 @@ static void config_pal20ra10_pins(const pal_data* pal, const jed_data* jed); static void config_pal20x4_pins(const pal_data* pal, const jed_data* jed); static void config_pal20x8_pins(const pal_data* pal, const jed_data* jed); static void config_pal20x10_pins(const pal_data* pal, const jed_data* jed); +static void config_gal20v8_pins(const pal_data* pal, const jed_data* jed); static void config_palce22v10_pal22v10_pins(const pal_data* pal, const jed_data* jed); static void config_82s153_pls153_pins(const pal_data* pal, const jed_data* jed); static void config_ck2605_pins(const pal_data* pal, const jed_data* jed); @@ -396,6 +401,10 @@ static int is_gal16v8_product_term_enabled(const pal_data* pal, const jed_data* +static int is_gal20v8_product_term_enabled(const pal_data* pal, const jed_data* jed, uint16_t fuserow); + + + static uint16_t get_peel18cv8_pin_fuse_state(const pal_data* pal, const jed_data* jed, uint16_t pin, uint16_t fuserow); @@ -668,6 +677,16 @@ static pin_fuse_rows pal20x10pinfuserows[] = { {22, NO_OUTPUT_ENABLE_FUSE_ROW, 160, 280}, /* Registered Output */ {23, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 120}}; /* Registered Output */ +static pin_fuse_rows gal20v8pinfuserows[] = { + {15, 0, 0, 0}, + {16, 0, 0, 0}, + {17, 0, 0, 0}, + {18, 0, 0, 0}, + {19, 0, 0, 0}, + {20, 0, 0, 0}, + {21, 0, 0, 0}, + {22, 0, 0, 0}}; + static pin_fuse_rows palce22v10_pal22v10pinfuserows[] = { {14, 5368, 5412, 5720}, {15, 4884, 4928, 5324}, @@ -1471,6 +1490,28 @@ static pin_fuse_columns pal20x10pinfusecolumns[] = { {23, 3, 2} }; +static pin_fuse_columns gal20v8pinfusecolumns[] = { + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}}; + static pin_fuse_columns palce22v10_pal22v10pinfusecolumns[] = { {1, 1, 0}, {2, 5, 4}, @@ -2206,8 +2247,14 @@ static pal_data paldata[] = { config_pal20x10_pins, nullptr, nullptr}, - /*{"GAL20V8A", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL}, - {"GAL22V10", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/ + {"GAL20V8", 2706, + gal20v8pinfuserows, ARRAY_LENGTH(gal20v8pinfuserows), + gal20v8pinfusecolumns, ARRAY_LENGTH(gal20v8pinfusecolumns), + print_gal20v8_product_terms, + config_gal20v8_pins, + is_gal20v8_product_term_enabled, + nullptr}, + /*{"GAL22V10", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/ {"PAL22V10", 5828, palce22v10_pal22v10pinfuserows, ARRAY_LENGTH(palce22v10_pal22v10pinfuserows), palce22v10_pal22v10pinfusecolumns, ARRAY_LENGTH(palce22v10_pal22v10pinfusecolumns), @@ -3761,6 +3808,18 @@ static void print_pal20x10_product_terms(const pal_data* pal, const jed_data* je +/*------------------------------------------------- + print_gal20v8_product_terms - prints the product + terms for a GAL20V8 +-------------------------------------------------*/ + +static void print_gal20v8_product_terms(const pal_data* pal, const jed_data* jed) +{ + print_product_terms(pal, jed); +} + + + /*------------------------------------------------- print_palce22v10_pal22v10_product_terms - prints the product terms for a PALCE22V10 and PAL22V10 @@ -5966,7 +6025,7 @@ static void config_pal20x4_pins(const pal_data* pal, const jed_data* jed) } /*------------------------------------------------- - config_pal20x10_pins - configures the pins for + config_pal20x8_pins - configures the pins for a PAL20X8 -------------------------------------------------*/ @@ -6017,6 +6076,318 @@ static void config_pal20x10_pins(const pal_data* pal, const jed_data* jed) +/*------------------------------------------------- + config_gal20v8_pins - configures the pins for + a GAL20V8 +-------------------------------------------------*/ + +static void config_gal20v8_pins(const pal_data* pal, const jed_data* jed) +{ + typedef struct _output_logic_macrocell output_logic_macrocell; + struct _output_logic_macrocell + { + uint16_t pin; + uint16_t xor_fuse; + uint16_t ac1_fuse; + }; + + static output_logic_macrocell macrocells[] = { + {15, 2567, 2639}, + {16, 2566, 2638}, + {17, 2565, 2637}, + {18, 2564, 2636}, + {19, 2563, 2635}, + {20, 2562, 2634}, + {21, 2561, 2633}, + {22, 2560, 2632}}; + static pin_fuse_rows pinfuserows_registered[] = { + {15, NO_OUTPUT_ENABLE_FUSE_ROW, 2240, 2520}, + {16, NO_OUTPUT_ENABLE_FUSE_ROW, 1920, 2200}, + {17, NO_OUTPUT_ENABLE_FUSE_ROW, 1600, 1880}, + {18, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1560}, + {19, NO_OUTPUT_ENABLE_FUSE_ROW, 960, 1240}, + {20, NO_OUTPUT_ENABLE_FUSE_ROW, 640, 920}, + {21, NO_OUTPUT_ENABLE_FUSE_ROW, 320, 600}, + {22, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 280}}; + static pin_fuse_rows pinfuserows_combinatorialcomplex[] = { + {15, 2240, 2280, 2520}, + {16, 1920, 1960, 2200}, + {17, 1600, 1640, 1880}, + {18, 1280, 1320, 1560}, + {19, 960, 1000, 1240}, + {20, 640, 680, 920}, + {21, 320, 360, 600}, + {22, 0, 40, 280}}; + static pin_fuse_rows pinfuserows_combinatorialsimple[] = { + {15, NO_OUTPUT_ENABLE_FUSE_ROW, 2240, 2520}, + {16, NO_OUTPUT_ENABLE_FUSE_ROW, 1920, 2200}, + {17, NO_OUTPUT_ENABLE_FUSE_ROW, 1600, 1880}, + {18, NO_OUTPUT_ENABLE_FUSE_ROW, 1280, 1560}, + {19, NO_OUTPUT_ENABLE_FUSE_ROW, 960, 1240}, + {20, NO_OUTPUT_ENABLE_FUSE_ROW, 640, 920}, + {21, NO_OUTPUT_ENABLE_FUSE_ROW, 320, 600}, + {22, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 280}}; + static pin_fuse_columns pinfusecolumns_registered[] = { + {2, 1, 0}, + {3, 5, 4}, + {4, 9, 8}, + {5, 13, 12}, + {6, 17, 16}, + {7, 21, 20}, + {8, 25, 24}, + {9, 29, 28}, + {10, 33, 32}, + {11, 37, 36}, + {14, 39, 38}, + {15, 35, 34}, + {16, 31, 30}, + {17, 27, 26}, + {18, 23, 22}, + {19, 19, 18}, + {20, 15, 14}, + {21, 11, 10}, + {22, 7, 6}, + {23, 3, 2}}; + static pin_fuse_columns pinfusecolumns_combinatorialcomplex[] = { + {1, 3, 2}, + {2, 1, 0}, + {3, 5, 4}, + {4, 9, 8}, + {5, 13, 12}, + {6, 17, 16}, + {7, 21, 20}, + {8, 25, 24}, + {9, 29, 28}, + {10, 33, 32}, + {11, 37, 36}, + {13, 39, 38}, + {14, 35, 34}, + {16, 31, 30}, + {17, 27, 26}, + {18, 23, 22}, + {19, 19, 18}, + {20, 15, 14}, + {21, 11, 10}, + {23, 7, 6}}; + static pin_fuse_columns pinfusecolumns_combinatorialsimple[] = { + {1, 3, 2}, + {2, 1, 0}, + {3, 5, 4}, + {4, 9, 8}, + {5, 13, 12}, + {6, 17, 16}, + {7, 21, 20}, + {8, 25, 24}, + {9, 29, 28}, + {10, 33, 32}, + {11, 37, 36}, + {13, 39, 38}, + {14, 35, 34}, + {15, 31, 30}, + {16, 27, 26}, + {17, 23, 22}, + {20, 19, 18}, + {21, 15, 14}, + {22, 11, 10}, + {23, 7, 6}}; + static uint16_t input_pins_registered[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}; + static uint16_t input_pins_combinatorialcomplex[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 21, 23}; + uint16_t input_pins_combinatorialsimple[22]; + pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; + uint16_t index, input_pin_count, output_pin_count; + + output_pin_count = 0; + + /* SYN Fuse: 0 - registered, 1 - combinatorial */ + + if (jed_get_fuse(jed, 2704)) + { + /* Combinatorial */ + /* AC0 Fuse: 0 - simple mode, 1 - complex mode */ + + if (jed_get_fuse(jed, 2705)) + { + /* Complex Mode */ + + set_input_pins(input_pins_combinatorialcomplex, ARRAY_LENGTH(input_pins_combinatorialcomplex)); + + memcpy(gal20v8pinfuserows, pinfuserows_combinatorialcomplex, sizeof(pinfuserows_combinatorialcomplex)); + memcpy(gal20v8pinfusecolumns, pinfusecolumns_combinatorialcomplex, sizeof(pinfusecolumns_combinatorialcomplex)); + + for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + { + if (is_gal20v8_product_term_enabled(pal, jed, pal->pinfuserows[index].fuserowoutputenable) && + does_output_enable_fuse_row_allow_output(pal, jed, pal->pinfuserows[index].fuserowoutputenable)) + { + output_pins[output_pin_count].pin = macrocells[index].pin; + output_pins[output_pin_count].flags = OUTPUT_COMBINATORIAL; + + if (jed_get_fuse(jed, macrocells[index].xor_fuse)) + { + output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH; + } + else + { + output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW; + } + + if (output_pins[output_pin_count].pin != 15 && + output_pins[output_pin_count].pin != 22) + { + output_pins[output_pin_count].flags |= OUTPUT_FEEDBACK_OUTPUT; + } + else + { + output_pins[output_pin_count].flags |= OUTPUT_FEEDBACK_NONE; + } + + ++output_pin_count; + } + } + } + else + { + /* Simple Mode */ + + input_pin_count = 0; + + for (index = 1; index < 12; ++index) + { + input_pins_combinatorialsimple[input_pin_count] = index; + + ++input_pin_count; + } + + for (index = 13; index < 15; ++index) + { + input_pins_combinatorialsimple[input_pin_count] = index; + + ++input_pin_count; + } + + memcpy(gal20v8pinfuserows, pinfuserows_combinatorialsimple, sizeof(pinfuserows_combinatorialsimple)); + memcpy(gal20v8pinfusecolumns, pinfusecolumns_combinatorialsimple, sizeof(pinfusecolumns_combinatorialsimple)); + + for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + { + if (jed_get_fuse(jed, macrocells[index].ac1_fuse)) + { + /* Pin is for input only */ + + input_pins_combinatorialsimple[input_pin_count] = macrocells[index].pin; + + ++input_pin_count; + + if (macrocells[index].pin == 18 || macrocells[index].pin == 19) + { + fprintf(stderr, "Pin %d cannot be configured as an input pin.\n", + macrocells[index].pin); + } + } + else + { + output_pins[output_pin_count].pin = macrocells[index].pin; + output_pins[output_pin_count].flags = OUTPUT_COMBINATORIAL; + + if (jed_get_fuse(jed, macrocells[index].xor_fuse)) + { + output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH; + } + else + { + output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW; + } + + if (macrocells[index].pin != 18 && macrocells[index].pin != 19) + { + output_pins[output_pin_count].flags |= OUTPUT_FEEDBACK_COMBINATORIAL; + + input_pins_combinatorialsimple[input_pin_count] = macrocells[index].pin; + + ++input_pin_count; + } + else + { + output_pins[output_pin_count].flags |= OUTPUT_FEEDBACK_NONE; + } + + ++output_pin_count; + } + } + + input_pins_combinatorialsimple[input_pin_count] = 23; + + ++input_pin_count; + + set_input_pins(input_pins_combinatorialsimple, input_pin_count); + } + } + else + { + /* Registered */ + + set_input_pins(input_pins_registered, ARRAY_LENGTH(input_pins_registered)); + + memcpy(gal20v8pinfusecolumns, pinfusecolumns_registered, sizeof(pinfusecolumns_registered)); + + for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) + { + if (jed_get_fuse(jed, macrocells[index].ac1_fuse)) + { + /* combinatorial pin */ + + gal20v8pinfuserows[index].fuserowoutputenable = pinfuserows_combinatorialcomplex[index].fuserowoutputenable; + gal20v8pinfuserows[index].fuserowtermstart = pinfuserows_combinatorialcomplex[index].fuserowtermstart; + gal20v8pinfuserows[index].fuserowtermend = pinfuserows_combinatorialcomplex[index].fuserowtermend; + + if (is_gal20v8_product_term_enabled(pal, jed, pal->pinfuserows[index].fuserowoutputenable) && + does_output_enable_fuse_row_allow_output(pal, jed, pal->pinfuserows[index].fuserowoutputenable)) + { + output_pins[output_pin_count].pin = macrocells[index].pin; + output_pins[output_pin_count].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_OUTPUT; + + if (jed_get_fuse(jed, macrocells[index].xor_fuse)) + { + output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH; + } + else + { + output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW; + } + + ++output_pin_count; + } + } + else + { + /* registered pin */ + + gal20v8pinfuserows[index].fuserowoutputenable = pinfuserows_registered[index].fuserowoutputenable; + gal20v8pinfuserows[index].fuserowtermstart = pinfuserows_registered[index].fuserowtermstart; + gal20v8pinfuserows[index].fuserowtermend = pinfuserows_registered[index].fuserowtermend; + + output_pins[output_pin_count].pin = macrocells[index].pin; + output_pins[output_pin_count].flags = OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; + + if (jed_get_fuse(jed, macrocells[index].xor_fuse)) + { + output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH; + } + else + { + output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW; + } + + ++output_pin_count; + } + } + } + + set_output_pins(output_pins, output_pin_count); +} + + + /*------------------------------------------------- config_palce22v10_pal22v10_pins - configures the pins for a PALCE22V10 @@ -7299,6 +7670,29 @@ static int is_gal16v8_product_term_enabled(const pal_data* pal, const jed_data* +/*------------------------------------------------- + is_gal20v8_product_term_enabled - determines if + a fuse row in a GAL20V8 is enabled +-------------------------------------------------*/ + +static int is_gal20v8_product_term_enabled(const pal_data* pal, const jed_data* jed, uint16_t fuserow) +{ + uint16_t fuse_ptd; + + fuse_ptd = (fuserow / calc_fuse_column_count(pal)) + 2640; + + if (fuse_ptd > 2703) + { + fprintf(stderr, "Fuse row %d is illegal!\n", fuserow); + + return 0; + } + + return jed_get_fuse(jed, fuse_ptd); +} + + + /*------------------------------------------------- get_peel18cv8_pin_fuse_state - determines the fuse state of an input pin in a fuse row