fixes a cupl export bug, see #707

This commit is contained in:
hneemann 2021-04-13 16:22:41 +02:00
parent d79c5c80e9
commit 51b4ed90f4
4 changed files with 24 additions and 14 deletions

View File

@ -6,7 +6,6 @@
package de.neemann.digital.builder.ATF150x;
import de.neemann.digital.builder.Gal16v8.CuplExporter;
import de.neemann.digital.builder.PinMap;
import java.io.IOException;
import java.io.Writer;
@ -38,8 +37,9 @@ public class ATF150xCuplExporter extends CuplExporter {
* @param pins the bidirectional pins
*/
public ATF150xCuplExporter(String username, Date date, String devName, int clockPin, int[] pins) {
super(username, date, devName, new PinMap()
.setAvailBidirectional(pins));
super(username, date, devName);
getPinMapping()
.setAvailBidirectional(pins);
setClockPin(clockPin);
setCreateNodes(true);
}

View File

@ -16,7 +16,7 @@ import java.util.HashMap;
*/
public class CleanNameBuilder implements BuilderInterface<CleanNameBuilder> {
private final BuilderInterface parent;
private BuilderInterface parent;
private final Filter filter;
private final HashMap<String, String> nameMap;
@ -93,6 +93,15 @@ public class CleanNameBuilder implements BuilderInterface<CleanNameBuilder> {
};
}
/**
* Sets the parent builder.
*
* @param parent the parents builder
*/
public void setParent(BuilderInterface parent) {
this.parent = parent;
}
/**
* Filter interface
*/

View File

@ -34,7 +34,7 @@ public class CuplExporter implements ExpressionExporter<CuplExporter> {
private final String username;
private final Date date;
private final BuilderCollector builder;
private final BuilderInterface cleanNameBuilder;
private final CleanNameBuilder cleanNameBuilder;
private final PinMap pinMap;
private final String devName;
@ -57,9 +57,10 @@ public class CuplExporter implements ExpressionExporter<CuplExporter> {
* @param date date
*/
public CuplExporter(String username, Date date) {
this(username, date, "g16v8a", new PinMap()
this(username, date, "g16v8a");
getPinMapping()
.setAvailInputs(2, 3, 4, 5, 6, 7, 8, 9)
.setAvailOutputs(12, 13, 14, 15, 16, 17, 18, 19));
.setAvailOutputs(12, 13, 14, 15, 16, 17, 18, 19);
}
/**
@ -77,15 +78,15 @@ public class CuplExporter implements ExpressionExporter<CuplExporter> {
* @param username user name
* @param date creation date
* @param devName device name
* @param pinMap the pin map to use
*/
protected CuplExporter(String username, Date date, String devName, PinMap pinMap) {
protected CuplExporter(String username, Date date, String devName) {
this.username = username;
this.date = date;
this.devName = devName;
this.pinMap = pinMap;
cleanNameBuilder = new CleanNameBuilder(null);
this.pinMap = cleanNameBuilder.createPinMap();
builder = new CuplBuilder(pinMap);
cleanNameBuilder = new CleanNameBuilder(builder);
cleanNameBuilder.setParent(builder);
}
/**

View File

@ -6,7 +6,6 @@
package de.neemann.digital.builder.Gal22v10;
import de.neemann.digital.builder.Gal16v8.CuplExporter;
import de.neemann.digital.builder.PinMap;
import java.io.IOException;
import java.io.Writer;
@ -31,9 +30,10 @@ public class Gal22v10CuplExporter extends CuplExporter {
* @param date date
*/
public Gal22v10CuplExporter(String username, Date date) {
super(username, date, "g22v10", new PinMap()
super(username, date, "g22v10");
getPinMapping()
.setAvailInputs(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13)
.setAvailOutputs(14, 15, 16, 17, 18, 19, 20, 21, 22, 23));
.setAvailOutputs(14, 15, 16, 17, 18, 19, 20, 21, 22, 23);
}
@Override