|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.sun.electric.technology.XMLRules
public class XMLRules
| Nested Class Summary | |
|---|---|
static class |
XMLRules.XMLRule
Local class to store information |
| Field Summary | |
|---|---|
java.util.HashMap<XMLRules.XMLRule,XMLRules.XMLRule>[] |
matrix
Hash map to store rules per matrix index |
| Constructor Summary | |
|---|---|
XMLRules(Technology t)
|
|
| Method Summary | |
|---|---|
void |
addRule(int index,
DRCTemplate rule)
Method to add a rule based on template |
void |
addRule(int index,
DRCTemplate rule,
DRCTemplate.DRCRuleType spacingCase,
boolean wideRules)
OLD FUNCTION |
void |
applyDRCOverrides(java.lang.String override,
Technology tech)
Method to apply overrides to a set of rules. |
void |
deleteRule(int index,
DRCTemplate rule)
Method to delete a given spacing rule |
boolean |
doesAllowMultipleWideRules(int index)
Method to tell UI if multiple wide rules are allowed |
DRCTemplate |
getEdgeRule(Layer layer1,
Layer layer2)
Method to find the edge spacing rule between two layer. |
DRCTemplate |
getExtensionRule(Layer layer1,
Layer layer2,
boolean isGateExtension)
Method to find the extension rule between two layer. |
double |
getMaxSurround(Layer layer,
double maxSize)
Method to find the maximum design-rule distance around a layer. |
DRCTemplate |
getMinValue(Layer layer,
DRCTemplate.DRCRuleType type)
Method to get the minimum |
java.lang.String[] |
getNodesWithRules()
To retrieve those nodes whose have rules |
int |
getNumberOfRules()
Method to get total number of rules stored |
XMLRules.XMLRule |
getRule(int index,
DRCTemplate.DRCRuleType type)
Method to retrieve simple layer or node rules |
XMLRules.XMLRule |
getRule(int index,
DRCTemplate.DRCRuleType type,
java.lang.String nodeName)
Method to retrieve specific SURROUND rules stored per node that involve two layers |
int |
getRuleIndex(int index1,
int index2)
Method to determine the index in the upper-left triangle array for two layers/nodes. |
java.util.List<DRCTemplate> |
getRules(Layer layer1,
DRCTemplate.DRCRuleType type)
Method to find all rules of specified type associated to Layer layer1 |
DRCTemplate |
getSpacingRule(Layer layer1,
Geometric geo1,
Layer layer2,
Geometric geo2,
boolean connected,
int multiCut,
double wideS,
double length)
Method to find the spacing rule between two layer. |
java.util.List<DRCTemplate> |
getSpacingRules(int index,
DRCTemplate.DRCRuleType spacingCase,
boolean wideRules)
Method to retrieve different spacing rules depending on spacingCase. |
Technology |
getTechnology()
Method to determine the technology associated with this rules set. |
double |
getWorstSpacingDistance(int lastMetal)
Method to find the worst spacing distance in the design rules. |
boolean |
isAnySpacingRule(Layer layer1,
Layer layer2)
Method to tell whether there are any design rules between two layers. |
DRCTemplate |
isForbiddenNode(int nodeIndex,
DRCTemplate.DRCRuleType type)
Method to determine if given node is not allowed by foundry |
void |
loadDRCRules(Technology tech,
Foundry foundry,
DRCTemplate theRule,
boolean pWellProcess)
|
void |
setMinValue(Layer layer,
java.lang.String name,
double value,
DRCTemplate.DRCRuleType type)
Method to set the minimum |
void |
setSpacingRules(int index,
java.util.List<DRCTemplate> newRules,
DRCTemplate.DRCRuleType spacingCase,
boolean wideRules)
|
void |
setWideLimits(double[] values)
To set wide limit for old techs // * @param values |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public java.util.HashMap<XMLRules.XMLRule,XMLRules.XMLRule>[] matrix
| Constructor Detail |
|---|
public XMLRules(Technology t)
| Method Detail |
|---|
public Technology getTechnology()
getTechnology in interface DRCRules
public int getRuleIndex(int index1,
int index2)
getRuleIndex in interface DRCRulesindex1 - the first layer/node index.index2 - the second layer/node index.
public DRCTemplate getEdgeRule(Layer layer1,
Layer layer2)
getEdgeRule in interface DRCRuleslayer1 - the first layer.layer2 - the second layer.
public boolean doesAllowMultipleWideRules(int index)
doesAllowMultipleWideRules in interface DRCRulesindex -
public int getNumberOfRules()
getNumberOfRules in interface DRCRulespublic java.lang.String[] getNodesWithRules()
getNodesWithRules in interface DRCRules
public java.util.List<DRCTemplate> getSpacingRules(int index,
DRCTemplate.DRCRuleType spacingCase,
boolean wideRules)
getSpacingRules in interface DRCRulesindex - spacingCase - wideRules -
public void setSpacingRules(int index,
java.util.List<DRCTemplate> newRules,
DRCTemplate.DRCRuleType spacingCase,
boolean wideRules)
setSpacingRules in interface DRCRulesindex - newRules - spacingCase - SPACING for normal case, SPACINGW for wide case, CUTSPA for multi cutswideRules -
public XMLRules.XMLRule getRule(int index,
DRCTemplate.DRCRuleType type)
getRule in interface DRCRulesindex - the index of the layer or nodetype - the rule type.
public XMLRules.XMLRule getRule(int index,
DRCTemplate.DRCRuleType type,
java.lang.String nodeName)
getRule in interface DRCRulesindex - the combined index of the two layers involvedtype - nodeName - list containing the name of the primitive
public DRCTemplate getMinValue(Layer layer,
DRCTemplate.DRCRuleType type)
getMinValue in interface DRCRuleslayer - the Layer to examine.type - rule type
public void setMinValue(Layer layer,
java.lang.String name,
double value,
DRCTemplate.DRCRuleType type)
setMinValue in interface DRCRuleslayer - the Layer to examine.name - the rule namevalue - the new rule valuetype - rule typepublic void setWideLimits(double[] values)
public void deleteRule(int index,
DRCTemplate rule)
deleteRule in interface DRCRulesindex - rule -
public void addRule(int index,
DRCTemplate rule,
DRCTemplate.DRCRuleType spacingCase,
boolean wideRules)
addRule in interface DRCRules
public void addRule(int index,
DRCTemplate rule)
addRule in interface DRCRulesindex - rule -
public DRCTemplate getSpacingRule(Layer layer1,
Geometric geo1,
Layer layer2,
Geometric geo2,
boolean connected,
int multiCut,
double wideS,
double length)
getSpacingRule in interface DRCRuleslayer1 - the first layer.layer2 - the second layer.connected - true to find the distance when the layers are connected.multiCut - true to find the distance when this is part of a multicut contact.wideS - widest polygonlength - length of the intersection
public java.util.List<DRCTemplate> getRules(Layer layer1,
DRCTemplate.DRCRuleType type)
getRules in interface DRCRuleslayer1 - layertype - rule type
public DRCTemplate getExtensionRule(Layer layer1,
Layer layer2,
boolean isGateExtension)
getExtensionRule in interface DRCRuleslayer1 - the first layer.layer2 - the second layer.isGateExtension - to decide between the rule EXTENSIONGATE or EXTENSION
public boolean isAnySpacingRule(Layer layer1,
Layer layer2)
isAnySpacingRule in interface DRCRuleslayer1 - the first Layer to check.layer2 - the second Layer to check.
public DRCTemplate isForbiddenNode(int nodeIndex,
DRCTemplate.DRCRuleType type)
isForbiddenNode in interface DRCRulesnodeIndex - index of node in DRC rules map to examinetype - rule type
public double getWorstSpacingDistance(int lastMetal)
getWorstSpacingDistance in interface DRCRuleslastMetal - last metal to check if only metal values are requested
public double getMaxSurround(Layer layer,
double maxSize)
getMaxSurround in interface DRCRuleslayer - the Layer to examine.
public void applyDRCOverrides(java.lang.String override,
Technology tech)
applyDRCOverrides in interface DRCRulesoverride - the override string.tech - the Technology in which these rules live.
public void loadDRCRules(Technology tech,
Foundry foundry,
DRCTemplate theRule,
boolean pWellProcess)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||