Adds some missing ATF150x devices, see #716

This commit is contained in:
hneemann 2021-04-20 22:14:16 +02:00
parent ed824cc6db
commit d2ebb7781a
2 changed files with 84 additions and 1 deletions

View File

@ -36,6 +36,21 @@ public enum ATFDevice {
12, 13, 14, 15, 18, 19, 20, 21, 22,
23, 25, 27, 28, 30, 31, 33,
34, 35, 37, 38, 39, 40, 42, 43, 44),
ATF1504PLCC84(1504, 83, "plcc84", new PL()
.pi(1, 84)
.e(14, 23, 62, 71) //JTAG
.e(7, 19, 32, 42, 47, 59, 72, 82)//GND
.e(3, 43)//V_CCINT
.e(13, 26, 38, 53, 66, 78)//V_CCIO
.pins()),
ATF1504TQFP100(1504, 43, "t100", "tqfp100", new PL().
pi(1, 100)
.e(4, 15, 62, 73) //JTAG
.e(11, 26, 38, 43, 59, 74, 86, 95)//GND
.e(39, 91)//V_CCINT
.e(3, 18, 34, 51, 66, 82)//V_CCIO
.e(1, 2, 5, 7, 22, 24, 27, 28, 49, 50, 53, 55, 70, 72, 77, 78) //NC
.pins()),
ATF1508PLCC84(1508, 81, "plcc84",
4, 5, 6, 8, 9, 10, 11, 12, // A
15, 16, 17, 18, 20, 21, 22, 24, // B
@ -44,7 +59,35 @@ public enum ATFDevice {
46, 48, 49, 50, 51, 52, 54, 55, // E
56, 57, 58, 60, 61, 63, 64, 65, // F
67, 68, 69, 70, 73, 74, 75, 76, // G
77, 79, 80); // H
77, 79, 80), // H
ATF1508PQFP100(1508, 43, "q100", "pqfp100", new PL().
pi(1, 100)
.e(6, 17, 64, 75)//JTAG
.e(13, 28, 40, 45, 61, 76, 88, 97) // GND
.e(41, 93)//V_CCINT
.e(5, 20, 36, 53, 68, 84)//V_CCIO
.pins()),
ATF1508TQFP100(1508, 43, "t100", "tqfp100", new PL().
pi(1, 100)
.e(4, 15, 62, 73)//JTAG
.e(11, 26, 38, 43, 59, 74, 86, 95) // GND
.e(39, 91)//V_CCINT
.e(3, 18, 34, 51, 66, 82)//V_CCIO
.pins()),
ATF1508PQFP160(1508, 43, "q160", "pqfp160", new PL().
pi(1, 160)
.e(9, 22, 99, 112) //JTAG
.e(17, 42, 60, 66, 95, 113, 138, 148) // GND
.e(61, 143) //V_CCINT
.e(8, 26, 55, 79, 104, 133) //V_CCIO
.e(1, 2, 3, 4, 5, 6, 7, 34, 35, 36,
37, 38, 39, 40, 44, 45, 46,
47, 74, 75, 76, 77, 81, 82,
83, 84, 85, 86, 87, 114,
115, 116, 117, 118, 119,
120, 124, 125, 126, 127,
154, 155, 156, 157) // NC
.pins());
//CHECKSTYLE.ON: JavadocVariable
private final int deviceNumber;

View File

@ -0,0 +1,40 @@
/*
* Copyright (c) 2021 Helmut Neemann.
* Use of this source code is governed by the GPL v3 license
* that can be found in the LICENSE file.
*/
package de.neemann.digital.builder.ATF150x;
import java.util.ArrayList;
public class PL {
private final ArrayList<Integer> pinList;
public PL() {
pinList = new ArrayList<>();
}
public PL p(int... p) {
for (int j : p) pinList.add(j);
return this;
}
public PL e(int... p) {
for (int j : p) pinList.remove((Object) j);
return this;
}
public PL pi(int a, int b) {
for (int i = a; i <= b; i++)
pinList.add(i);
return this;
}
public int[] pins() {
int[] pins = new int[pinList.size()];
for (int i = 0; i < pinList.size(); i++)
pins[i] = pinList.get(i);
return pins;
}
}