Ejemplo n.º 1
0
        private void Init16BitsComplementor()
        {
            _cplmtor16   = new Complementor16Bits();
            _switches16  = new Switches(16);
            _invertPwr16 = new PowerSupplier();
            InitResult16BitsLights();

            _cplmtor16.Inputs.Connect(_switches16.Outputs);
            _cplmtor16.Invert.ConnectTo(_invertPwr16.Output);
            _cplmtor16.Outputs.Connect(_resultLights16.Select(l => l.Input as InputEndpoint));
        }
Ejemplo n.º 2
0
        private void Init8BitsComplementor()
        {
            _cplmtor8  = new Complementor8Bits();
            _switches8 = new Switches(8);
            _invertPwr = new PowerSupplier();
            InitResult8BitsLights();

            _cplmtor8.Inputs.Connect(_switches8.Outputs);
            _cplmtor8.Invert.ConnectTo(_invertPwr.Output);
            _cplmtor8.Outputs.Connect(_resultLights8.Select(l => l.Input as InputEndpoint));
        }
Ejemplo n.º 3
0
        private void InitBasicElements()
        {
            _cplmtor = new TComplementor();
            _adder   = new TAdder();

            if (_adder.BitWidth != _cplmtor.BitWidth)
            {
                throw new ArgumentException("Bit width between adder and complementor are not match.");
            }

            _xorGate  = new XORGate();
            _subNexus = new CrossNexus(null, _cplmtor.Invert, _adder.CarryInput, _xorGate.Input1);

            _cplmtor.Outputs.Connect(_adder.Number2Inputs);
            _adder.CarryOutput.ConnectTo(_xorGate.Input2);
        }