@tscircuit/fanout-solver 0.0.61 → 0.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +22 -10
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -282,8 +282,8 @@ extents.
282
282
 
283
283
  ## Dataset 31 benchmark
284
284
 
285
- Run `./benchmark.sh` (or `bun run benchmark`) to benchmark **only the 12 AM62L
286
- directional cases** from
285
+ Run `./benchmark.sh` (or `bun run benchmark`) to benchmark **all 24 dataset 31
286
+ directional cases: 12 AM62L and 12 RK3308** from
287
287
  [`tscircuit/dataset-fanout31-am62l`](https://github.com/tscircuit/dataset-fanout31-am62l).
288
288
  The upstream revision is pinned in `scripts/generate-repro/package.json` and
289
289
  recorded in every report. Other datasets remain available for regression tests
@@ -293,14 +293,24 @@ and the debugger, but have no benchmark commands or workflows.
293
293
  ./benchmark.sh
294
294
  ./benchmark.sh --list
295
295
  ./benchmark.sh --sample 11-left-center
296
+ ./benchmark.sh --sample 13-rk3308-top-left-offset
296
297
  ./benchmark.sh --concurrency 8 --sample-timeout-seconds 300
297
298
  ```
298
299
 
299
300
  Before timing the solver, the benchmark renders the selected upstream TSX/core
300
301
  circuits and captures their exact fanout-solver constructor inputs into
301
- `benchmark-results/inputs/<sample-id>.json`. Each case retains all 135 AM62L
302
- connections, 573 pad obstacles, nine DDR buses, 102 plane drops, and the original
303
- clearance, differential-pair, and length-skew constraints. The timed workers run
302
+ `benchmark-results/inputs/<sample-id>.json`. Each case retains its complete
303
+ SoC fanout workload and the original clearance, differential-pair, and length-skew
304
+ constraints:
305
+
306
+ | SoC | Cases | Signal connections | Plane drops | Total connections | Pad obstacles |
307
+ | --- | ---: | ---: | ---: | ---: | ---: |
308
+ | AM62L | 12 | 33 | 102 | 135 | 573 |
309
+ | RK3308 | 12 | 49 | 113 | 162 | 451 |
310
+
311
+ Both families have nine DDR signal buses. The RK3308 samples use a 355-ball SoC
312
+ and 96-ball DDR3L RAM, with the RAM placed on each side at three offsets.
313
+ The timed workers run
304
314
  **this checkout's solver**, not the upstream package's released solver.
305
315
  To capture the inputs without solving, use `bun run generate:dataset31`.
306
316
  The optional `--dataset dataset31` flag is accepted for explicit CI invocation;
@@ -335,8 +345,10 @@ are committed so route changes can be reviewed in Git. A run replaces the select
335
345
  cases' snapshots and removes their stale SVGs if they no longer solve; filtered
336
346
  runs preserve unselected snapshots. JSON reports and captured inputs remain
337
347
  ignored. CI includes the SVGs in its benchmark artifacts.
338
- Compare reports with the same budgets to track progress. Solved means validated
339
- AM62L fanout, not RAM fanout or downstream inter-chip routing. Partial, error,
348
+ Compare reports with the same dataset revision and budgets to track progress.
349
+ A case is solved only when every SoC connection has validated fanout: all 135
350
+ connections for AM62L or all 162 for RK3308. This covers the SoC fanout phase; RAM
351
+ fanout and downstream inter-chip routing are separate phases. Partial, error,
340
352
  and timeout rows are benchmark results (exit 0); invalid CLI arguments or report
341
353
  I/O failures are command failures (nonzero exit).
342
354
 
@@ -344,7 +356,7 @@ I/O failures are command failures (nonzero exit).
344
356
 
345
357
  Once `.github/workflows/benchmark.yml` is on the default branch, a repository
346
358
  writer can comment **`/benchmark`** on an open PR. The workflow captures that
347
- PR's exact head SHA, runs all 12 dataset 31 samples on a **32-vCPU Blacksmith ARM**
359
+ PR's exact head SHA, runs all 24 dataset 31 samples on a **32-vCPU Blacksmith ARM**
348
360
  runner, then updates a status comment with solve totals, per-sample results,
349
361
  and a link to the complete JSON/Markdown reports and captured inputs. The Actions
350
362
  UI also supports a manual run, optionally supplying an open PR number. No custom
@@ -510,8 +522,8 @@ bun run render:dataset
510
522
  bun run start
511
523
  ```
512
524
 
513
- The benchmark runs only the 12 dataset 31 AM62L cases and reports solve counts,
514
- validation, and timing. `bun run start` opens all regression
525
+ The benchmark runs all 24 dataset 31 AM62L and RK3308 cases and reports solve
526
+ counts, validation, and timing. `bun run start` opens all regression
515
527
  datasets in the standard tscircuit solver debugger. `bun run
516
528
  render:dataset` writes `graphics-debug` PNGs under one subdirectory per dataset,
517
529
  with a red shared boundary, gray component courtyards, and green fanout-exit
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/fanout-solver",
3
- "version": "0.0.61",
3
+ "version": "0.0.62",
4
4
  "description": "BGA fanout solver with coordinated bus-layer escapes for SimpleRouteJson",
5
5
  "module": "lib/index.ts",
6
6
  "type": "module",