@tscircuit/core 0.0.2290 → 0.0.2292

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/dist/index.js +23 -8
  2. package/package.json +6 -4
package/dist/index.js CHANGED
@@ -122333,14 +122333,14 @@ var BusLanesPipelineSolver = class extends BaseSolver9 {
122333
122333
  const load = new Map(layers.map((l2) => [l2, 0]));
122334
122334
  const targets = /* @__PURE__ */ new Map();
122335
122335
  for (const group of groups) {
122336
- const buses = (this.routingInput.buses ?? []).filter(
122336
+ const buses2 = (this.routingInput.buses ?? []).filter(
122337
122337
  (b2) => b2.connectionNames.some((n2) => group.has(n2))
122338
122338
  );
122339
122339
  const members = this.routingInput.connections.filter(
122340
122340
  (c2) => group.has(c2.name)
122341
122341
  );
122342
122342
  const allowed = layers.filter(
122343
- (layer) => buses.every(
122343
+ (layer) => buses2.every(
122344
122344
  (b2) => !b2.allowedLayers || b2.allowedLayers.includes(layer)
122345
122345
  ) && members.every(
122346
122346
  (connection) => connection.pointsToConnect.every(
@@ -122352,7 +122352,7 @@ var BusLanesPipelineSolver = class extends BaseSolver9 {
122352
122352
  throw Error(
122353
122353
  "Bus/pair has no common allowed signal layer; existing fanout handoffs cannot be dogboned again"
122354
122354
  );
122355
- const preferred = buses.flatMap((b2) => [b2.preferredLayer, ...b2.preferredLayers ?? []]).filter((l2) => !!l2);
122355
+ const preferred = buses2.flatMap((b2) => [b2.preferredLayer, ...b2.preferredLayers ?? []]).filter((l2) => !!l2);
122356
122356
  const countVias = (l2) => members.flatMap((c2) => c2.pointsToConnect).filter((p2) => !(p2.layers ?? [p2.layer]).includes(l2)).length;
122357
122357
  const rank = (l2) => preferred.includes(l2) ? preferred.indexOf(l2) : preferred.length;
122358
122358
  const layerCost = new Map(
@@ -122485,7 +122485,20 @@ var BusLanesPipelineSolver = class extends BaseSolver9 {
122485
122485
  });
122486
122486
  return;
122487
122487
  }
122488
- if (this.attempt === 0 && this.options.smoothTuning && this.options.denseSearch && ((this.routingInput.buses?.length ?? 0) > 1 || this.routingInput.buses?.some((bus) => bus.maxLength !== void 0)) && canRouteOnPadLayers(this.routingInput) && !independentBusGroups(laneInput)) {
122488
+ const buses = this.routingInput.buses ?? [];
122489
+ const hasMaxBusLength = buses.some((bus) => bus.maxLength !== void 0);
122490
+ const hasMinBusLength = buses.some((bus) => bus.minLength !== void 0);
122491
+ const hasBusLengthSkew = buses.some(
122492
+ (bus) => bus.maxLengthSkew !== void 0
122493
+ );
122494
+ const hasDifferentialPairs = Boolean(
122495
+ this.routingInput.differentialPairs?.length
122496
+ );
122497
+ const hasTimingConstraints = hasMaxBusLength || hasMinBusLength || hasBusLengthSkew || hasDifferentialPairs;
122498
+ let surfaceRoutingAttempt = 0;
122499
+ if (!hasTimingConstraints) surfaceRoutingAttempt = 1;
122500
+ const needsSharedSurfaceRouting = buses.length > 1 || hasMaxBusLength;
122501
+ if (this.attempt === surfaceRoutingAttempt && this.options.smoothTuning && this.options.denseSearch && needsSharedSurfaceRouting && canRouteOnPadLayers(this.routingInput) && !independentGroups) {
122489
122502
  this.sharedPackages = routeFreshSurfaceBuses(
122490
122503
  this.routingInput,
122491
122504
  laneInput,
@@ -158567,7 +158580,7 @@ var RoutingPhasePreparationError = class extends Error {
158567
158580
  var package_default = {
158568
158581
  name: "@tscircuit/core",
158569
158582
  type: "module",
158570
- version: "0.0.2289",
158583
+ version: "0.0.2291",
158571
158584
  types: "dist/index.d.ts",
158572
158585
  main: "dist/index.js",
158573
158586
  module: "dist/index.js",
@@ -158594,7 +158607,8 @@ var package_default = {
158594
158607
  "build:benchmarking": "bun build --experimental-html ./benchmarking/website/index.html --outdir ./benchmarking-dist",
158595
158608
  "build:benchmarking:watch": `chokidar "./{benchmarking,lib}/**/*.{ts,tsx}" -c 'bun build --experimental-html ./benchmarking/website/index.html --outdir ./benchmarking-dist'`,
158596
158609
  "start:benchmarking": 'concurrently "bun run build:benchmarking:watch" "live-server ./benchmarking-dist"',
158597
- "generate-test-plan": "bun run scripts/generate-test-plan.ts"
158610
+ "generate-test-plan": "bun run scripts/generate-test-plan.ts",
158611
+ "benchmark:ddr": "bun scripts/benchmark-ddr/run.ts"
158598
158612
  },
158599
158613
  devDependencies: {
158600
158614
  "@tscircuit/cad-collision-checking": "https://jscdn.tscircuit.com/@tscircuit/cad-collision-checking/0.0.6.tgz",
@@ -158604,7 +158618,7 @@ var package_default = {
158604
158618
  "@tsci/tscircuit.ti": "github:tscircuit/ti#57e314be4b2b06bc546d4def7453e619604d1157",
158605
158619
  "@tscircuit/alphabet": "0.0.25",
158606
158620
  "@tscircuit/bga-fanout-solver": "github:tscircuit/bga-fanout-solver#247c835cb8d69b65e53891dcf869731079415b39",
158607
- "@tscircuit/bus-lanes-solver": "https://jscdn.tscircuit.com/@tscircuit/bus-lanes-solver/0.0.46.tgz",
158621
+ "@tscircuit/bus-lanes-solver": "https://jscdn.tscircuit.com/@tscircuit/bus-lanes-solver/0.0.47.tgz",
158608
158622
  "@tscircuit/cableprinter": "^0.0.6",
158609
158623
  "@tscircuit/capacity-autorouter": "^0.0.1051",
158610
158624
  "@tscircuit/checks": "^0.0.268",
@@ -158687,7 +158701,8 @@ var package_default = {
158687
158701
  "circuit-json-to-tscircuit": "^0.0.50",
158688
158702
  "dsn-converter": "^0.0.90",
158689
158703
  easyeda: "^0.0.389",
158690
- "circuit-json-to-pnp-csv": "^0.0.20"
158704
+ "circuit-json-to-pnp-csv": "^0.0.20",
158705
+ "@tscircuit/core-ddr-benchmark": "github:ShiboSoftwareDev/core-ddr-benchmark#9a7f3b9ff4e37b5d11c8572b75c5b83339a97168"
158691
158706
  },
158692
158707
  peerDependencies: {
158693
158708
  "@tscircuit/capacity-autorouter": "*",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.2290",
4
+ "version": "0.0.2292",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -28,7 +28,8 @@
28
28
  "build:benchmarking": "bun build --experimental-html ./benchmarking/website/index.html --outdir ./benchmarking-dist",
29
29
  "build:benchmarking:watch": "chokidar \"./{benchmarking,lib}/**/*.{ts,tsx}\" -c 'bun build --experimental-html ./benchmarking/website/index.html --outdir ./benchmarking-dist'",
30
30
  "start:benchmarking": "concurrently \"bun run build:benchmarking:watch\" \"live-server ./benchmarking-dist\"",
31
- "generate-test-plan": "bun run scripts/generate-test-plan.ts"
31
+ "generate-test-plan": "bun run scripts/generate-test-plan.ts",
32
+ "benchmark:ddr": "bun scripts/benchmark-ddr/run.ts"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@tscircuit/cad-collision-checking": "https://jscdn.tscircuit.com/@tscircuit/cad-collision-checking/0.0.6.tgz",
@@ -38,7 +39,7 @@
38
39
  "@tsci/tscircuit.ti": "github:tscircuit/ti#57e314be4b2b06bc546d4def7453e619604d1157",
39
40
  "@tscircuit/alphabet": "0.0.25",
40
41
  "@tscircuit/bga-fanout-solver": "github:tscircuit/bga-fanout-solver#247c835cb8d69b65e53891dcf869731079415b39",
41
- "@tscircuit/bus-lanes-solver": "https://jscdn.tscircuit.com/@tscircuit/bus-lanes-solver/0.0.46.tgz",
42
+ "@tscircuit/bus-lanes-solver": "https://jscdn.tscircuit.com/@tscircuit/bus-lanes-solver/0.0.47.tgz",
42
43
  "@tscircuit/cableprinter": "^0.0.6",
43
44
  "@tscircuit/capacity-autorouter": "^0.0.1051",
44
45
  "@tscircuit/checks": "^0.0.268",
@@ -121,7 +122,8 @@
121
122
  "circuit-json-to-tscircuit": "^0.0.50",
122
123
  "dsn-converter": "^0.0.90",
123
124
  "easyeda": "^0.0.389",
124
- "circuit-json-to-pnp-csv": "^0.0.20"
125
+ "circuit-json-to-pnp-csv": "^0.0.20",
126
+ "@tscircuit/core-ddr-benchmark": "github:ShiboSoftwareDev/core-ddr-benchmark#9a7f3b9ff4e37b5d11c8572b75c5b83339a97168"
125
127
  },
126
128
  "peerDependencies": {
127
129
  "@tscircuit/capacity-autorouter": "*",