public void LoadDevices(DeviceManager manager)
{
foreach (ToolchainReference reference in manager.CachedToolchains)
{
if (reference.Match(this))
{
// Already Loaded
Logger.Instance.WriteDebug("DeviceManager has already cached device information for toolchain ('{0}')", this.Version);
return;
}
}
manager.CachedToolchains.Add(new ToolchainReference(this));
// Toolchain has not been loaded
Logger.Instance.WriteDebug("Loading device information for toolchain ('{0}')", Version);
DeviceManufacture xilinx = manager.CreateManufacture("Xilinx");
Logger.Instance.WriteVerbose("Loading Xilinx {0} Part Library (this may take several minutes)", Version);
foreach (string family in XilinxPartGen.LoadFamilyList())
{
Logger.Instance.WriteDebug("Loading Xilinx Part for the '{0}' family", family);
xilinx.Families.Add(XilinxPartGen.LoadFamily(this, xilinx, family));
}
manager.Save();
}