@celox-sim/celox 0.1.5 → 0.1.7
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.
- package/dist/dut.d.ts +14 -7
- package/dist/dut.d.ts.map +1 -1
- package/dist/dut.js +103 -27
- package/dist/dut.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/napi-helpers.d.ts +62 -1
- package/dist/napi-helpers.d.ts.map +1 -1
- package/dist/napi-helpers.js +154 -19
- package/dist/napi-helpers.js.map +1 -1
- package/dist/simulation.d.ts +59 -3
- package/dist/simulation.d.ts.map +1 -1
- package/dist/simulation.js +162 -16
- package/dist/simulation.js.map +1 -1
- package/dist/simulator.d.ts +7 -1
- package/dist/simulator.d.ts.map +1 -1
- package/dist/simulator.js +35 -14
- package/dist/simulator.js.map +1 -1
- package/dist/types.d.ts +36 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +17 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/src/dut.test.ts +66 -66
- package/src/dut.ts +124 -31
- package/src/e2e.bench.ts +176 -13
- package/src/e2e.test.ts +632 -195
- package/src/index.ts +10 -2
- package/src/matchers.ts +4 -7
- package/src/napi-helpers.ts +224 -22
- package/src/simulation.test.ts +220 -12
- package/src/simulation.ts +198 -13
- package/src/simulator.test.ts +8 -8
- package/src/simulator.ts +43 -11
- package/src/types.ts +54 -3
package/dist/dut.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* accessors are fully visible to V8 inline caches.
|
|
8
8
|
*/
|
|
9
9
|
import type { NativeHandle, PortInfo, SignalLayout } from "./types.js";
|
|
10
|
+
import type { HierarchyNode } from "./napi-helpers.js";
|
|
10
11
|
/**
|
|
11
12
|
* Mutable state shared between the DUT accessor and its owning
|
|
12
13
|
* Simulator/Simulation instance. The Simulator clears `dirty` after
|
|
@@ -20,16 +21,22 @@ export interface DirtyState {
|
|
|
20
21
|
/**
|
|
21
22
|
* Create a DUT accessor object with defineProperty-based getters/setters.
|
|
22
23
|
*
|
|
23
|
-
* @param buffer
|
|
24
|
-
* @param layout
|
|
25
|
-
* @param portDefs
|
|
26
|
-
* @param handle
|
|
27
|
-
* @param state
|
|
24
|
+
* @param buffer SharedArrayBuffer from NAPI create()
|
|
25
|
+
* @param layout Per-signal byte layout within the buffer
|
|
26
|
+
* @param portDefs Port metadata from the ModuleDefinition
|
|
27
|
+
* @param handle Native handle (for evalComb calls)
|
|
28
|
+
* @param state Shared dirty-tracking state
|
|
29
|
+
* @param hierarchy Optional hierarchy node for child instance access
|
|
28
30
|
*/
|
|
29
|
-
export declare function createDut<P>(buffer: ArrayBuffer | SharedArrayBuffer, layout: Record<string, SignalLayout>, portDefs: Record<string, PortInfo>, handle: NativeHandle, state: DirtyState): P;
|
|
31
|
+
export declare function createDut<P>(buffer: ArrayBuffer | SharedArrayBuffer, layout: Record<string, SignalLayout>, portDefs: Record<string, PortInfo>, handle: NativeHandle, state: DirtyState, hierarchy?: HierarchyNode): P;
|
|
32
|
+
/**
|
|
33
|
+
* Create a child instance DUT accessor from a HierarchyNode.
|
|
34
|
+
* Recursively creates accessors for the child's signals and its own children.
|
|
35
|
+
*/
|
|
36
|
+
export declare function createChildDut(buffer: ArrayBuffer | SharedArrayBuffer, hierarchy: HierarchyNode, handle: NativeHandle, state: DirtyState): object;
|
|
30
37
|
/**
|
|
31
38
|
* Read the raw 4-state (value, mask) pair for a signal.
|
|
32
39
|
* Mask bits set to 1 indicate X/Z.
|
|
33
40
|
*/
|
|
34
|
-
export declare function readFourState(buffer: ArrayBuffer | SharedArrayBuffer, sig: SignalLayout): [value:
|
|
41
|
+
export declare function readFourState(buffer: ArrayBuffer | SharedArrayBuffer, sig: SignalLayout): [value: bigint, mask: bigint];
|
|
35
42
|
//# sourceMappingURL=dut.d.ts.map
|
package/dist/dut.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dut.d.ts","sourceRoot":"","sources":["../src/dut.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EAEb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"dut.d.ts","sourceRoot":"","sources":["../src/dut.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EAEb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOvD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;CAChB;AAqJD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAClC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,aAAa,GACxB,CAAC,CA0EH;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,GAChB,MAAM,CAiDR;AA4LD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,GAAG,EAAE,YAAY,GAChB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAe/B"}
|
package/dist/dut.js
CHANGED
|
@@ -80,20 +80,20 @@ function writeBigInt(view, offset, byteSize, value) {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
/** Read a signal value from the DataView.
|
|
83
|
+
/** Read a signal value from the DataView. Always returns bigint. */
|
|
84
84
|
function readSignal(view, sig) {
|
|
85
85
|
if (sig.width <= 53) {
|
|
86
|
-
return readNumber(view, sig.offset, sig.width);
|
|
86
|
+
return BigInt(readNumber(view, sig.offset, sig.width));
|
|
87
87
|
}
|
|
88
88
|
return readBigInt(view, sig.offset, sig.byteSize);
|
|
89
89
|
}
|
|
90
|
-
/** Write a signal value to the DataView. Accepts number
|
|
90
|
+
/** Write a signal value to the DataView. Accepts bigint (number accepted for compat). */
|
|
91
91
|
function writeSignal(view, sig, value) {
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
const bigVal = typeof value === "bigint" ? value : BigInt(value);
|
|
93
|
+
if (sig.width <= 53) {
|
|
94
|
+
writeNumber(view, sig.offset, sig.width, Number(bigVal));
|
|
94
95
|
}
|
|
95
96
|
else {
|
|
96
|
-
const bigVal = typeof value === "bigint" ? value : BigInt(value);
|
|
97
97
|
writeBigInt(view, sig.offset, sig.byteSize, bigVal);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -113,10 +113,8 @@ function writeFourState(view, sig, fsv) {
|
|
|
113
113
|
/** Write all-X mask for a signal. */
|
|
114
114
|
function writeAllX(view, sig) {
|
|
115
115
|
// Value = 0, mask = all 1s
|
|
116
|
-
writeSignal(view, sig,
|
|
117
|
-
const allOnes = sig.width
|
|
118
|
-
? (sig.width === 53 ? Number.MAX_SAFE_INTEGER : (1 << sig.width) - 1)
|
|
119
|
-
: (1n << BigInt(sig.width)) - 1n;
|
|
116
|
+
writeSignal(view, sig, 0n);
|
|
117
|
+
const allOnes = (1n << BigInt(sig.width)) - 1n;
|
|
120
118
|
const maskLayout = {
|
|
121
119
|
offset: sig.offset + sig.byteSize,
|
|
122
120
|
width: sig.width,
|
|
@@ -132,13 +130,14 @@ function writeAllX(view, sig) {
|
|
|
132
130
|
/**
|
|
133
131
|
* Create a DUT accessor object with defineProperty-based getters/setters.
|
|
134
132
|
*
|
|
135
|
-
* @param buffer
|
|
136
|
-
* @param layout
|
|
137
|
-
* @param portDefs
|
|
138
|
-
* @param handle
|
|
139
|
-
* @param state
|
|
133
|
+
* @param buffer SharedArrayBuffer from NAPI create()
|
|
134
|
+
* @param layout Per-signal byte layout within the buffer
|
|
135
|
+
* @param portDefs Port metadata from the ModuleDefinition
|
|
136
|
+
* @param handle Native handle (for evalComb calls)
|
|
137
|
+
* @param state Shared dirty-tracking state
|
|
138
|
+
* @param hierarchy Optional hierarchy node for child instance access
|
|
140
139
|
*/
|
|
141
|
-
export function createDut(buffer, layout, portDefs, handle, state) {
|
|
140
|
+
export function createDut(buffer, layout, portDefs, handle, state, hierarchy) {
|
|
142
141
|
const view = new DataView(buffer);
|
|
143
142
|
const obj = Object.create(null);
|
|
144
143
|
// Iterate portDefs (not layout) so that interface ports are discovered
|
|
@@ -175,6 +174,78 @@ export function createDut(buffer, layout, portDefs, handle, state) {
|
|
|
175
174
|
// Scalar port — define getter/setter
|
|
176
175
|
defineSignalProperty(obj, name, view, sig, port, handle, state);
|
|
177
176
|
}
|
|
177
|
+
// Attach child instance accessors from hierarchy
|
|
178
|
+
if (hierarchy) {
|
|
179
|
+
for (const [childName, instances] of Object.entries(hierarchy.children)) {
|
|
180
|
+
if (instances.length === 1) {
|
|
181
|
+
const childDut = createChildDut(buffer, instances[0], handle, state);
|
|
182
|
+
Object.defineProperty(obj, childName, {
|
|
183
|
+
value: childDut,
|
|
184
|
+
enumerable: true,
|
|
185
|
+
configurable: false,
|
|
186
|
+
writable: false,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
else if (instances.length > 1) {
|
|
190
|
+
const childDuts = instances.map((inst) => createChildDut(buffer, inst, handle, state));
|
|
191
|
+
Object.defineProperty(obj, childName, {
|
|
192
|
+
value: childDuts,
|
|
193
|
+
enumerable: true,
|
|
194
|
+
configurable: false,
|
|
195
|
+
writable: false,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return obj;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Create a child instance DUT accessor from a HierarchyNode.
|
|
204
|
+
* Recursively creates accessors for the child's signals and its own children.
|
|
205
|
+
*/
|
|
206
|
+
export function createChildDut(buffer, hierarchy, handle, state) {
|
|
207
|
+
const view = new DataView(buffer);
|
|
208
|
+
const obj = Object.create(null);
|
|
209
|
+
// Define signal properties for this child instance
|
|
210
|
+
for (const [name, port] of Object.entries(hierarchy.ports)) {
|
|
211
|
+
if (port.type === "clock")
|
|
212
|
+
continue;
|
|
213
|
+
const sig = hierarchy.forDut[name];
|
|
214
|
+
if (!sig)
|
|
215
|
+
continue;
|
|
216
|
+
if (port.arrayDims && port.arrayDims.length > 0) {
|
|
217
|
+
const arrayObj = createArrayDut(view, sig, port, handle, state);
|
|
218
|
+
Object.defineProperty(obj, name, {
|
|
219
|
+
value: arrayObj,
|
|
220
|
+
enumerable: true,
|
|
221
|
+
configurable: false,
|
|
222
|
+
writable: false,
|
|
223
|
+
});
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
defineSignalProperty(obj, name, view, sig, port, handle, state);
|
|
227
|
+
}
|
|
228
|
+
// Recursively attach children
|
|
229
|
+
for (const [childName, instances] of Object.entries(hierarchy.children)) {
|
|
230
|
+
if (instances.length === 1) {
|
|
231
|
+
const childDut = createChildDut(buffer, instances[0], handle, state);
|
|
232
|
+
Object.defineProperty(obj, childName, {
|
|
233
|
+
value: childDut,
|
|
234
|
+
enumerable: true,
|
|
235
|
+
configurable: false,
|
|
236
|
+
writable: false,
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
else if (instances.length > 1) {
|
|
240
|
+
const childDuts = instances.map((inst) => createChildDut(buffer, inst, handle, state));
|
|
241
|
+
Object.defineProperty(obj, childName, {
|
|
242
|
+
value: childDuts,
|
|
243
|
+
enumerable: true,
|
|
244
|
+
configurable: false,
|
|
245
|
+
writable: false,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
178
249
|
return obj;
|
|
179
250
|
}
|
|
180
251
|
/** Define a single scalar signal property on the target object. */
|
|
@@ -207,7 +278,8 @@ function defineSignalProperty(target, name, view, sig, port, handle, state) {
|
|
|
207
278
|
writeFourState(view, sig, value);
|
|
208
279
|
}
|
|
209
280
|
else {
|
|
210
|
-
|
|
281
|
+
const bigVal = typeof value === "bigint" ? value : BigInt(value);
|
|
282
|
+
writeSignal(view, sig, bigVal);
|
|
211
283
|
// Clear mask when writing a defined value to a 4-state signal
|
|
212
284
|
if (sig.is4state) {
|
|
213
285
|
const maskLayout = {
|
|
@@ -217,7 +289,7 @@ function defineSignalProperty(target, name, view, sig, port, handle, state) {
|
|
|
217
289
|
is4state: false,
|
|
218
290
|
direction: sig.direction,
|
|
219
291
|
};
|
|
220
|
-
writeSignal(view, maskLayout,
|
|
292
|
+
writeSignal(view, maskLayout, 0n);
|
|
221
293
|
}
|
|
222
294
|
}
|
|
223
295
|
state.dirty = true;
|
|
@@ -272,7 +344,7 @@ function createArrayDut(view, baseSig, port, handle, state) {
|
|
|
272
344
|
}
|
|
273
345
|
const offset = baseOffset + i * elementByteSize;
|
|
274
346
|
if (elementWidth <= 53) {
|
|
275
|
-
return readNumber(view, offset, elementWidth);
|
|
347
|
+
return BigInt(readNumber(view, offset, elementWidth));
|
|
276
348
|
}
|
|
277
349
|
return readBigInt(view, offset, elementByteSize);
|
|
278
350
|
},
|
|
@@ -301,16 +373,20 @@ function createArrayDut(view, baseSig, port, handle, state) {
|
|
|
301
373
|
};
|
|
302
374
|
writeFourState(view, elemSig, value);
|
|
303
375
|
}
|
|
304
|
-
else if (elementWidth <= 53 && typeof value === "number") {
|
|
305
|
-
writeNumber(view, offset, elementWidth, value);
|
|
306
|
-
if (is4state)
|
|
307
|
-
writeNumber(view, offset + elementByteSize, elementWidth, 0);
|
|
308
|
-
}
|
|
309
376
|
else {
|
|
310
377
|
const bigVal = typeof value === "bigint" ? value : BigInt(value);
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
378
|
+
const elemSig = {
|
|
379
|
+
offset, width: elementWidth, byteSize: elementByteSize,
|
|
380
|
+
is4state, direction: baseSig.direction,
|
|
381
|
+
};
|
|
382
|
+
writeSignal(view, elemSig, bigVal);
|
|
383
|
+
if (is4state) {
|
|
384
|
+
const maskSig = {
|
|
385
|
+
offset: offset + elementByteSize, width: elementWidth,
|
|
386
|
+
byteSize: elementByteSize, is4state: false, direction: baseSig.direction,
|
|
387
|
+
};
|
|
388
|
+
writeSignal(view, maskSig, 0n);
|
|
389
|
+
}
|
|
314
390
|
}
|
|
315
391
|
state.dirty = true;
|
|
316
392
|
},
|
package/dist/dut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dut.js","sourceRoot":"","sources":["../src/dut.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiB9C,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,wFAAwF;AACxF,SAAS,UAAU,CAAC,IAAc,EAAE,MAAc,EAAE,KAAa;IAC/D,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,2CAA2C;IAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;AACjC,CAAC;AAED,wEAAwE;AACxE,SAAS,WAAW,CAClB,IAAc,EACd,MAAc,EACd,KAAa,EACb,KAAa;IAEb,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,cAAc;QACd,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,SAAS,UAAU,CAAC,IAAc,EAAE,MAAc,EAAE,QAAgB;IAClE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,+CAA+C;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC/B,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,SAAS,WAAW,CAClB,IAAc,EACd,MAAc,EACd,QAAgB,EAChB,KAAa;IAEb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,mBAAsB,EAAE,IAAI,CAAC,CAAC;QACxE,KAAK,KAAK,GAAG,CAAC;IAChB,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC/B,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;YAC/C,KAAK,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,SAAS,UAAU,CACjB,IAAc,EACd,GAAiB;IAEjB,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,sEAAsE;AACtE,SAAS,WAAW,CAClB,IAAc,EACd,GAAiB,EACjB,KAAsB;IAEtB,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAS,cAAc,CACrB,IAAc,EACd,GAAiB,EACjB,GAAmB;IAEnB,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,mDAAmD;IACnD,MAAM,UAAU,GAAiB;QAC/B,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ;QACjC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;IACF,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,qCAAqC;AACrC,SAAS,SAAS,CAAC,IAAc,EAAE,GAAiB;IAClD,2BAA2B;IAC3B,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,OAAO,GACX,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,UAAU,GAAiB;QAC/B,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ;QACjC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;IACF,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CACvB,MAAuC,EACvC,MAAoC,EACpC,QAAkC,EAClC,MAAoB,EACpB,KAAiB;IAEjB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAM,CAAC;IAErC,uEAAuE;IACvE,2EAA2E;IAC3E,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,+DAA+D;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QAEpC,6BAA6B;QAC7B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,eAAe,CAC/B,IAAI,EACJ,MAAM,EACN,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,MAAM,EACN,KAAK,CACN,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;gBAC/B,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,uBAAuB;QACvB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAChE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;gBAC/B,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,qCAAqC;QACrC,oBAAoB,CAAC,GAAa,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mEAAmE;AACnE,SAAS,oBAAoB,CAC3B,MAAc,EACd,IAAY,EACZ,IAAc,EACd,GAAiB,EACjB,IAA0B,EAC1B,MAAoB,EACpB,KAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;IAE5C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;QAClC,GAAG;YACD,uCAAuC;YACvC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,CAAC;YACD,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,GAAG,CAAC,KAAgD;YAClD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,GAAG,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,mCAAmC,CAAC,CAAC;gBACpE,CAAC;gBACD,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,2CAA2C,CAAC,CAAC;gBAC5E,CAAC;gBACD,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,KAAwB,CAAC,CAAC;gBACjD,8DAA8D;gBAC9D,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjB,MAAM,UAAU,GAAiB;wBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ;wBACjC,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,QAAQ,EAAE,KAAK;wBACf,SAAS,EAAE,GAAG,CAAC,SAAS;qBACzB,CAAC;oBACF,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,SAAS,eAAe,CACtB,IAAc,EACd,MAAoC,EACpC,OAAiC,EACjC,MAAc,EACd,MAAoB,EACpB,KAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/D,MAAM,aAAa,GAAG,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,eAAe,CAC5B,IAAI,EACJ,MAAM,EACN,UAAU,CAAC,SAAS,EACpB,aAAa,EACb,MAAM,EACN,KAAK,CACN,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;gBACrC,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,SAAS,cAAc,CACrB,IAAc,EACd,OAAqB,EACrB,IAAc,EACd,MAAoB,EACpB,KAAiB;IAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAU,CAAC;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAChC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,OAAO;QACL,MAAM,EAAE,aAAa;QAErB,EAAE,CAAC,CAAS;YACV,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,CAAC;YACD,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC;YAChD,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;gBACvB,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QACnD,CAAC;QAED,GAAG,CAAC,CAAS,EAAE,KAAgD;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC;YAChD,IAAI,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM,OAAO,GAAiB;oBAC5B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe;oBACtD,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;iBACvC,CAAC;gBACF,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,OAAO,GAAiB;oBAC5B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe;oBACtD,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;iBACvC,CAAC;gBACF,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,YAAY,IAAI,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,QAAQ;oBAAE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC;gBAC3E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;gBACnD,IAAI,QAAQ;oBAAE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAuC,EACvC,GAAiB;IAEjB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAiB;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ;QACjC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"dut.js","sourceRoot":"","sources":["../src/dut.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
export type { ModuleDefinition, PortInfo, SimulatorOptions, EventHandle, FourStateValue, } from "./types.js";
|
|
10
|
+
export type { ModuleDefinition, PortInfo, SimulatorOptions, EventHandle, FourStateValue, LoopBreak, TrueLoopSpec, } from "./types.js";
|
|
11
11
|
/** @internal */
|
|
12
12
|
export type { SignalLayout, CreateResult, NativeHandle, NativeSimulatorHandle, NativeSimulationHandle, } from "./types.js";
|
|
13
13
|
export { X, FourState, isFourStateValue } from "./types.js";
|
|
14
|
+
export { SimulationTimeoutError } from "./types.js";
|
|
14
15
|
export { Simulator } from "./simulator.js";
|
|
15
16
|
export { Simulation } from "./simulation.js";
|
|
16
17
|
/** @internal */
|
|
17
|
-
export { createDut, readFourState } from "./dut.js";
|
|
18
|
+
export { createDut, createChildDut, readFourState } from "./dut.js";
|
|
18
19
|
/** @internal */
|
|
19
20
|
export type { DirtyState } from "./dut.js";
|
|
20
21
|
/** @internal */
|
|
21
|
-
export { loadNativeAddon, parseNapiLayout, buildPortsFromLayout, wrapDirectSimulatorHandle, wrapDirectSimulationHandle, createSimulatorBridge, createSimulationBridge, } from "./napi-helpers.js";
|
|
22
|
+
export { loadNativeAddon, parseNapiLayout, parseHierarchyLayout, buildPortsFromLayout, wrapDirectSimulatorHandle, wrapDirectSimulationHandle, createSimulatorBridge, createSimulationBridge, parseSignalPath, buildNapiOpts, } from "./napi-helpers.js";
|
|
22
23
|
/** @internal */
|
|
23
|
-
export type { RawNapiAddon, RawNapiSimulatorHandle, RawNapiSimulationHandle } from "./napi-helpers.js";
|
|
24
|
+
export type { HierarchyNode, RawNapiAddon, RawNapiSimulatorHandle, RawNapiSimulationHandle } from "./napi-helpers.js";
|
|
24
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,gBAAgB;AAChB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACpE,gBAAgB;AAChB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,gBAAgB;AAChB,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,gBAAgB;AAChB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,14 +9,16 @@
|
|
|
9
9
|
*/
|
|
10
10
|
// 4-state helpers
|
|
11
11
|
export { X, FourState, isFourStateValue } from "./types.js";
|
|
12
|
+
// Error types
|
|
13
|
+
export { SimulationTimeoutError } from "./types.js";
|
|
12
14
|
// Simulator (event-based)
|
|
13
15
|
export { Simulator } from "./simulator.js";
|
|
14
16
|
// Simulation (time-based)
|
|
15
17
|
export { Simulation } from "./simulation.js";
|
|
16
18
|
/** @internal */
|
|
17
|
-
export { createDut, readFourState } from "./dut.js";
|
|
19
|
+
export { createDut, createChildDut, readFourState } from "./dut.js";
|
|
18
20
|
/** @internal */
|
|
19
|
-
export { loadNativeAddon, parseNapiLayout, buildPortsFromLayout, wrapDirectSimulatorHandle, wrapDirectSimulationHandle, createSimulatorBridge, createSimulationBridge, } from "./napi-helpers.js";
|
|
21
|
+
export { loadNativeAddon, parseNapiLayout, parseHierarchyLayout, buildPortsFromLayout, wrapDirectSimulatorHandle, wrapDirectSimulationHandle, createSimulatorBridge, createSimulationBridge, parseSignalPath, buildNapiOpts, } from "./napi-helpers.js";
|
|
20
22
|
// NAPI bridge (backward compat — re-exports from napi-helpers)
|
|
21
23
|
// Consumers that import from "./napi-bridge.js" still work.
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsBH,kBAAkB;AAClB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE5D,cAAc;AACd,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,0BAA0B;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,0BAA0B;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIpE,gBAAgB;AAChB,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAI3B,+DAA+D;AAC/D,4DAA4D"}
|
package/dist/napi-helpers.d.ts
CHANGED
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
* - Wrapping NAPI handles with zero-copy direct operations
|
|
9
9
|
* - Creating bridge functions for Simulator.create() / Simulation.create()
|
|
10
10
|
*/
|
|
11
|
-
import type { NativeSimulatorHandle, NativeSimulationHandle, PortInfo, SignalLayout } from "./types.js";
|
|
11
|
+
import type { NativeSimulatorHandle, NativeSimulationHandle, PortInfo, SignalLayout, SimulatorOptions } from "./types.js";
|
|
12
12
|
import type { NativeCreateFn } from "./simulator.js";
|
|
13
13
|
import type { NativeCreateSimulationFn } from "./simulation.js";
|
|
14
14
|
export interface RawNapiSimulatorHandle {
|
|
15
15
|
readonly layoutJson: string;
|
|
16
16
|
readonly eventsJson: string;
|
|
17
|
+
readonly hierarchyJson: string;
|
|
17
18
|
readonly stableSize: number;
|
|
18
19
|
readonly totalSize: number;
|
|
19
20
|
tick(eventId: number): void;
|
|
@@ -26,6 +27,7 @@ export interface RawNapiSimulatorHandle {
|
|
|
26
27
|
export interface RawNapiSimulationHandle {
|
|
27
28
|
readonly layoutJson: string;
|
|
28
29
|
readonly eventsJson: string;
|
|
30
|
+
readonly hierarchyJson: string;
|
|
29
31
|
readonly stableSize: number;
|
|
30
32
|
readonly totalSize: number;
|
|
31
33
|
addClock(eventId: number, period: number, initialDelay: number): void;
|
|
@@ -33,13 +35,37 @@ export interface RawNapiSimulationHandle {
|
|
|
33
35
|
runUntil(endTime: number): void;
|
|
34
36
|
step(): number | null;
|
|
35
37
|
time(): number;
|
|
38
|
+
nextEventTime(): number | null;
|
|
36
39
|
evalComb(): void;
|
|
37
40
|
dump(timestamp: number): void;
|
|
38
41
|
sharedMemory(): Uint8Array;
|
|
39
42
|
dispose(): void;
|
|
40
43
|
}
|
|
44
|
+
export interface NapiFalseLoop {
|
|
45
|
+
from: NapiSignalPath;
|
|
46
|
+
to: NapiSignalPath;
|
|
47
|
+
}
|
|
48
|
+
export interface NapiTrueLoop {
|
|
49
|
+
from: NapiSignalPath;
|
|
50
|
+
to: NapiSignalPath;
|
|
51
|
+
maxIter: number;
|
|
52
|
+
}
|
|
53
|
+
export interface NapiSignalPath {
|
|
54
|
+
instancePath: NapiInstanceSegment[];
|
|
55
|
+
varPath: string[];
|
|
56
|
+
}
|
|
57
|
+
export interface NapiInstanceSegment {
|
|
58
|
+
name: string;
|
|
59
|
+
index: number;
|
|
60
|
+
}
|
|
41
61
|
export interface NapiOptions {
|
|
42
62
|
fourState?: boolean;
|
|
63
|
+
vcd?: string;
|
|
64
|
+
optimize?: boolean;
|
|
65
|
+
falseLoops?: NapiFalseLoop[];
|
|
66
|
+
trueLoops?: NapiTrueLoop[];
|
|
67
|
+
clockType?: string;
|
|
68
|
+
resetType?: string;
|
|
43
69
|
}
|
|
44
70
|
export interface RawNapiAddon {
|
|
45
71
|
NativeSimulatorHandle: {
|
|
@@ -62,6 +88,25 @@ export interface RawNapiAddon {
|
|
|
62
88
|
* @param addonPath Explicit path to the `.node` file (overrides auto-detection).
|
|
63
89
|
*/
|
|
64
90
|
export declare function loadNativeAddon(addonPath?: string): RawNapiAddon;
|
|
91
|
+
/**
|
|
92
|
+
* Parse a signal path string into instance-path + var-path components.
|
|
93
|
+
*
|
|
94
|
+
* Format: `instanceSeg1.instanceSeg2:varSeg1.varSeg2`
|
|
95
|
+
* - `:` separates instance path from variable path
|
|
96
|
+
* - Without `:`, the whole string is the variable path
|
|
97
|
+
* - Instance segments may include `[N]` array indices
|
|
98
|
+
*
|
|
99
|
+
* Examples:
|
|
100
|
+
* - `"v"` → { instancePath: [], varPath: ["v"] }
|
|
101
|
+
* - `"p2:i"` → { instancePath: [{name:"p2",index:0}], varPath: ["i"] }
|
|
102
|
+
* - `"a.b[3]:x.y"` → { instancePath: [{name:"a",index:0},{name:"b",index:3}], varPath: ["x","y"] }
|
|
103
|
+
*/
|
|
104
|
+
export declare function parseSignalPath(path: string): NapiSignalPath;
|
|
105
|
+
/**
|
|
106
|
+
* Build NapiOptions from SimulatorOptions.
|
|
107
|
+
* Returns `undefined` when no options are set (to skip the NAPI options arg).
|
|
108
|
+
*/
|
|
109
|
+
export declare function buildNapiOpts(options?: SimulatorOptions): NapiOptions | undefined;
|
|
65
110
|
/**
|
|
66
111
|
* Parse the NAPI layout JSON into SignalLayout records.
|
|
67
112
|
* Returns both the full layout (with type_kind for port detection) and
|
|
@@ -71,6 +116,7 @@ export declare function parseNapiLayout(json: string): {
|
|
|
71
116
|
signals: Record<string, SignalLayout & {
|
|
72
117
|
typeKind: string;
|
|
73
118
|
arrayDims?: number[];
|
|
119
|
+
associatedClock?: string;
|
|
74
120
|
}>;
|
|
75
121
|
forDut: Record<string, SignalLayout>;
|
|
76
122
|
};
|
|
@@ -82,6 +128,21 @@ export declare function buildPortsFromLayout(signals: Record<string, SignalLayou
|
|
|
82
128
|
typeKind: string;
|
|
83
129
|
arrayDims?: number[];
|
|
84
130
|
}>, _events: Record<string, number>): Record<string, PortInfo>;
|
|
131
|
+
export interface HierarchyNode {
|
|
132
|
+
moduleName: string;
|
|
133
|
+
signals: Record<string, SignalLayout & {
|
|
134
|
+
typeKind: string;
|
|
135
|
+
arrayDims?: number[];
|
|
136
|
+
}>;
|
|
137
|
+
forDut: Record<string, SignalLayout>;
|
|
138
|
+
ports: Record<string, PortInfo>;
|
|
139
|
+
children: Record<string, HierarchyNode[]>;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Parse the hierarchy JSON from NAPI into a HierarchyNode tree.
|
|
143
|
+
* Converts snake_case keys to camelCase and auto-detects ports.
|
|
144
|
+
*/
|
|
145
|
+
export declare function parseHierarchyLayout(json: string, events: Record<string, number>): HierarchyNode;
|
|
85
146
|
/**
|
|
86
147
|
* Wrap a raw NAPI simulator handle with direct (zero-copy) operations.
|
|
87
148
|
* The buffer is shared between JS and Rust — no copies per tick.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"napi-helpers.d.ts","sourceRoot":"","sources":["../src/napi-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"napi-helpers.d.ts","sourceRoot":"","sources":["../src/napi-helpers.ts"],"names":[],"mappings":"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"}
|