private static void Main(string[] args) { //string file = args.Length == 0 ? "test" : args[0]; string file = args.Length == 0 ? "lut_00FE" : args[0]; _mainNet = new Mnet(); _mainNet.ReadMnetFile(file + @".MNET"); var portsRep = new List<Cpoint>(); List<Node> luts = _mainNet.GetLuts(); var lutsMnet = new List<Mnet>(); var bl = new Blib(); bl.Load("MNETLib.BinLib"); //"MNETLib.BinLib" foreach (Node node in luts) { var lnet = new Mnet(); node.HaveCout = СheckCout(node, _mainNet.Wires); lnet.ReadMnetFileBl(@"lut_" + node.GetLutKey() + ".MNET", bl); if (!node.HaveCout) { lutsMnet.Add(lnet); } else { var lnetC = new Mnet(); lnetC.ReadMnetFileBl(@"lutc_" + node.GetLutKey().Substring(2, 2) + ".MNET", bl); Mnet combined = MnetComb(lnet, lnetC); lutsMnet.Add(combined); } } RenameLutNodes(lutsMnet); RemoveLutFromMainNet(_mainNet, luts); ReplacePortsByCpoints(portsRep, lutsMnet, luts); RpeplaceWireToCpoints(portsRep); CombineAllWiresAndNodes(lutsMnet); //remove unused Wire _mainNet.Wires.Remove(_mainNet.Wires.FirstOrDefault(t => t.DistPort == "dataa")); _mainNet.Wires.Remove(_mainNet.Wires.FirstOrDefault(t => t.DistPort == "datab")); _mainNet.Wires.Remove(_mainNet.Wires.FirstOrDefault(t => t.DistPort == "datac")); _mainNet.Wires.Remove(_mainNet.Wires.FirstOrDefault(t => t.DistPort == "datad")); string exportStr = _mainNet.GetSting(); File.WriteAllText(file + @"_D.MNET", exportStr); }