package com.sun.electric.tool.ncc.netlist;
import java.util.HashMap;
import java.util.Map;
import com.sun.electric.technology.PrimitiveNode.Function;
/** Translate the names found in "transistorType" and "resistorType" NCC
* declarations into the appropriate PrimitiveNode.Function enum. This
* is for backwards compatibility only. In the Future, transistors and resistors
* should have the correct Function. */
public class PrimitiveNameToFunction {
private static PrimitiveNameToFunction nmToF =
new PrimitiveNameToFunction();
private Map<String, Function> nameToEnum = new HashMap<String, Function>();
private void add(Function f, String nm) {nameToEnum.put(nm, f);}
private PrimitiveNameToFunction() {
add(Function.TRANMOSVTH, "VTH-N-Transistor");
add(Function.TRANMOSVTL, "VTL-N-Transistor");
add(Function.TRANMOSHV1, "OD18-N-Transistor");
add(Function.TRANMOSHV2, "OD25-N-Transistor");
add(Function.TRANMOSHV3, "OD33-N-Transistor");
add(Function.TRANMOSNT, "NT-N-Transistor");
add(Function.TRANMOSNTHV1, "NT-OD18-N-Transistor");
add(Function.TRANMOSNTHV2, "NT-OD25-N-Transistor");
add(Function.TRANMOSNTHV3, "NT-OD33-N-Transistor");
add(Function.TRAPMOSVTH, "VTH-P-Transistor");
add(Function.TRAPMOSVTL, "VTL-P-Transistor");
add(Function.TRAPMOSHV1, "OD18-P-Transistor");
add(Function.TRAPMOSHV2, "OD25-P-Transistor");
add(Function.TRAPMOSHV3, "OD33-P-Transistor");
add(Function.RESNPOLY, "N-Poly-RPO-Resistor");
add(Function.RESPPOLY, "P-Poly-RPO-Resistor");
add(Function.RESNWELL, "N-Well-RPO-Resistor");
}
private Function nameToFunc(String nm) {return nameToEnum.get(nm);}
public static Function nameToFunction(String nm) {
return nmToF.nameToFunc(nm);
}
}