private void GetOutput() { Cable.Join(Not1.Output, And0.Pin2); Cable.Join(Not1.Output, And1.Pin2); Cable.Join(Not1.Output, And2.Pin2); Cable.Join(Not1.Output, And3.Pin2); Cable.Join(Not2.Output, And0.Pin3); Cable.Join(Not2.Output, And1.Pin3); Cable.Join(Not2.Output, And4.Pin3); Cable.Join(Not2.Output, And5.Pin3); Cable.Join(Not3.Output, And0.Pin4); Cable.Join(Not3.Output, And2.Pin4); Cable.Join(Not3.Output, And4.Pin4); Cable.Join(Not3.Output, And6.Pin4); Cable.Join(And0.Output, OUT0); Cable.Join(And1.Output, OUT1); Cable.Join(And2.Output, OUT2); Cable.Join(And3.Output, OUT3); Cable.Join(And4.Output, OUT4); Cable.Join(And5.Output, OUT5); Cable.Join(And6.Output, OUT6); Cable.Join(And7.Output, OUT7); }
private void GetOutput() { Cable.Join(HalfAdder1.OUTCarry, Or.Pin1); Cable.Join(HalfAdder1.OUTSum, HalfAdder2.IN1); Cable.Join(HalfAdder2.OUTCarry, Or.Pin2); Cable.Join(Or.Output, OUTCarry); Cable.Join(HalfAdder2.OUTSum, OUTSum); }
public override void MethodFromRamAddressReg() { Cable.Join(INFromRamAddressReg, RamAddressRegister.ReadEnable); Cable.Join(RamAddressRegister.GatedLatch1.DataOutput, Ram.Ram1.INRow0); Cable.Join(RamAddressRegister.GatedLatch1.DataOutput, Ram.Ram2.INRow0); Cable.Join(RamAddressRegister.GatedLatch1.DataOutput, Ram.Ram3.INRow0); Cable.Join(RamAddressRegister.GatedLatch1.DataOutput, Ram.Ram4.INRow0); Cable.Join(RamAddressRegister.GatedLatch1.DataOutput, Ram.Ram5.INRow0); Cable.Join(RamAddressRegister.GatedLatch1.DataOutput, Ram.Ram6.INRow0); Cable.Join(RamAddressRegister.GatedLatch1.DataOutput, Ram.Ram7.INRow0); Cable.Join(RamAddressRegister.GatedLatch1.DataOutput, Ram.Ram8.INRow0); Cable.Join(RamAddressRegister.GatedLatch2.DataOutput, Ram.Ram1.INRow2); Cable.Join(RamAddressRegister.GatedLatch2.DataOutput, Ram.Ram2.INRow2); Cable.Join(RamAddressRegister.GatedLatch2.DataOutput, Ram.Ram3.INRow2); Cable.Join(RamAddressRegister.GatedLatch2.DataOutput, Ram.Ram4.INRow2); Cable.Join(RamAddressRegister.GatedLatch2.DataOutput, Ram.Ram5.INRow2); Cable.Join(RamAddressRegister.GatedLatch2.DataOutput, Ram.Ram6.INRow2); Cable.Join(RamAddressRegister.GatedLatch2.DataOutput, Ram.Ram7.INRow2); Cable.Join(RamAddressRegister.GatedLatch2.DataOutput, Ram.Ram8.INRow2); Cable.Join(RamAddressRegister.GatedLatch3.DataOutput, Ram.Ram1.INRow4); Cable.Join(RamAddressRegister.GatedLatch3.DataOutput, Ram.Ram2.INRow4); Cable.Join(RamAddressRegister.GatedLatch3.DataOutput, Ram.Ram3.INRow4); Cable.Join(RamAddressRegister.GatedLatch3.DataOutput, Ram.Ram4.INRow4); Cable.Join(RamAddressRegister.GatedLatch3.DataOutput, Ram.Ram5.INRow4); Cable.Join(RamAddressRegister.GatedLatch3.DataOutput, Ram.Ram6.INRow4); Cable.Join(RamAddressRegister.GatedLatch3.DataOutput, Ram.Ram7.INRow4); Cable.Join(RamAddressRegister.GatedLatch3.DataOutput, Ram.Ram8.INRow4); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram1.INColumn0); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram2.INColumn0); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram3.INColumn0); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram4.INColumn0); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram5.INColumn0); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram6.INColumn0); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram7.INColumn0); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram8.INColumn0); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram1.INColumn2); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram2.INColumn2); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram3.INColumn2); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram4.INColumn2); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram5.INColumn2); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram6.INColumn2); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram7.INColumn2); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram8.INColumn2); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram1.INColumn4); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram2.INColumn4); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram3.INColumn4); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram4.INColumn4); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram5.INColumn4); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram6.INColumn4); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram7.INColumn4); Cable.Join(RamAddressRegister.GatedLatch4.DataOutput, Ram.Ram8.INColumn4); }
public override void ConnectIN1() { Cable.Join(IN1, And1.Pin4); Cable.Join(IN1, And3.Pin4); Cable.Join(IN1, And5.Pin4); Cable.Join(IN1, And7.Pin4); Cable.Join(IN1, Not3.Pin1); GetOutput(); }
public override void ConnectIN2() { Cable.Join(IN2, And2.Pin3); Cable.Join(IN2, And3.Pin3); Cable.Join(IN2, And6.Pin3); Cable.Join(IN2, And7.Pin3); Cable.Join(IN2, Not2.Pin1); GetOutput(); }
public override void ConnectIN3() { Cable.Join(IN3, And4.Pin2); Cable.Join(IN3, And5.Pin2); Cable.Join(IN3, And6.Pin2); Cable.Join(IN3, And7.Pin2); Cable.Join(IN3, Not1.Pin1); GetOutput(); }
private void GetOutput() { Cable.Join(And1.Output, And2.Pin2); Cable.Join(And1.Output, And3.Pin1); Cable.Join(And2.Output, GatedLatch.WriteEnable); Cable.Join(GatedLatch.DataOutput, And4.Pin1); Cable.Join(And3.Output, And4.Pin2); Cable.Join(And4.Output, DataOutput); }
public void GetOutput() { Cable.Join(GatedLatch1.DataOutput, DataOutput1); Cable.Join(GatedLatch2.DataOutput, DataOutput2); Cable.Join(GatedLatch3.DataOutput, DataOutput3); Cable.Join(GatedLatch4.DataOutput, DataOutput4); Cable.Join(GatedLatch5.DataOutput, DataOutput5); Cable.Join(GatedLatch6.DataOutput, DataOutput6); Cable.Join(GatedLatch7.DataOutput, DataOutput7); Cable.Join(GatedLatch8.DataOutput, DataOutput8); }
private void GetOutput() { Cable.Join(Not1.Output, And2.Pin1); Cable.Join(And1.Output, Or.Pin2); Cable.Join(And2.Output, Not2.Pin1); Cable.Join(Or.Output, And3.Pin1); Cable.Join(Not2.Output, And3.Pin2); Cable.Join(And3.Output, Or.Pin1); Cable.Join(And3.Output, And4.Pin1); Cable.Join(And4.Output, DataOutput); }
public override void ConnectReadEnable() { Cable.Join(ReadEnable, GatedLatch1.ReadEnable); Cable.Join(ReadEnable, GatedLatch2.ReadEnable); Cable.Join(ReadEnable, GatedLatch3.ReadEnable); Cable.Join(ReadEnable, GatedLatch4.ReadEnable); Cable.Join(ReadEnable, GatedLatch5.ReadEnable); Cable.Join(ReadEnable, GatedLatch6.ReadEnable); Cable.Join(ReadEnable, GatedLatch7.ReadEnable); Cable.Join(ReadEnable, GatedLatch8.ReadEnable); GetOutput(); }
public override void ConnectPower() { Cable.Join(Power, And0.Pin1); Cable.Join(Power, And1.Pin1); Cable.Join(Power, And2.Pin1); Cable.Join(Power, And3.Pin1); Cable.Join(Power, And4.Pin1); Cable.Join(Power, And5.Pin1); Cable.Join(Power, And6.Pin1); Cable.Join(Power, And7.Pin1); GetOutput(); }
public override void MethodFromAGo() { Cable.Join(INFromAGo, RegisterA.ReadEnable); Cable.Join(RegisterA.GatedLatch1.DataOutput, DataWire1); Cable.Join(RegisterA.GatedLatch2.DataOutput, DataWire2); Cable.Join(RegisterA.GatedLatch3.DataOutput, DataWire3); Cable.Join(RegisterA.GatedLatch4.DataOutput, DataWire4); Cable.Join(RegisterA.GatedLatch5.DataOutput, DataWire5); Cable.Join(RegisterA.GatedLatch6.DataOutput, DataWire6); Cable.Join(RegisterA.GatedLatch7.DataOutput, DataWire7); Cable.Join(RegisterA.GatedLatch8.DataOutput, DataWire8); }
public override void MethodToRamAddressReg() { Cable.Join(INToRamAddressReg, RamAddressRegister.WriteEnable); Cable.Join(DataWire1, RamAddressRegister.DataInput1); Cable.Join(DataWire2, RamAddressRegister.DataInput2); Cable.Join(DataWire3, RamAddressRegister.DataInput3); Cable.Join(DataWire4, RamAddressRegister.DataInput4); Cable.Join(DataWire5, RamAddressRegister.DataInput5); Cable.Join(DataWire6, RamAddressRegister.DataInput6); Cable.Join(DataWire7, RamAddressRegister.DataInput7); Cable.Join(DataWire8, RamAddressRegister.DataInput8); }
public override void ConnectWriteEnable() { Cable.Join(WriteEnable, GatedLatch1.WriteEnable); Cable.Join(WriteEnable, GatedLatch2.WriteEnable); Cable.Join(WriteEnable, GatedLatch3.WriteEnable); Cable.Join(WriteEnable, GatedLatch4.WriteEnable); Cable.Join(WriteEnable, GatedLatch5.WriteEnable); Cable.Join(WriteEnable, GatedLatch6.WriteEnable); Cable.Join(WriteEnable, GatedLatch7.WriteEnable); Cable.Join(WriteEnable, GatedLatch8.WriteEnable); GetOutput(); }
public override void MethodFromB() { Cable.Join(INFromB, AndGateClockFromA.Pin1); Cable.Join(AndGateClockFromA.Output, RegisterB.ReadEnable); Cable.Join(RegisterB.GatedLatch1.DataOutput, DataWire1); Cable.Join(RegisterB.GatedLatch2.DataOutput, DataWire2); Cable.Join(RegisterB.GatedLatch3.DataOutput, DataWire3); Cable.Join(RegisterB.GatedLatch4.DataOutput, DataWire4); Cable.Join(RegisterB.GatedLatch5.DataOutput, DataWire5); Cable.Join(RegisterB.GatedLatch6.DataOutput, DataWire6); Cable.Join(RegisterB.GatedLatch7.DataOutput, DataWire7); Cable.Join(RegisterB.GatedLatch8.DataOutput, DataWire8); }
public override void MethodToRam() { Cable.Join(INToRam, Ram.Power); Cable.Join(INToRam, Ram.WriteEnable); Cable.Join(DataWire1, Ram.Ram1.DataInput); Cable.Join(DataWire2, Ram.Ram2.DataInput); Cable.Join(DataWire3, Ram.Ram3.DataInput); Cable.Join(DataWire4, Ram.Ram4.DataInput); Cable.Join(DataWire5, Ram.Ram5.DataInput); Cable.Join(DataWire6, Ram.Ram6.DataInput); Cable.Join(DataWire7, Ram.Ram7.DataInput); Cable.Join(DataWire8, Ram.Ram8.DataInput); }
public override void MethodFromRam() { Cable.Join(INFromRam, Ram.Power); Cable.Join(INFromRam, Ram.ReadEnable); Cable.Join(Ram.Ram1.DataOutput, DataWire1); Cable.Join(Ram.Ram2.DataOutput, DataWire2); Cable.Join(Ram.Ram3.DataOutput, DataWire3); Cable.Join(Ram.Ram4.DataOutput, DataWire4); Cable.Join(Ram.Ram5.DataOutput, DataWire5); Cable.Join(Ram.Ram6.DataOutput, DataWire6); Cable.Join(Ram.Ram7.DataOutput, DataWire7); Cable.Join(Ram.Ram8.DataOutput, DataWire8); }
public void PutDataToRegisterA(byte[] input) { Cable.Join(new Pin() { State = 1 }, DataBus.RegisterA.WriteEnable); Cable.Join(new Pin() { State = input[0] }, DataBus.RegisterA.DataInput1); Cable.Join(new Pin() { State = input[1] }, DataBus.RegisterA.DataInput2); Cable.Join(new Pin() { State = input[2] }, DataBus.RegisterA.DataInput3); Cable.Join(new Pin() { State = input[3] }, DataBus.RegisterA.DataInput4); Cable.Join(new Pin() { State = input[4] }, DataBus.RegisterA.DataInput5); Cable.Join(new Pin() { State = input[5] }, DataBus.RegisterA.DataInput6); Cable.Join(new Pin() { State = input[6] }, DataBus.RegisterA.DataInput7); Cable.Join(new Pin() { State = input[7] }, DataBus.RegisterA.DataInput8); Cable.Join(new Pin() { State = 0 }, DataBus.RegisterA.WriteEnable); }
private void GetOutput() { Cable.Join(HalfAdder.OUTCarry, FullAdder1.IN1); Cable.Join(FullAdder1.OUTCarry, FullAdder2.IN1); Cable.Join(FullAdder2.OUTCarry, FullAdder3.IN1); Cable.Join(FullAdder3.OUTCarry, FullAdder4.IN1); Cable.Join(FullAdder4.OUTCarry, FullAdder5.IN1); Cable.Join(FullAdder5.OUTCarry, FullAdder6.IN1); Cable.Join(FullAdder6.OUTCarry, FullAdder7.IN1); Cable.Join(HalfAdder.OUTSum, OUTSum0); Cable.Join(FullAdder1.OUTSum, OUTSum1); Cable.Join(FullAdder2.OUTSum, OUTSum2); Cable.Join(FullAdder3.OUTSum, OUTSum3); Cable.Join(FullAdder4.OUTSum, OUTSum4); Cable.Join(FullAdder5.OUTSum, OUTSum5); Cable.Join(FullAdder6.OUTSum, OUTSum6); Cable.Join(FullAdder7.OUTSum, OUTSum7); Cable.Join(FullAdder7.OUTCarry, OUTCarry); }
public override void RunIN1() { Cable.Join(IN1, Xor.Pin1); Cable.Join(IN1, And.Pin1); GetOutput(); }
// zastanowic sie nad RamAddressRegister - bo moj adres jest troche pokopany - adres ma 8 bitow ale korzysta tylko z 6 (64 miejsca) public void Run() { CounterClass.CounterCable = 0; CounterClass.CounterAction = 0; DataBus DataBus = new DataBus(); DataBusHelper BusHelper = new DataBusHelper(DataBus); BusHelper.PutDataToRegisterA(new byte[] { 1, 0, 1, 0, 1, 0, 1, 0 }); Cable.Join(new Pin() { State = 1 }, DataBus.INFromA); Cable.Join(new Pin() { State = 1 }, DataBus.INClock); BusHelper.SetRamAddress(63); // 0 - 63 Cable.Join(new Pin() { State = 1 }, DataBus.INToRam); Cable.Join(new Pin() { State = 1 }, DataBus.INFromRam); Cable.Join(new Pin() { State = 1 }, DataBus.INToB); int k = 8; //Ram8 r = new Ram8(); //Cable.Join(new Pin() { State = 1 }, Db.RegisterA.WriteEnable); ////Cable.Join(new Pin() { State = 1 }, registerA.DataInput1); ////Cable.Join(new Pin() { State = 1 }, registerA.DataInput2); ////Cable.Join(new Pin() { State = 1 }, registerA.DataInput3); ////Cable.Join(new Pin() { State = 0 }, registerA.DataInput4); ////Cable.Join(new Pin() { State = 1 }, registerA.DataInput5); ////Cable.Join(new Pin() { State = 1 }, registerA.DataInput6); ////Cable.Join(new Pin() { State = 1 }, registerA.DataInput7); ////Cable.Join(new Pin() { State = 1 }, registerA.DataInput8); ////z A do B //Cable.Join(new Pin() { State = 1 }, Db.FromA); //Cable.Join(new Pin() { State = 1 }, Db.ToB); //// z A do Ramu adres:111111 (64) //Cable.Join(new Pin() { State = 1 }, Db.FromA); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressColumn1); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressColumn2); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressColumn3); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressRow1); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressRow2); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressRow3); //Cable.Join(new Pin() { State = 1 }, Db.ToRam); //// z Ramu adres 000000 (0) do B - skasowanie B //Cable.Join(new Pin() { State = 0 }, Db.RamAddressColumn1); //Cable.Join(new Pin() { State = 0 }, Db.RamAddressColumn2); //Cable.Join(new Pin() { State = 0 }, Db.RamAddressColumn3); //Cable.Join(new Pin() { State = 0 }, Db.RamAddressRow1); //Cable.Join(new Pin() { State = 0 }, Db.RamAddressRow2); //Cable.Join(new Pin() { State = 0 }, Db.RamAddressRow3); //Cable.Join(new Pin() { State = 1 }, Db.FromRam); //Cable.Join(new Pin() { State = 0 }, Db.ToB); //Cable.Join(new Pin() { State = 1 }, Db.ToB); //// z Ramu adres 11 do B - Przywrocenie stanu B //Cable.Join(new Pin() { State = 1 }, Db.RamAddressColumn1); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressColumn2); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressColumn3); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressRow1); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressRow2); //Cable.Join(new Pin() { State = 1 }, Db.RamAddressRow3); //Cable.Join(new Pin() { State = 0 }, Db.FromRam); //Cable.Join(new Pin() { State = 1 }, Db.FromRam); //Cable.Join(new Pin() { State = 0 }, Db.ToB); //Cable.Join(new Pin() { State = 1 }, Db.ToB); //int i1 = registerA.DataOutput1.State; //int i2 = registerA.DataOutput2.State; //int i3 = registerA.DataOutput3.State; //int i4 = registerA.DataOutput4.State; //int i5 = registerA.DataOutput5.State; //int i6 = registerA.DataOutput6.State; //int i7 = registerA.DataOutput7.State; //int i8 = registerA.DataOutput8.State; //Cable.Join(new Pin() { State = 0 }, registerA.WriteEnable); //Cable.Join(new Pin() { State = 0 }, registerA.DataInput1); //Cable.Join(new Pin() { State = 0 }, registerA.DataInput2); //Cable.Join(new Pin() { State = 0 }, registerA.DataInput3); //Cable.Join(new Pin() { State = 0 }, registerA.DataInput4); //Cable.Join(new Pin() { State = 0 }, registerA.DataInput5); //Cable.Join(new Pin() { State = 0 }, registerA.DataInput6); //Cable.Join(new Pin() { State = 0 }, registerA.DataInput7); //Cable.Join(new Pin() { State = 0 }, registerA.DataInput8); //int q1 = registerA.DataOutput1.State; //int q2 = registerA.DataOutput2.State; //int q3 = registerA.DataOutput3.State; //int q4 = registerA.DataOutput4.State; //int q5 = registerA.DataOutput5.State; //int q6 = registerA.DataOutput6.State; //int q7 = registerA.DataOutput7.State; //int q8 = registerA.DataOutput8.State; //Cable.Join(new Pin() { State = 1 }, registerA.ReadEnable); //int w1 = registerA.DataOutput1.State; //int w2 = registerA.DataOutput2.State; //int w3 = registerA.DataOutput3.State; //int w4 = registerA.DataOutput4.State; //int w5 = registerA.DataOutput5.State; //int w6 = registerA.DataOutput6.State; //int w7 = registerA.DataOutput7.State; //int w8 = registerA.DataOutput8.State; // 1. zaladowac program do ramu //Ram8 ram = new Ram8(); //DataBusHelper ramHelper = new DataBusHelper(ram); //string ins1 = "mov eax, 3"; //byte[] value1 = new byte[] { 1, 0, 0, 0, 0, 0, 0, 1 }; //byte[] value2 = new byte[] { 1, 0, 0, 1, 1, 0, 0, 1 }; //ramHelper.SaveInRam(value1, 0); //var aa = ramHelper.LoadFromRam(0); // 2. uruchomic program // zegar tworzy impulsy, licznik impulsow uruchamia odpowiednia sciezke ktora wykonuje kroki programu // a) Instruction counter ++ // b) Fetch instruction // c) decoding // d) executing }
public override void RunIN0B() { Cable.Join(IN0B, HalfAdder.IN2); GetOutput(); }
public override void ConnectDataInput() { Cable.Join(DataInput, GatedLatch.DataInput); GetOutput(); }
public override void ConnectWriteEnable() { Cable.Join(WriteEnable, And2.Pin1); GetOutput(); }
public override void ConnectReadEnable() { Cable.Join(ReadEnable, And3.Pin2); Cable.Join(ReadEnable, GatedLatch.ReadEnable); GetOutput(); }
public override void ConnectColumn() { Cable.Join(INColumn, And1.Pin2); GetOutput(); }
public override void ConnectRow() { Cable.Join(INRow, And1.Pin1); GetOutput(); }
public override void RunIN7B() { Cable.Join(IN7B, FullAdder2.IN3); GetOutput(); }
public override void RunIN7A() { Cable.Join(IN7A, FullAdder2.IN2); GetOutput(); }
public override void RunIN0A() { Cable.Join(IN0A, HalfAdder.IN1); GetOutput(); }