Browse Source

Reformatted the PAL specs

Baglio Tabifata 4 years ago
parent
commit
ac575e0bdc

+ 11 - 6
src/main/java/info/hkzlab/dupal/analyzer/board/boardio/DuPALAnalyzer.java

@@ -16,6 +16,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.Stack;
 
+import javax.crypto.spec.PSource.PSpecified;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -744,10 +746,13 @@ public class DuPALAnalyzer {
         strBuf.delete(0, strBuf.length()); 
         strBuf.append(".ilb ");
         for(int idx = 0; idx < specs.getNumROUTPins(); idx++) strBuf.append("o_"+specs.getROUT_PinNames()[idx]+" "); // Old registerd states
-        for(int idx = 0; idx < specs.getNumINPins(); idx++) strBuf.append(specs.getIN_PinNames()[idx]+" "); // Inputs
+        for(int idx = 0; idx < specs.getIN_PinNames().length; idx++) {
+            if(((specs.getINMask() >> idx) & 0x01) != 0) strBuf.append(specs.getIN_PinNames()[idx] + " ");
+        }
+
         if(totInputs > specs.getNumINPins()) { // IOs as inputs
             int ioINMask = specs.getIO_READMask() & ~ioOUTMask;
-            for(int idx = 0; idx < 8; idx++) {
+            for(int idx = 0; idx < specs.getIO_PinNames().length; idx++) {
                 if(((ioINMask >> idx) & 0x01) > 0) strBuf.append(specs.getIO_PinNames()[idx] + " ");
             }
         }
@@ -759,10 +764,10 @@ public class DuPALAnalyzer {
         strBuf.append(".ob ");
         // registered outputs
         for(int idx = 0; idx < specs.getNumROUTPins(); idx++) strBuf.append(specs.getROUT_PinNames()[idx]+" ");
-        for(int idx = 0; idx < 8; idx++) if(((ioOUTMask >> idx) & 0x01) > 0) strBuf.append(specs.getIO_PinNames()[idx] + " ");
-        for(int idx = 0; idx < 8; idx++) if(((specs.getOUT_READMask() >> idx) & 0x01) > 0) strBuf.append(specs.getOUT_PinNames()[idx] + " ");
-        for(int idx = 0; idx < 8; idx++) if(((ioOUTMask >> idx) & 0x01) > 0) strBuf.append(specs.getIO_PinNames()[idx] + ".oe ");
-        for(int idx = 0; idx < 8; idx++) if(((specs.getOUT_READMask() >> idx) & 0x01) > 0) strBuf.append(specs.getOUT_PinNames()[idx] + ".oe ");
+        for(int idx = 0; idx < specs.getIO_PinNames().length; idx++) if(((ioOUTMask >> idx) & 0x01) > 0) strBuf.append(specs.getIO_PinNames()[idx] + " ");
+        for(int idx = 0; idx < specs.getOUT_PinNames().length; idx++) if(((specs.getOUT_READMask() >> idx) & 0x01) > 0) strBuf.append(specs.getOUT_PinNames()[idx] + " ");
+        for(int idx = 0; idx < specs.getIO_PinNames().length; idx++) if(((ioOUTMask >> idx) & 0x01) > 0) strBuf.append(specs.getIO_PinNames()[idx] + ".oe ");
+        for(int idx = 0; idx < specs.getOUT_PinNames().length; idx++) if(((specs.getOUT_READMask() >> idx) & 0x01) > 0) strBuf.append(specs.getOUT_PinNames()[idx] + ".oe ");
 
         strBuf.append("\n");
 

+ 2 - 2
src/main/java/info/hkzlab/dupal/analyzer/devices/PAL10L8Specs.java

@@ -1,9 +1,9 @@
 package info.hkzlab.dupal.analyzer.devices;
 
 public class PAL10L8Specs implements PALSpecs {
-    private static final String[] ROUT_PIN_NAMES = { null, null , null, null, null, null, null, null };
+    private static final String[] ROUT_PIN_NAMES = { };
     private static final String[] IN_PIN_NAMES = { "i1", "i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9", "i11" };
-    private static final String[] IO_PIN_NAMES = { null, null, null, null, null, null, null, null };
+    private static final String[] IO_PIN_NAMES = { };
     private static final String[] OUT_PIN_NAMES = { "o18", "o17", "o16", "o15", "o14", "o13", "o19", "o12" };
 
 

+ 109 - 0
src/main/java/info/hkzlab/dupal/analyzer/devices/PAL12L6Specs.java

@@ -0,0 +1,109 @@
+package info.hkzlab.dupal.analyzer.devices;
+
+public class PAL12L6Specs implements PALSpecs {
+    private static final String[] ROUT_PIN_NAMES = { };
+    private static final String[] IN_PIN_NAMES = { "i1", "i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9", "i11", null, null, null, null, null, null, "i19", "i12"};
+    private static final String[] IO_PIN_NAMES = { };
+    private static final String[] OUT_PIN_NAMES = { "o18", "o17", "o16", "o15", "o14", "o13", null, null };
+
+
+    @Override
+    public int getNumINPins() {
+        return 12;
+    }
+
+    @Override
+    public int getNumIOPins() {
+        return 0;
+    }
+
+    @Override
+    public int getNumROUTPins() {
+        return 0;
+    }
+
+    @Override
+    public int getNumOUTPins() {
+        return 6;
+    }
+    
+    @Override
+    public int getCLKPinMask() {
+        return 0x00;
+    }
+
+    @Override
+    public int getOEPinMask() {
+        return 0x00;
+    }
+
+    @Override
+    public int getINMask() {
+        return 0x000303FF;
+    }
+
+    @Override
+    public int getIO_READMask() {
+        return 0x00;
+    }
+
+    @Override
+    public int getIO_WRITEMask() {
+        return getIO_READMask() << READ_WRITE_SHIFT;
+    }
+
+    @Override
+    public int getROUT_READMask() {
+        return 0x00;
+    }
+
+    @Override
+    public int getROUT_WRITEMask() {
+        return getROUT_READMask() << READ_WRITE_SHIFT;
+    }
+
+    @Override
+    public int getOUT_READMask() {
+        return 0x3F;
+    }
+
+    @Override
+    public int getOUT_WRITEMask() {
+        return getOUT_READMask() << READ_WRITE_SHIFT;
+    }
+
+    @Override
+    public String toString() {
+        return "PAL12L6";
+    }
+
+    @Override
+    public int getROUT_READMaskShift() {
+        return 0;
+    }
+
+    @Override
+    public String[] getROUT_PinNames() {
+        return ROUT_PIN_NAMES;
+    }
+
+    @Override
+    public String[] getIN_PinNames() {
+        return IN_PIN_NAMES;
+    }
+
+    @Override
+    public String[] getIO_PinNames() {
+        return IO_PIN_NAMES;
+    }
+
+    @Override
+    public String[] getOUT_PinNames() {
+        return OUT_PIN_NAMES;
+    }
+
+    @Override
+    public boolean isActiveLow() {
+        return true;
+    }
+}

+ 1 - 1
src/main/java/info/hkzlab/dupal/analyzer/devices/PAL16L8Specs.java

@@ -1,7 +1,7 @@
 package info.hkzlab.dupal.analyzer.devices;
 
 public class PAL16L8Specs implements PALSpecs {
-    private static final String[] ROUT_PIN_NAMES = { null, null , null, null, null, null, null, null };
+    private static final String[] ROUT_PIN_NAMES = { };
     private static final String[] IN_PIN_NAMES = { "i1", "i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9", "i11" };
     private static final String[] IO_PIN_NAMES = { "io18", "io17", "io16", "io15", "io14", "io13", null, null };
     private static final String[] OUT_PIN_NAMES = { null, null, null, null, null, null, "o19", "o12" };

+ 3 - 3
src/main/java/info/hkzlab/dupal/analyzer/devices/PAL16R4Specs.java

@@ -2,9 +2,9 @@ package info.hkzlab.dupal.analyzer.devices;
 
 public class PAL16R4Specs implements PALSpecs {
     private static final String[] ROUT_PIN_NAMES = { "ro14", "ro15", "ro16", "ro17" };
-    private static final String[] IN_PIN_NAMES = {"i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9"};
-    private static final String[] IO_PIN_NAMES = {"io18", null, null, null, null, "io13", "io19", "io12"};
-    private static final String[] OUT_PIN_NAMES = {null, null, null, null, null, null, null, null};
+    private static final String[] IN_PIN_NAMES = { null, "i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9" };
+    private static final String[] IO_PIN_NAMES = { "io18", null, null, null, null, "io13", "io19", "io12" };
+    private static final String[] OUT_PIN_NAMES = { };
 
 
     @Override

+ 2 - 2
src/main/java/info/hkzlab/dupal/analyzer/devices/PAL16R6Specs.java

@@ -2,9 +2,9 @@ package info.hkzlab.dupal.analyzer.devices;
 
 public class PAL16R6Specs implements PALSpecs {
     private static final String[] ROUT_PIN_NAMES = { "ro13", "ro14", "ro15", "ro16", "ro17", "ro18" };
-    private static final String[] IN_PIN_NAMES = { "i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9" };
+    private static final String[] IN_PIN_NAMES = { null, "i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9" };
     private static final String[] IO_PIN_NAMES = { null, null, null, null, null, null, "io19", "io12" };
-    private static final String[] OUT_PIN_NAMES = { null, null, null, null, null, null, null, null };
+    private static final String[] OUT_PIN_NAMES = { };
 
     @Override
     public int getNumINPins() {

+ 3 - 3
src/main/java/info/hkzlab/dupal/analyzer/devices/PAL16R8Specs.java

@@ -2,9 +2,9 @@ package info.hkzlab.dupal.analyzer.devices;
 
 public class PAL16R8Specs implements PALSpecs {
     private static final String[] ROUT_PIN_NAMES = { "ro12", "ro19" ,"ro13", "ro14", "ro15", "ro16", "ro17", "ro18" };
-    private static final String[] IN_PIN_NAMES = {"i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9"};
-    private static final String[] IO_PIN_NAMES = {null, null, null, null, null, null, null, null};
-    private static final String[] OUT_PIN_NAMES = {null, null, null, null, null, null, null, null};
+    private static final String[] IN_PIN_NAMES = { null, "i2", "i3", "i4", "i5", "i6", "i7", "i8", "i9" };
+    private static final String[] IO_PIN_NAMES = { };
+    private static final String[] OUT_PIN_NAMES = { };
 
 
     @Override