public void AddModCtrl(string moduleName, ModuleLayout modCtrl, FIRRTLNode[] modNodes, FIRRTLNode[] modNodesIncludeMod, FIRIO[] modIO) { lock (FIRNodeToModCtrl) { ModControllers.Add(modCtrl); foreach (var node in modNodes) { FIRNodeToModCtrl.Add(node, modCtrl); } } PlacementTemplates.SubscribeToTemplate(moduleName, modCtrl, modNodes); RouteTemplates.SubscribeToTemplate(moduleName, modCtrl, modNodesIncludeMod, modIO); }
public void SetCircuitSize(Point size, ModuleLayout rootModCtrl) { CircuitSize = size; RootModCtrl = rootModCtrl; OnCircuitSizeChanged?.Invoke(CircuitSize); }
internal bool TryGetRouteTemplate(string moduleName, ModuleLayout modLayout, out List <WirePath> wires) { return(RouteTemplates.TryGetTemplate(moduleName, modLayout, out wires)); }
internal bool TryGetPlaceTemplate(string moduleName, ModuleLayout modLayout, out PlacementInfo placement) { return(PlacementTemplates.TryGetTemplate(moduleName, modLayout, out placement)); }