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(); }
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(); }
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(); }