/***************************************************************************/ public static void elementWithCoverage( ILogicalElement _element , LogicValue.Enum _significantValue , LogicValue.Enum _valueToSet ) { ILineCollection inputs = _element.Inputs; ILineCollection outputs = _element.Outputs; if (inputs.hasUnknownStates()) { outputs[0].Value = LogicValue.Enum.Unknown; return; } if (inputs.hasValue(_significantValue)) { outputs[0].Value = _valueToSet; return; } if (!inputs.hasValue(LogicValue.Enum.DontCare)) { outputs[0].Value = LogicValue.invert(_valueToSet); } else { outputs[0].Value = LogicValue.Enum.DontCare; } }
/***************************************************************************/ public static void nxor(ILogicalElement _element) { xor(_element); _element.Outputs[0].Value = LogicValue.invert(_element.Outputs[0].Value); }
/***************************************************************************/ public static void not(ILogicalElement _element) { _element.Outputs[0].Value = LogicValue.invert(_element.Inputs[0].Value); }