Ejemplo n.º 1
0
        private bool CheckDup(RegisterEntry new_entry)
        {
            int    addr_new = new_entry.GetAddress();
            string name_new = new_entry.GetName();

            foreach (RegisterEntry item in RegList)
            {
                if (item.GetIsComment() || item == new_entry)
                {
                    continue;
                }
                if (item.GetName().Equals(name_new))
                {
                    new_entry.SetReason("Name " + name_new + " is already in the list at address " + item.GetAddress().ToString());
                    new_entry.SetValid(false);
                    return(false);
                }
                if (item.GetAddress() == addr_new)
                {
                    new_entry.SetReason("Address " + addr_new + " is already in the list at register " + item.GetName());
                    new_entry.SetValid(false);
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 2
0
        public static bool ValidEntry(RegisterEntry entry)
        {
            if (entry.GetIsComment())
            {
                return(true);
            }
            bool b = true;

            if (!entry.IsValidAddress())
            {
                entry.SetReason("The register " + entry.GetName() + " has invalid address: " + entry.GetAddress());
                entry.SetValid(false);
                b = false;
            }
            if (!entry.IsValidMAIS())
            {
                entry.SetReason("The register " + entry.GetName() + " has invalid MAIS field: " + entry.GetMAIS());
                entry.SetValid(false);
                b = false;
            }
            if (!entry.IsValidLSB())
            {
                entry.SetReason("The register " + entry.GetName() + "(" + entry.GetAddress() + ") has LSB out of range [0, 32)");
                entry.SetValid(false);
                b = false;
            }
            if (!entry.IsValidLSB())
            {
                entry.SetReason("The register " + entry.GetName() + "(" + entry.GetAddress() + ") has MSB out of range [0, 32)");
                entry.SetValid(false);
                b = false;
            }
            if (!entry.IsValidLsbMsb())
            {
                entry.SetReason("The register " + entry.GetName() + "(" + entry.GetAddress() + ") has MSB < LSB");
                entry.SetValid(false);
                b = false;
            }
            return(b);
        }