public void TraceToVCD(string outputFileName)
        {
            Console.WriteLine($"Tracing to: {outputFileName}");
            RecursiveCreateTargetDirectory(Path.GetDirectoryName(outputFileName));

            _vcdBuilder       = new VCDBuilder(outputFileName);
            _topLevelSnapshot = new VCDSignalsSnapshot("TOP");
            _simulatorContext.ControlScope = _topLevelSnapshot.Scope("Control");
            _simulatorContext.ClockSignal  = _simulatorContext.ControlScope.Add(new VCDVariable("Clock", true, 1));

            _topLevel.PopulateSnapshot(_topLevelSnapshot);
            _vcdBuilder.Init(_topLevelSnapshot);
        }
        public void Test()
        {
            var vcd      = new VCDBuilder(@"C:\tmp\1.vcd");
            var topScope = new VCDSignalsSnapshot("TOP");

            topScope.Add(new VCDVariable("data", (byte)0, 1));

            var childScope = topScope.Scope("ChildScope1");
            var signal1    = childScope.Add(new VCDVariable("Signal1", true, 1));
            var signal2    = childScope.Add(new VCDVariable("Signal2", "Value", 1));

            vcd.Init(topScope);

            signal1.Value = false;
            signal2.Value = "NewValue";
            vcd.Snapshot(10, topScope);
            vcd.Snapshot(20, null);
        }
        public void Test()
        {
            if (!Debugger.IsAttached)
            {
                Assert.Inconclusive("Run under debugger");
            }

            var vcd      = new VCDBuilder(@"C:\tmp\1.vcd");
            var topScope = new VCDSignalsSnapshot("TOP");

            topScope.Add(new VCDVariable("data", (byte)0, 1));

            var childScope = topScope.Scope("ChildScope1");
            var signal1    = childScope.Add(new VCDVariable("Signal1", true, 1));
            var signal2    = childScope.Add(new VCDVariable("Signal2", "Value", 1));

            vcd.Init(topScope);

            signal1.Value = false;
            signal2.Value = "NewValue";
            vcd.Snapshot(10, topScope);
            vcd.Snapshot(20, null);
        }
        public void Trace(string outputFileName)
        {
            RecursiveCreateTargetDirectory(Path.GetDirectoryName(outputFileName));

            _vcdBuilder = new VCDBuilder(outputFileName);
        }