Example #1
0
        /***************************************************************************/

        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;
            }
        }
Example #2
0
        /***************************************************************************/

        public static void nxor(ILogicalElement _element)
        {
            xor(_element);
            _element.Outputs[0].Value = LogicValue.invert(_element.Outputs[0].Value);
        }
Example #3
0
        /***************************************************************************/

        public static void not(ILogicalElement _element)
        {
            _element.Outputs[0].Value = LogicValue.invert(_element.Inputs[0].Value);
        }