예제 #1
0
        public static ulong Next(IInputsOutput obj)
        {
            ulong itemId = id++;

            Items.Add(itemId, obj);
            return(id++);
        }
예제 #2
0
        protected FlipFlop(Clock clock, IInputsOutput input, bool initialState = false)
        {
            Inputs = new[] { input };
            state = initialState;
            outputs[0] = state;

            Clock = clock;
            clock.Tick += () => state = StateChange();
            clock.Tock += () => outputs[0] = state;
        }
예제 #3
0
        protected FlipFlop(Clock clock, IInputsOutput input, bool initialState = false)
        {
            Inputs     = new[] { input };
            state      = initialState;
            outputs[0] = state;

            Clock       = clock;
            clock.Tick += () => state = StateChange();
            clock.Tock += () => outputs[0] = state;
        }
예제 #4
0
 public TFlipFlop(Clock clock, IInputsOutput input, bool initialState = false)
     : base(clock, input, initialState)
 {
 }
예제 #5
0
 public Inverter(IInputsOutput input) : base(input)
 {
 }
예제 #6
0
 public DFlipFlop(Clock clock, IInputsOutput input, bool initialState = false)
     : base(clock, input, initialState)
 {
 }
예제 #7
0
        // J = Inputs[0], K = Inputs[1]

        public JKFlipFlop(Clock clock, IInputsOutput j, IInputsOutput k, bool initialState = false)
            : base(clock, new True(), initialState)
        {
            Inputs = new[] { j, k };
        }
예제 #8
0
 // J = Inputs[0], K = Inputs[1]
 public JKFlipFlop(Clock clock, IInputsOutput j, IInputsOutput k, bool initialState = false)
     : base(clock, new True(), initialState)
 {
     Inputs = new[] { j, k };
 }
예제 #9
0
 public Wire(IInputsOutput input)
 {
     Inputs = new[] { input };
 }
예제 #10
0
 public Inverter(IInputsOutput input)
     : base(input)
 {
 }
예제 #11
0
 public static ulong Next(IInputsOutput obj)
 {
     ulong itemId = id++;
     Items.Add(itemId, obj);
     return id++;
 }
예제 #12
0
 protected Gate1(IInputsOutput input)
 {
     Inputs = new[] { input };
 }
예제 #13
0
 protected Gate1()
 {
     Inputs = new IInputsOutput[1];
 }
예제 #14
0
 public Wire(IInputsOutput input)
 {
     Inputs = new[] { input };
 }