Esempio n. 1
0
        public void ConnectTo_SmallerSource_ThrowsException()
        {
            var busWidth = 8;
            var source   = new Bus(4);
            var uut      = new BusTap(busWidth);

            Action test = () => uut.ConnectTo(source);

            test.ShouldThrow <ArgumentException>();
        }
Esempio n. 2
0
        public void ConnectTo_BiggerSource_MaintainsBusWidth()
        {
            var busWidth = 8;
            var source   = new Bus <BusData16>();
            var uut      = new BusTap(busWidth);

            uut.ConnectTo(source);

            uut.Signals.Should().HaveCount(busWidth);
        }
Esempio n. 3
0
        public void TestInitialize()
        {
            var builder   = CreateModelBuilder(HelloWorldBin);
            var ioAddress = new BusTap(8);

            ioAddress.ConnectTo(builder.Model.Address);
            builder.AddOutputPort(ioAddress, builder.Model.Data, 0x20, "ConsoleOut");

            builder.AddLogicAnalyzer(false);
            builder.Model.LogicAnalyzer.ConnectInput(
                builder.Model.OutputPorts.Values.First().PortEnable.DigitalSignal);
            builder.Model.LogicAnalyzer.Start();

            _model = builder.Model;
        }
Esempio n. 4
0
        public void ConnectTo_ChangeSource_BusValueCorrect()
        {
            var busWidth = 8;
            var source   = new Bus <BusData16>();
            var uut      = new BusTap(busWidth);

            uut.ConnectTo(source);

            var driver = new BusMaster(source);

            driver.IsEnabled = true;
            driver.Write(new BusData16(0xAA55));

            uut.Value.ToUInt32().Should().Be(0x55);
        }
Esempio n. 5
0
        public void ConnectTo_ChangeSource_EventFires()
        {
            var busWidth = 8;
            var source   = new Bus <BusData16>();
            var uut      = new BusTap(busWidth);

            uut.ConnectTo(source);
            uut.MonitorEvents();

            var driver = new BusMaster(source);

            driver.IsEnabled = true;
            driver.Write(new BusData16(0xAA55));

            uut.ShouldRaise("OnChanged");
        }