Context
During PE_INT integration, we found that hierarchical PyCircuit flows may need access to the compiled hierarchical Design object produced by CycleAwareCircuit.
Today this object is stored in the private _v5_design field. Downstream code and CLI/build integration can technically read that field, but doing so creates a dependency on a private implementation detail.
Request
Please expose a stable public accessor for the hierarchical design, for example:
CycleAwareCircuit.hierarchical_design
Expected behavior:
- Returns the compiled hierarchical
Design object when hierarchical compilation is enabled and available.
- Returns
None or another explicit documented value when no hierarchical design is available.
- Allows CLI/build code and downstream designs to avoid private
_v5_design access.
Motivation
This would make hierarchical PyCircuit integration more robust and easier to audit. It also helps downstream designs keep a clean public-API boundary instead of relying on framework internals.
Related cleanup
This came up while removing private API usage from the PE_INT design flow.
Context
During PE_INT integration, we found that hierarchical PyCircuit flows may need access to the compiled hierarchical
Designobject produced byCycleAwareCircuit.Today this object is stored in the private
_v5_designfield. Downstream code and CLI/build integration can technically read that field, but doing so creates a dependency on a private implementation detail.Request
Please expose a stable public accessor for the hierarchical design, for example:
Expected behavior:
Designobject when hierarchical compilation is enabled and available.Noneor another explicit documented value when no hierarchical design is available._v5_designaccess.Motivation
This would make hierarchical PyCircuit integration more robust and easier to audit. It also helps downstream designs keep a clean public-API boundary instead of relying on framework internals.
Related cleanup
This came up while removing private API usage from the PE_INT design flow.