コード例 #1
0
ファイル: FlowMatrix.cs プロジェクト: cephdon/systemsharp
        /// <summary>
        /// Replaces any don't-care symbol with the high-impedance symbol.
        /// </summary>
        public void ReplaceDontCaresByTriStates()
        {
            var allGraphs = _graphs.Concat(Enumerable.Repeat(_neutral, 1));

            foreach (FlowGraph g in allGraphs)
            {
                var pflow = g.ToFlow();
                foreach (Flow flow in pflow.Flows)
                {
                    if (IsDontCareFlow(flow))
                    {
                        var oflow = flow as ValueFlow;
                        var slv   = (StdLogicVector)oflow.Value;
                        var zslv  = StdLogicVector.Zs(slv.Size);
                        var nflow = new ValueFlow(zslv, flow.Target);
                        g.Add(nflow);
                    }
                }
            }
        }