Make `wire_load_tree_` default to unknown so we can detect when it's not present in a Liberty file. (#402)

This is potentially a behavior change, but I think omitting this is rare. I've only seen it in some DTCD Liberty files.
In those Liberty libraries, it seems to be expected that the Liberty data is valid for all `WireloadTree` types.
Thus it is necessary to distinguish between "wire load tree was specified as 'balanced'" and "wire load tree
was not specified".
This commit is contained in:
Robert O'Callahan 2026-03-25 08:35:18 +13:00 committed by GitHub
parent c38762185c
commit d233581e16
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 2 additions and 2 deletions

View File

@ -3042,7 +3042,7 @@ OperatingConditions::OperatingConditions(const char *name) :
Pvt(0.0, 0.0, 0.0),
name_(name),
// Default wireload tree.
wire_load_tree_(WireloadTree::balanced)
wire_load_tree_(WireloadTree::unknown)
{
}

View File

@ -257,12 +257,12 @@ Parasitics::makeWireloadNetwork(const Pin *drvr_pin,
makeWireloadNetworkWorst(parasitic, drvr_pin, net, wireload_cap,
wireload_res, fanout);
break;
case WireloadTree::unknown:
case WireloadTree::balanced:
makeWireloadNetworkBalanced(parasitic, drvr_pin, wireload_cap, wireload_res,
fanout);
break;
case WireloadTree::best_case:
case WireloadTree::unknown:
makeWireloadNetworkBest(parasitic, drvr_pin, wireload_cap, wireload_res,
fanout);
break;