{
  "schema": "semiagora.floorplan-congestion-ir-drop-clock-spine.v1",
  "version": "2026-08-22-v84",
  "experiment_id": "SA-EDA-FLOORPLAN-001",
  "title": "Floorplan congestion, IR-drop, and clock-spine report-literacy replay",
  "execution_mode": "precomputed_browser_csv_replay_only",
  "summary": "An original SemiAgora proxy map for learning how floorplan utilization, macro strategy, PDN intent, clock topology, and report stage reshape congestion, IR-drop, CTS, and STA-risk evidence before a layout claim is reused.",
  "counts": {
    "rows": 4096,
    "floorplan_profiles": 4,
    "macro_strategies": 4,
    "utilization_bins": 4,
    "pdn_strategies": 4,
    "clock_topologies": 4,
    "report_stages": 4,
    "source_anchors": 11,
    "liveServerRuns": 0
  },
  "decision_gate_counts": {
    "candidate_report_review": 1075,
    "cts_skew_review": 468,
    "floorplan_reference_case": 4,
    "global_route_overflow_review": 25,
    "overutilization_congestion_review": 1648,
    "pdn_ir_drop_review": 44,
    "macro_channel_routing_review": 832
  },
  "averages": {
    "congestion_by_profile": [
      {
        "floorplan_profile": "balanced_rectangular_core",
        "label": "Balanced rectangular core",
        "routability_rudy_proxy": "0.405"
      },
      {
        "floorplan_profile": "high_utilization_dense_core",
        "label": "High-utilization dense core",
        "routability_rudy_proxy": "0.478"
      },
      {
        "floorplan_profile": "macro_channel_constrained",
        "label": "Macro-channel constrained",
        "routability_rudy_proxy": "0.560"
      },
      {
        "floorplan_profile": "elongated_clock_spine",
        "label": "Elongated clock-spine core",
        "routability_rudy_proxy": "0.569"
      }
    ],
    "ir_drop_by_profile": [
      {
        "floorplan_profile": "balanced_rectangular_core",
        "label": "Balanced rectangular core",
        "ir_drop_risk_proxy": "0.280"
      },
      {
        "floorplan_profile": "high_utilization_dense_core",
        "label": "High-utilization dense core",
        "ir_drop_risk_proxy": "0.295"
      },
      {
        "floorplan_profile": "macro_channel_constrained",
        "label": "Macro-channel constrained",
        "ir_drop_risk_proxy": "0.319"
      },
      {
        "floorplan_profile": "elongated_clock_spine",
        "label": "Elongated clock-spine core",
        "ir_drop_risk_proxy": "0.297"
      }
    ],
    "skew_by_profile": [
      {
        "floorplan_profile": "balanced_rectangular_core",
        "label": "Balanced rectangular core",
        "skew_risk_proxy": "0.268"
      },
      {
        "floorplan_profile": "high_utilization_dense_core",
        "label": "High-utilization dense core",
        "skew_risk_proxy": "0.281"
      },
      {
        "floorplan_profile": "macro_channel_constrained",
        "label": "Macro-channel constrained",
        "skew_risk_proxy": "0.328"
      },
      {
        "floorplan_profile": "elongated_clock_spine",
        "label": "Elongated clock-spine core",
        "skew_risk_proxy": "0.370"
      }
    ],
    "slack_risk_by_profile": [
      {
        "floorplan_profile": "balanced_rectangular_core",
        "label": "Balanced rectangular core",
        "timing_slack_risk_proxy": "0.371"
      },
      {
        "floorplan_profile": "high_utilization_dense_core",
        "label": "High-utilization dense core",
        "timing_slack_risk_proxy": "0.417"
      },
      {
        "floorplan_profile": "macro_channel_constrained",
        "label": "Macro-channel constrained",
        "timing_slack_risk_proxy": "0.469"
      },
      {
        "floorplan_profile": "elongated_clock_spine",
        "label": "Elongated clock-spine core",
        "timing_slack_risk_proxy": "0.481"
      }
    ]
  },
  "top_safe_candidates": [
    {
      "case_id": "FLOORPLAN_0017",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "balanced_mesh",
      "clock_topology": "simple_buffer_tree",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.916",
      "power_grid_review_score": "0.851",
      "timing_slack_risk_proxy": "0.114",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0021",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "balanced_mesh",
      "clock_topology": "macro_aware_tree",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.914",
      "power_grid_review_score": "0.851",
      "timing_slack_risk_proxy": "0.113",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0033",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "simple_buffer_tree",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.910",
      "power_grid_review_score": "0.855",
      "timing_slack_risk_proxy": "0.117",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0037",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "macro_aware_tree",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.908",
      "power_grid_review_score": "0.855",
      "timing_slack_risk_proxy": "0.116",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0025",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "balanced_mesh",
      "clock_topology": "h_tree_spine",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.910",
      "power_grid_review_score": "0.851",
      "timing_slack_risk_proxy": "0.117",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0049",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "simple_buffer_tree",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.904",
      "power_grid_review_score": "0.856",
      "timing_slack_risk_proxy": "0.121",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0029",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "balanced_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.908",
      "power_grid_review_score": "0.851",
      "timing_slack_risk_proxy": "0.119",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0041",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "h_tree_spine",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.904",
      "power_grid_review_score": "0.855",
      "timing_slack_risk_proxy": "0.120",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0053",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "macro_aware_tree",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.902",
      "power_grid_review_score": "0.856",
      "timing_slack_risk_proxy": "0.120",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0045",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.902",
      "power_grid_review_score": "0.855",
      "timing_slack_risk_proxy": "0.122",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0057",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "h_tree_spine",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.898",
      "power_grid_review_score": "0.856",
      "timing_slack_risk_proxy": "0.124",
      "decision_gate": "candidate_report_review"
    },
    {
      "case_id": "FLOORPLAN_0061",
      "floorplan_profile": "balanced_rectangular_core",
      "macro_strategy": "logic_only_no_macro",
      "utilization_bin": "conservative_45",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "floorplan_estimate",
      "congestion_review_score": "0.896",
      "power_grid_review_score": "0.856",
      "timing_slack_risk_proxy": "0.126",
      "decision_gate": "candidate_report_review"
    }
  ],
  "high_risk_slices": [
    {
      "case_id": "FLOORPLAN_3840",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "central_macro_island",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "1.000",
      "ir_drop_risk_proxy": "0.423",
      "skew_risk_proxy": "0.524",
      "timing_slack_risk_proxy": "0.864",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_4096",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "distributed_macro_channels",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "1.000",
      "ir_drop_risk_proxy": "0.409",
      "skew_risk_proxy": "0.518",
      "timing_slack_risk_proxy": "0.863",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3824",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "central_macro_island",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.973",
      "ir_drop_risk_proxy": "0.457",
      "skew_risk_proxy": "0.524",
      "timing_slack_risk_proxy": "0.858",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3584",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "edge_aligned_macros",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.984",
      "ir_drop_risk_proxy": "0.386",
      "skew_risk_proxy": "0.506",
      "timing_slack_risk_proxy": "0.857",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3836",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "central_macro_island",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "h_tree_spine",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.997",
      "ir_drop_risk_proxy": "0.423",
      "skew_risk_proxy": "0.571",
      "timing_slack_risk_proxy": "0.856",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_4080",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "distributed_macro_channels",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.973",
      "ir_drop_risk_proxy": "0.444",
      "skew_risk_proxy": "0.518",
      "timing_slack_risk_proxy": "0.856",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_4092",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "distributed_macro_channels",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "h_tree_spine",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.997",
      "ir_drop_risk_proxy": "0.409",
      "skew_risk_proxy": "0.563",
      "timing_slack_risk_proxy": "0.854",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_2816",
      "floorplan_profile": "macro_channel_constrained",
      "macro_strategy": "central_macro_island",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "1.000",
      "ir_drop_risk_proxy": "0.452",
      "skew_risk_proxy": "0.469",
      "timing_slack_risk_proxy": "0.848",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3808",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "central_macro_island",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "balanced_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.936",
      "ir_drop_risk_proxy": "0.523",
      "skew_risk_proxy": "0.524",
      "timing_slack_risk_proxy": "0.848",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3820",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "central_macro_island",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "h_tree_spine",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.961",
      "ir_drop_risk_proxy": "0.457",
      "skew_risk_proxy": "0.571",
      "timing_slack_risk_proxy": "0.848",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_4064",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "distributed_macro_channels",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "balanced_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.936",
      "ir_drop_risk_proxy": "0.508",
      "skew_risk_proxy": "0.518",
      "timing_slack_risk_proxy": "0.846",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_4076",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "distributed_macro_channels",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "h_tree_spine",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.961",
      "ir_drop_risk_proxy": "0.444",
      "skew_risk_proxy": "0.563",
      "timing_slack_risk_proxy": "0.846",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3568",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "edge_aligned_macros",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "macro_ring_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.948",
      "ir_drop_risk_proxy": "0.423",
      "skew_risk_proxy": "0.506",
      "timing_slack_risk_proxy": "0.845",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3580",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "edge_aligned_macros",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "h_tree_spine",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.972",
      "ir_drop_risk_proxy": "0.386",
      "skew_risk_proxy": "0.550",
      "timing_slack_risk_proxy": "0.845",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3828",
      "floorplan_profile": "elongated_clock_spine",
      "macro_strategy": "central_macro_island",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "simple_buffer_tree",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.961",
      "ir_drop_risk_proxy": "0.423",
      "skew_risk_proxy": "0.746",
      "timing_slack_risk_proxy": "0.845",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    },
    {
      "case_id": "FLOORPLAN_3072",
      "floorplan_profile": "macro_channel_constrained",
      "macro_strategy": "distributed_macro_channels",
      "utilization_bin": "overpacked_82",
      "pdn_strategy": "dense_mesh",
      "clock_topology": "spine_with_local_balancing",
      "report_stage": "post_global_route",
      "routability_rudy_proxy": "0.999",
      "ir_drop_risk_proxy": "0.438",
      "skew_risk_proxy": "0.456",
      "timing_slack_risk_proxy": "0.843",
      "next_safe_check": "Lower utilization, revisit aspect ratio, or inspect placement overflow before trusting routing or timing."
    }
  ],
  "role_views": [
    {
      "role": "Physical planner",
      "inspect": [
        "core_utilization_pct",
        "aspect_ratio",
        "macro_blockage_index",
        "channel_narrowness_index",
        "placement_overflow_proxy"
      ],
      "decision": "Decide whether die/core size, utilization, macro halo/channel assumptions, and global-placement overflow can support the next report."
    },
    {
      "role": "PDN / power integrity engineer",
      "inspect": [
        "pdn_strategy",
        "pdn_obstruction_index",
        "ir_drop_risk_proxy",
        "current_density_risk_proxy",
        "power_grid_review_score"
      ],
      "decision": "Read PDN grid and IR/current-density evidence before timing or product language."
    },
    {
      "role": "CTS / timing engineer",
      "inspect": [
        "clock_topology",
        "clock_sink_spread_index",
        "cts_buffer_pressure",
        "skew_risk_proxy",
        "insertion_delay_proxy",
        "timing_slack_risk_proxy"
      ],
      "decision": "Keep clock-tree structure, sink distribution, buffer count, skew, insertion, and STA risk together."
    },
    {
      "role": "Routing / report reviewer",
      "inspect": [
        "routability_rudy_proxy",
        "global_route_overflow_proxy",
        "report_stage",
        "decision_gate",
        "next_safe_check"
      ],
      "decision": "Route the next evidence check to placement, macro channel, PDN, CTS, global-routing, or owned-report review."
    }
  ],
  "public_boundary": [
    "No DEF, GDS, LEF, SPEF, SDC, Liberty, routed database, proprietary report, or user design upload is accepted or parsed.",
    "No live OpenROAD, OpenLane, OpenSTA, Magic, Netgen, PEX, field-solver, SPICE, or signoff server job is run by the public page.",
    "No PDK, rule deck, standard-cell library, timing library, extraction technology, or NDA material is redistributed.",
    "Rows are normalized synthetic teaching proxies for report literacy, not timing closure, tapeout readiness, IR-drop signoff, or routing guidance."
  ],
  "files": {
    "csv": "/data/floorplan-congestion-ir-drop-clock-spine-replay-v84.csv",
    "json": "/data/floorplan-congestion-ir-drop-clock-spine-replay-web-v1.json",
    "model_card": "/data/floorplan-congestion-ir-drop-clock-spine-replay-model-card-v1.md"
  },
  "sources": [
    {
      "label": "OpenROAD Flow Scripts tutorial",
      "url": "https://openroad-flow-scripts.readthedocs.io/en/latest/tutorials/FlowTutorial.html",
      "note": "Official tutorial source for public OpenROAD flow vocabulary and staged implementation context."
    },
    {
      "label": "OpenROAD initialize floorplan",
      "url": "https://openroad.readthedocs.io/en/latest/main/src/ifp/README.html",
      "note": "Official source for die/core area, utilization, aspect ratio, site, row, and track floorplan vocabulary."
    },
    {
      "label": "OpenROAD hierarchical macro placement",
      "url": "https://openroad.readthedocs.io/en/latest/main/src/mpl/README.html",
      "note": "Official source for macro placement, halo, channel, target utilization, and report-directory vocabulary."
    },
    {
      "label": "OpenROAD global placement",
      "url": "https://openroad.readthedocs.io/en/latest/main/src/gpl/README.html",
      "note": "Official source for routability-driven placement, RUDY congestion estimation, overflow, and timing-driven placement vocabulary."
    },
    {
      "label": "OpenROAD global routing",
      "url": "https://openroad.readthedocs.io/en/latest/main/src/grt/README.html",
      "note": "Official source for FastRoute-based global routing, congestion reports, routing-layer controls, and overflow vocabulary."
    },
    {
      "label": "OpenROAD PDN generation",
      "url": "https://openroad.readthedocs.io/en/latest/main/src/pdn/README.html",
      "note": "Official source for PDN grid, voltage domain, rings, stripes, layers, spacing, width, and connection vocabulary."
    },
    {
      "label": "OpenROAD IR-drop analysis",
      "url": "https://openroad.readthedocs.io/en/latest/main/src/psm/README.html",
      "note": "Official source for PDNSim-based IR-drop, current-density, and floating-PDN-stripe report vocabulary."
    },
    {
      "label": "OpenROAD clock tree synthesis",
      "url": "https://openroad.readthedocs.io/en/latest/main/src/cts/README.html",
      "note": "Official source for TritonCTS, sink clustering, macro clustering, buffers, subnets, skew, and insertion vocabulary."
    },
    {
      "label": "OpenROAD STA",
      "url": "https://openroad.readthedocs.io/en/latest/main/src/sta/README.html",
      "note": "Official source for OpenSTA timing report, SDC, SPEF, Liberty, VCD/SAIF, and constraint vocabulary."
    },
    {
      "label": "OpenROAD Flow variables",
      "url": "https://openroad-flow-scripts.readthedocs.io/en/latest/user/FlowVariables.html",
      "note": "Official source for configuration-variable caution: small flow-variable changes can move QoR strongly."
    },
    {
      "label": "OpenLane 2 step configuration variables",
      "url": "https://openlane2.readthedocs.io/en/latest/reference/step_config_vars.html",
      "note": "Official source for open flow step, metric, checker, and report vocabulary without copying any design collateral."
    }
  ]
}
