Ejemplo n.º 1
0
        private void m_btnPrintWrapperInstantiation_Click(object sender, EventArgs e)
        {
            PrintVHDLWrapperInstantiation printCmd = new PrintVHDLWrapperInstantiation();

            printCmd.Append              = m_fileSelVHDLWrapperInstantiation.Append;
            printCmd.CreateBackupFile    = true;
            printCmd.EntityName          = m_txtEntityName.Text;
            printCmd.FileName            = m_fileSelVHDLWrapperInstantiation.FileName;
            printCmd.InstantiationFilter = m_libElInstSelector.InstanceFilter;

            Commands.CommandExecuter.Instance.Execute(printCmd);
        }
Ejemplo n.º 2
0
        private List <Command> GetCommandsForStaticSystem()
        {
            List <Command> cmds = new List <Command>();

            cmds.AddRange(GetSelectAreaCommands());

            // i/o
            foreach (FPGATypes.InterfaceDirection direction in Enum.GetValues(typeof(FPGATypes.InterfaceDirection)))
            {
                // how many columns of connection macros will we instantiate?
                IEnumerable <Signal> signals = Objects.InterfaceManager.Instance.Signals.Where(s => s.SignalDirection.Equals(direction) && s.PartialRegion.Equals(IslandName) && (s.SignalMode.Equals("in") || s.SignalMode.Equals("out")));
                int ioColumns = 1;
                if (signals.Any())
                {
                    ioColumns = 1 + signals.Max(s => s.Column);
                    List <Command> placementCommands = GetPlacementCommands(direction, ConnectionPrimitiveName, IslandName + "_" + direction + "_", ioColumns, 4);

                    cmds.AddRange(GetTunnelCommands(direction, placementCommands));
                    cmds.AddRange(placementCommands);
                }
            }

            PrintVHDLWrapper printCmd = new PrintVHDLWrapper();

            printCmd.InstantiationFilter = "^" + IslandName;
            printCmd.EntityName          = IslandName;
            printCmd.FileName            = VHDLWrapper;
            printCmd.Append           = false;
            printCmd.CreateBackupFile = true;
            cmds.Add(printCmd);

            string instantiationTemplate = Path.GetDirectoryName(VHDLWrapper) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(VHDLWrapper) + "_instantation" + Path.GetExtension(VHDLWrapper);
            PrintVHDLWrapperInstantiation printInstCmd = new PrintVHDLWrapperInstantiation();

            printInstCmd.InstantiationFilter = "^" + IslandName;
            printInstCmd.EntityName          = IslandName;
            printInstCmd.FileName            = instantiationTemplate;
            printInstCmd.Append           = false;
            printInstCmd.CreateBackupFile = true;
            cmds.Add(printInstCmd);

            cmds.AddRange(GetProhibitAndLocationConstraints("inst_" + IslandName + "/"));
            cmds.AddRange(GetBlockCommands());

            return(cmds);
        }