Examples

Examples

The repo includes LNA_1 to LNA_4 and PA_1 to PA_3. These examples match the LNA and PA evaluation designs, so the directories are the right starting points for real usage.

Common Files

FileMeaning
config.jsonMain user control file for the full flow
<design>.spUnsized input netlist provided by the user
<design>_optimized.spSized netlist generated after stage 1 mapping
lna_stage_1_config.json or pa_stage_1_config.jsonDesign-class-specific stage 1 constants
stage_1_map.jsonMapping from stage 1 design output to netlist annotations
net_weights.jsonNet and branch priority file for RF-critical paths
placement_constraint.jsonPlacement constraint file
router_constraints.jsonRouting priority and layer-control file

Generated Output Directory

Each example includes a generated directory such as lna_1/ or pa_1/. That directory contains:

  • stage_1/: best design JSON and sweep CSV
  • stage_2/: generated primitive GDS plus design and net JSON
  • stage_3/placement/: placement JSON and GDS
  • stage_3/routing/: LEFs, DEF, route logs, routed GDS
  • stage_3/pdn/: final GDS after PDN insertion

File Meaning Summary

  • config.json: the top-level interface between the user and the framework
  • .sp: the user-provided initial netlist
  • _optimized.sp: the hybrid-optimizer sized netlist used by parsing
  • stage_1_map.json: maps hybrid-optimizer output keys to actual netlist instance values
  • placement_constraint.json: place halo, symmetry, matching, or keepouts here
  • router_constraints.json: place net order, width, and layer priorities here

Connected-PDN Examples

All seven examples enable connected-PDN routing directly in their existing config.json. Run any example through composer.sh; outputs under <project>/stage_3/pdn/ include the grid GDS, augmented placement JSON, augmented primitive LEF, PDN router constraints, routing DEF/log, and hierarchical final GDS.

LNA_1 through LNA_3 use net3; LNA_4 uses net3 and net33; PA_1 uses net29 and net12; PA_2 and PA_3 use net26, net12, net29, and net17. All currently use gnd_nets: ["gnd"] and three decaps. The decap supply and return are explicitly selected by decap_vdd_net and decap_gnd_net.