EDA Place-and-Route Simulator

Model whether a block routes clean and closes timing — then run it: the simulation executes on the ChipFoundryServices distributed compute pool. Place-and-route turns a netlist into geometry, and two forces fight over the floorplan. Wirelength follows Rent's rule: the average net grows as ⟨L⟩ ∝ N(p−0.5) with the Rent exponent p and the standard-cell pitch, so a bigger, more-connected design has longer wires. Routing congestion is the ratio of that demand to the track supply the metal stack provides — supply ∝ (core area / pitch) × signal layers — and when demand approaches supply the router detours. Timing walks a logic + interconnect critical path; denser packing shortens wires and helps timing until congestion forces detours and it turns around, so there is a density sweet spot. The node sweeps placement utilization and returns the congestion, the maximum clock frequency Fmax, the timing slack and the dominant limiter — the same wirelength, metal-layer and routing-pitch trade-offs that decide whether a block tapes out at the datacenter, GPU-block and congested corners. Reduced-order educational model. See also the device reliability, transistor I-V, power & thermal, thermal, interconnect RC/EM, 6T SRAM, die-yield, 3D-parallelism, HBM bandwidth, systolic array, CMP planarization and lithography simulators and the compute-pool status.

Dense ASIC block GPU datapath · high-freq Congested corner
Routing congestion (demand / track supply) vs placement utilization. Congestion (green) climbs as cells pack tighter; total wirelength (blue) falls as wires shorten. The device is unroutable once congestion crosses the dashed 100 % overflow ceiling; the marker (●) is your current utilization
Left: Fmax vs utilization — denser packing shortens wires and raises Fmax until congestion detours pull it back down (the routing sweet spot); the dashed red line is your target clock and the marker is the current utilization. Right: the critical-path budget — logic and interconnect delay as a share of the clock period (100 % = timing fails)
Developer API — same simulation over HTTP (load-balanced across the pool):
curl -X POST https://www.chipfoundryservices.com/edge/placeroute \
  -H "Content-Type: application/json" \
  -d '{"instance_count_k":500,"avg_fanout":3,"rent_exponent":0.6,
       "utilization_target":70,"aspect_ratio":1.0,"metal_layers":10,
       "cell_area_um2":0.30,"clock_ghz":1.5,"routing_pitch_nm":80}'
Returns JSON with outputs (core_area_mm2, die_w_um, die_h_um, utilization_percent, total_instances, total_nets, avg_net_length_um, total_wirelength_m, routing_demand_m, routing_supply_m, congestion_percent, routing_overflow, signal_layers, logic_delay_ns, interconnect_delay_ns, critical_path_ns, fmax_ghz, required_period_ns, slack_ns, timing_met, detour_factor, dominant_limiter, verdict), the full profile (48-point cong_vs_util congestion sweep [util, congestion, wirelength_m] and 48-point fmax_vs_util timing sweep [util, fmax, slack, critical], plus clock_period_ns, clock_ghz, util, congestion_pct), the serving node, and compute_ms. Endpoint aliases /edge/pnr, /edge/placement, /edge/congestion, /edge/wirelength, /edge/eda, /edge/floorplan.