How umn-eda/composer works
COmPOSER automates RF/mm-wave circuit design from specifications and a netlist through sizing, primitive selection or generation, placement, signal routing, power-grid routing, and final GDS assembly. The graph emphasizes the documented PDN-enabled flow and preserves the modular passive-optimization and legacy power-grid capabilities. The routing driver and router entry point are sampled; several other stages are represented from README descriptions, so their internal wiring is shown only where documented.
Main entry points: perform_routing_with_pdn.py PDN routing flow · perform_initial_sizing.py Initial sizing · parse_netlist.py Netlist parsing · perform_placement.py Placement
Components 19
Circuit design
- Initial sizing
perform_initial_sizing.py - LNA sizer
lna_stage_1_sizer.py - PA sizer
pa_stage_1_sizer.py - Sized netlist mapping
map_initial_size_to_netlist.py - Netlist parsing
parse_netlist.py
Primitive design
- Passive optimization
PRIMITIVE_OPTIMIZERS - Primitive generation
PRIMITIVE_GENERATORS
Physical implementation
- Placement
perform_placement.py - Routing input conversion
generate_routing_inputs.py - PDN routing flow
perform_routing_with_pdn.py - Signal router
ROUTER/hanan_router/src/main.cpp - Power-grid generation
perform_power_grid_with_pdn_routing.py - PDN router
ROUTER/pdn_router - Legacy grid flow
perform_power_grid_multi_level.py - Alternate stripe grid
perform_power_grid_alternate_stripes.py
Layout assembly
- Signal-route GDS
utils/gen_rt_hier_gds.py - Final GDS assembly
utils/gen_pdn_rt_gds.py
Other components
- Designer
- Targets + netlist
Connections 25
- Designer → Targets + netlist: provides targets
- Targets + netlist → Initial sizing: sizes design
- Initial sizing → LNA sizer: runs LNA sizing
- Initial sizing → PA sizer: runs PA sizing
- Initial sizing → Sized netlist mapping: maps sizing results
- Sized netlist mapping → Netlist parsing: supplies sized netlist
- Netlist parsing → Passive optimization: selects passive geometry
- Netlist parsing → Primitive generation: generates layouts
- Netlist parsing → Placement: supplies design JSON
- Passive optimization → Primitive generation: provides geometry
- Primitive generation → Placement: provides primitives
- Placement → Routing input conversion: provides primitive GDS
- Placement → PDN routing flow: provides placement
- Routing input conversion → PDN routing flow: provides primitive LEF
- PDN routing flow → Signal router: dispatches signal routing
- PDN routing flow → Signal-route GDS: dispatches GDS assembly
- PDN routing flow → Power-grid generation: dispatches grid generation
- PDN routing flow → PDN router: dispatches PDN routing
- PDN routing flow → Final GDS assembly: dispatches final assembly
- PDN routing flow → Legacy grid flow: uses legacy path
- PDN routing flow → Alternate stripe grid: supports alternate grid
- Signal router → Signal-route GDS: writes route data
- Signal-route GDS → Power-grid generation: supplies routed GDS
- Power-grid generation → PDN router: supplies grid inputs
- PDN router → Final GDS assembly: writes PDN routes