コード例 #1
0
        public override void resolveCircuito()
        {
            POO_PortasLogicas.And2 and1 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.And2 and2 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.And2 and3 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.And2 and4 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.Not  notB = new POO_PortasLogicas.Not();
            POO_PortasLogicas.Or2  or   = new POO_PortasLogicas.Or2();

            and1.setBit1(this.entradaA);
            and1.setBit2(this.entradaB);
            int resultAnd1 = and1.result();

            or.setBit1(this.entradaA);
            or.setBit2(this.entradaB);
            int resultOr = or.result();

            and2.setBit1(resultAnd1);
            and2.setBit2(this.saidaD1);
            this.saidaUL1 = and2.result();

            and3.setBit1(resultOr);
            and3.setBit2(this.saidaD2);
            this.saidaUL2 = and3.result();

            notB.setBit1(this.entradaB);
            and4.setBit1(notB.result());
            and4.setBit2(this.saidaD3);
            this.saidaUL3 = and4.result();
        }
コード例 #2
0
ファイル: Ula.cs プロジェクト: Duarte007/trab-ac
        public override void resolveCircuito()
        {
            POO_PortasLogicas.Or2 or1 = new POO_PortasLogicas.Or2(this.saidaUL1, this.saidaUL2);
            int resultOr1             = or1.result();

            POO_PortasLogicas.Or2 or2 = new POO_PortasLogicas.Or2(resultOr1, this.saidaUL3);
            int resultOr2             = or2.result();

            POO_PortasLogicas.Or2 or3 = new POO_PortasLogicas.Or2(resultOr2, this.saidaSC);

            this.saidaUla = or3.result();
        }
コード例 #3
0
ファイル: SomadorCompleto.cs プロジェクト: Duarte007/trab-ac
        public override void resolveCircuito()
        {
            POO_PortasLogicas.And2 and1 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.And2 and2 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.And2 and3 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.And2 and4 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.And2 and5 = new POO_PortasLogicas.And2();
            POO_PortasLogicas.Xor2 xor1 = new POO_PortasLogicas.Xor2();
            POO_PortasLogicas.Xor2 xor2 = new POO_PortasLogicas.Xor2();
            POO_PortasLogicas.Or2  or   = new POO_PortasLogicas.Or2();

            /* PARTE DO CIRCUITO PARA SAIDA DO SOMADOR COMPLETO */

            xor1.setBit1(this.entradaB);
            xor1.setBit2(this.entradaA);
            int resultXor1 = xor1.result();

            xor2.setBit1(resultXor1);
            xor2.setBit2(this.carryIn);
            int resultXor2 = xor2.result();

            and5.setBit1(resultXor2);
            and5.setBit2(this.saidaD4);
            this.saidaSC = and5.result();

            /* PARTE DO CIRCUITO PARA O CARRY OUT */

            //and1 e and2 formam uma and de 3 entradas
            and1.setBit1(this.saidaD4);
            and1.setBit2(this.entradaA);
            int resultAnd1Aux = and1.result();

            and2.setBit1(resultAnd1Aux);
            and2.setBit2(this.entradaB);
            int resultAnd2 = and2.result();

            //and3 e and4 formam uma and de 3 entradas
            and3.setBit1(this.saidaD4);
            and3.setBit2(resultXor1);
            int resultAnd3Aux = and3.result();

            and4.setBit1(resultAnd3Aux);
            and4.setBit2(this.carryIn);
            int resultAnd4 = and4.result();

            //carryOut
            or.setBit1(resultAnd2);
            or.setBit2(resultAnd4);
            this.carryOut = or.result();
        }