@celox-sim/celox 0.1.17 → 0.1.19

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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dut.d.ts","sourceRoot":"","sources":["../src/dut.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAEX,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,MAAM,YAAY,CAAC;AAOpB;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,OAAO,CAAC;CACf;AAmJD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAC1B,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,GACvB,CAAC,CA0EH;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,GACf,MAAM,CAoER;AAiWD;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,GAAG,EAAE,YAAY,GACf,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAe/B"}
1
+ {"version":3,"file":"dut.d.ts","sourceRoot":"","sources":["../src/dut.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAEX,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,MAAM,YAAY,CAAC;AAOpB;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,OAAO,CAAC;CACf;AAgKD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAC1B,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,GACvB,CAAC,CA0EH;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,GACf,MAAM,CAoER;AAyXD;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,GAAG,EAAE,YAAY,GACf,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAe/B"}
package/dist/dut.js CHANGED
@@ -111,9 +111,21 @@ function writeFourState(view, sig, fsv) {
111
111
  };
112
112
  writeSignal(view, maskLayout, fsv.mask);
113
113
  }
114
- /** Write all-X mask for a signal. */
114
+ /** Write all-X to a signal: X = (v=1, m=1) per bit. */
115
115
  function writeAllX(view, sig) {
116
- // Value = 0, mask = all 1s
116
+ const allOnes = (1n << BigInt(sig.width)) - 1n;
117
+ writeSignal(view, sig, allOnes);
118
+ const maskLayout = {
119
+ offset: sig.offset + sig.byteSize,
120
+ width: sig.width,
121
+ byteSize: sig.byteSize,
122
+ is4state: false,
123
+ direction: sig.direction,
124
+ };
125
+ writeSignal(view, maskLayout, allOnes);
126
+ }
127
+ /** Write all-Z to a signal: Z = (v=0, m=1) per bit. */
128
+ function writeAllZ(view, sig) {
117
129
  writeSignal(view, sig, 0n);
118
130
  const allOnes = (1n << BigInt(sig.width)) - 1n;
119
131
  const maskLayout = {
@@ -283,6 +295,12 @@ function defineSignalProperty(target, name, view, sig, port, handle, state) {
283
295
  }
284
296
  writeAllX(view, sig);
285
297
  }
298
+ else if (value === Symbol.for("veryl:Z")) {
299
+ if (!sig.is4state) {
300
+ throw new Error(`Port '${name}' is not 4-state; cannot assign Z`);
301
+ }
302
+ writeAllZ(view, sig);
303
+ }
286
304
  else if (isFourStateValue(value)) {
287
305
  if (!sig.is4state) {
288
306
  throw new Error(`Port '${name}' is not 4-state; cannot assign FourState`);
@@ -418,6 +436,14 @@ function createArrayDut(view, baseSig, port, handle, state) {
418
436
  if (!is4state) {
419
437
  throw new Error("Array port is not 4-state; cannot assign X");
420
438
  }
439
+ const allOnes = (1 << elementWidth) - 1;
440
+ writeBitPackedElement(view, baseOffset, elementWidth, i, allOnes);
441
+ writeBitPackedElement(view, maskBase, elementWidth, i, allOnes);
442
+ }
443
+ else if (value === Symbol.for("veryl:Z")) {
444
+ if (!is4state) {
445
+ throw new Error("Array port is not 4-state; cannot assign Z");
446
+ }
421
447
  writeBitPackedElement(view, baseOffset, elementWidth, i, 0);
422
448
  writeBitPackedElement(view, maskBase, elementWidth, i, (1 << elementWidth) - 1);
423
449
  }
@@ -472,6 +498,19 @@ function createArrayDut(view, baseSig, port, handle, state) {
472
498
  };
473
499
  writeAllX(view, elemSig);
474
500
  }
501
+ else if (value === Symbol.for("veryl:Z")) {
502
+ if (!is4state) {
503
+ throw new Error("Array port is not 4-state; cannot assign Z");
504
+ }
505
+ const elemSig = {
506
+ offset,
507
+ width: elementWidth,
508
+ byteSize: elementByteSize,
509
+ is4state,
510
+ direction: baseSig.direction,
511
+ };
512
+ writeAllZ(view, elemSig);
513
+ }
475
514
  else if (isFourStateValue(value)) {
476
515
  if (!is4state) {
477
516
  throw new Error("Array port is not 4-state; cannot assign FourState");
package/dist/dut.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dut.js","sourceRoot":"","sources":["../src/dut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dut.js","sourceRoot":"","sources":["../src/dut.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -19,5 +19,5 @@ export { Simulation } from "./simulation.js";
19
19
  export { Simulator } from "./simulator.js";
20
20
  /** @internal */
21
21
  export type { CreateResult, EventHandle, FourStateValue, LoopBreak, ModuleDefinition, NativeHandle, NativeSimulationHandle, NativeSimulatorHandle, ParamOverride, PortInfo, SignalLayout, SimulatorOptions, SourceFile, TrueLoopSpec, } from "./types.js";
22
- export { FourState, isFourStateValue, SimulationTimeoutError, X, } from "./types.js";
22
+ export { FourState, isFourStateValue, SimulationTimeoutError, X, Z, } from "./types.js";
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gBAAgB;AAChB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACpE,gBAAgB;AAChB,YAAY,EACX,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,gBAAgB;AAChB,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,gBAAgB;AAChB,YAAY,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,YAAY,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACN,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,CAAC,GACD,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gBAAgB;AAChB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACpE,gBAAgB;AAChB,YAAY,EACX,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,gBAAgB;AAChB,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,gBAAgB;AAChB,YAAY,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,YAAY,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACN,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,CAAC,EACD,CAAC,GACD,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ export { Simulation } from "./simulation.js";
17
17
  export { Simulator } from "./simulator.js";
18
18
  // 4-state helpers
19
19
  // Error types
20
- export { FourState, isFourStateValue, SimulationTimeoutError, X, } from "./types.js";
20
+ export { FourState, isFourStateValue, SimulationTimeoutError, X, Z, } from "./types.js";
21
21
  // NAPI bridge (backward compat — re-exports from napi-helpers)
22
22
  // Consumers that import from "./napi-bridge.js" still work.
23
23
  //# 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;AAIH,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQpE,gBAAgB;AAChB,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,0BAA0B;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,0BAA0B;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAmB3C,kBAAkB;AAClB,cAAc;AACd,OAAO,EACN,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,CAAC,GACD,MAAM,YAAY,CAAC;AAEpB,+DAA+D;AAC/D,4DAA4D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQpE,gBAAgB;AAChB,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,0BAA0B;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,0BAA0B;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAmB3C,kBAAkB;AAClB,cAAc;AACd,OAAO,EACN,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,CAAC,EACD,CAAC,GACD,MAAM,YAAY,CAAC;AAEpB,+DAA+D;AAC/D,4DAA4D"}
package/dist/types.d.ts CHANGED
@@ -140,15 +140,30 @@ export interface EventHandle {
140
140
  readonly name: string;
141
141
  readonly id: number;
142
142
  }
143
- /** Sentinel representing all-X. */
143
+ /** Sentinel representing all-X (unknown). X = (v=1, m=1) per bit. */
144
144
  export declare const X: unique symbol;
145
- /** A 4-state value with explicit bit-level mask. */
145
+ /** Sentinel representing all-Z (high-impedance). Z = (v=0, m=1) per bit. */
146
+ export declare const Z: unique symbol;
147
+ /**
148
+ * A 4-state value with explicit bit-level mask.
149
+ *
150
+ * Encoding per bit:
151
+ * - `(v=0, m=0)` → 0
152
+ * - `(v=1, m=0)` → 1
153
+ * - `(v=0, m=1)` → Z (high-impedance)
154
+ * - `(v=1, m=1)` → X (unknown)
155
+ */
146
156
  export interface FourStateValue {
147
157
  readonly __fourState: true;
148
158
  readonly value: bigint;
149
159
  readonly mask: bigint;
150
160
  }
151
- /** Construct a 4-state value. Mask bits set to 1 indicate X. */
161
+ /**
162
+ * Construct a 4-state value with explicit value and mask.
163
+ *
164
+ * Mask bits set to 1 with value=1 indicate X (unknown).
165
+ * Mask bits set to 1 with value=0 indicate Z (high-impedance).
166
+ */
152
167
  export declare function FourState(value: number | bigint, mask: number | bigint): FourStateValue;
153
168
  export declare function isFourStateValue(v: unknown): v is FourStateValue;
154
169
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -9,9 +9,16 @@
9
9
  // ---------------------------------------------------------------------------
10
10
  // 4-state helpers
11
11
  // ---------------------------------------------------------------------------
12
- /** Sentinel representing all-X. */
12
+ /** Sentinel representing all-X (unknown). X = (v=1, m=1) per bit. */
13
13
  export const X = Symbol.for("veryl:X");
14
- /** Construct a 4-state value. Mask bits set to 1 indicate X. */
14
+ /** Sentinel representing all-Z (high-impedance). Z = (v=0, m=1) per bit. */
15
+ export const Z = Symbol.for("veryl:Z");
16
+ /**
17
+ * Construct a 4-state value with explicit value and mask.
18
+ *
19
+ * Mask bits set to 1 with value=1 indicate X (unknown).
20
+ * Mask bits set to 1 with value=0 indicate Z (high-impedance).
21
+ */
15
22
  export function FourState(value, mask) {
16
23
  return { __fourState: true, value: BigInt(value), mask: BigInt(mask) };
17
24
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuKH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,mCAAmC;AACnC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AASvC,gEAAgE;AAChE,MAAM,UAAU,SAAS,CACxB,KAAsB,EACtB,IAAqB;IAErB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAU;IAC1C,OAAO,CACN,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACT,CAAoB,CAAC,WAAW,KAAK,IAAI,CAC1C,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACvC,IAAI,CAAS;IACb,KAAK,CAAS;IAEvB,YAAY,OAAe,EAAE,IAAY,EAAE,KAAa;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;CACD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuKH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,qEAAqE;AACrE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEvC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAiBvC;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACxB,KAAsB,EACtB,IAAqB;IAErB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAU;IAC1C,OAAO,CACN,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACT,CAAoB,CAAC,WAAW,KAAK,IAAI,CAC1C,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACvC,IAAI,CAAS;IACb,KAAK,CAAS;IAEvB,YAAY,OAAe,EAAE,IAAY,EAAE,KAAa;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celox-sim/celox",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "TypeScript runtime for Celox HDL simulation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
- "@celox-sim/celox-napi": "0.1.17"
32
+ "@celox-sim/celox-napi": "0.1.19"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "vitest": ">=1.0.0"
package/src/dut.test.ts CHANGED
@@ -437,9 +437,9 @@ describe("createDut — 4-state", () => {
437
437
  const dut = createDut<{ a: bigint }>(buffer, layout, ports, handle, state);
438
438
 
439
439
  (dut as any).a = X;
440
- // Value should be 0, mask should be 0xFF
440
+ // X = (v=1, m=1) per bit: value should be 0xFF, mask should be 0xFF
441
441
  const [value, mask] = readFourState(buffer, layout.a);
442
- expect(value).toBe(0n);
442
+ expect(value).toBe(0xffn);
443
443
  expect(mask).toBe(0xffn);
444
444
  });
445
445
 
@@ -831,9 +831,9 @@ describe("createDut — array ports", () => {
831
831
 
832
832
  const view = new DataView(buffer);
833
833
 
834
- // Assign X to element 3: value bit 3 → 0, mask bit 3 → 1
834
+ // Assign X to element 3: X = (v=1, m=1), so value bit 3 → 1, mask bit 3 → 1
835
835
  dut.bits.set(3, X);
836
- expect(view.getUint8(0) & 0b00001000).toBe(0); // value: bit 3 = 0
836
+ expect(view.getUint8(0) & 0b00001000).toBe(0b00001000); // value: bit 3 = 1
837
837
  expect(view.getUint8(1) & 0b00001000).toBe(0b00001000); // mask: bit 3 = 1
838
838
 
839
839
  // Write a defined 1 to element 3: value bit 3 → 1, mask bit 3 → 0
@@ -882,9 +882,9 @@ describe("createDut — array ports", () => {
882
882
 
883
883
  const view = new DataView(buffer);
884
884
 
885
- // Assign X to element 0 (bitStart=0, no cross-byte): value bits 0-2 = 0, mask bits 0-2 = 0b111
885
+ // Assign X to element 0 (bitStart=0, no cross-byte): X = (v=1, m=1), value bits 0-2 = 0b111, mask bits 0-2 = 0b111
886
886
  dut.data.set(0, X);
887
- expect(view.getUint8(0) & 0b111).toBe(0); // value byte 0: bits 0-2 cleared
887
+ expect(view.getUint8(0) & 0b111).toBe(0b111); // value byte 0: bits 0-2 set (X encoding)
888
888
  expect(view.getUint8(2) & 0b111).toBe(0b111); // mask byte 2: bits 0-2 set
889
889
  expect(view.getUint8(1)).toBe(0); // value byte 1: untouched
890
890
  expect(view.getUint8(3)).toBe(0); // mask byte 3: untouched
package/src/dut.ts CHANGED
@@ -157,9 +157,22 @@ function writeFourState(
157
157
  writeSignal(view, maskLayout, fsv.mask);
158
158
  }
159
159
 
160
- /** Write all-X mask for a signal. */
160
+ /** Write all-X to a signal: X = (v=1, m=1) per bit. */
161
161
  function writeAllX(view: DataView, sig: SignalLayout): void {
162
- // Value = 0, mask = all 1s
162
+ const allOnes = (1n << BigInt(sig.width)) - 1n;
163
+ writeSignal(view, sig, allOnes);
164
+ const maskLayout: SignalLayout = {
165
+ offset: sig.offset + sig.byteSize,
166
+ width: sig.width,
167
+ byteSize: sig.byteSize,
168
+ is4state: false,
169
+ direction: sig.direction,
170
+ };
171
+ writeSignal(view, maskLayout, allOnes);
172
+ }
173
+
174
+ /** Write all-Z to a signal: Z = (v=0, m=1) per bit. */
175
+ function writeAllZ(view: DataView, sig: SignalLayout): void {
163
176
  writeSignal(view, sig, 0n);
164
177
  const allOnes = (1n << BigInt(sig.width)) - 1n;
165
178
  const maskLayout: SignalLayout = {
@@ -381,6 +394,11 @@ function defineSignalProperty(
381
394
  throw new Error(`Port '${name}' is not 4-state; cannot assign X`);
382
395
  }
383
396
  writeAllX(view, sig);
397
+ } else if (value === Symbol.for("veryl:Z")) {
398
+ if (!sig.is4state) {
399
+ throw new Error(`Port '${name}' is not 4-state; cannot assign Z`);
400
+ }
401
+ writeAllZ(view, sig);
384
402
  } else if (isFourStateValue(value)) {
385
403
  if (!sig.is4state) {
386
404
  throw new Error(
@@ -574,6 +592,13 @@ function createArrayDut(
574
592
  if (!is4state) {
575
593
  throw new Error("Array port is not 4-state; cannot assign X");
576
594
  }
595
+ const allOnes = (1 << elementWidth) - 1;
596
+ writeBitPackedElement(view, baseOffset, elementWidth, i, allOnes);
597
+ writeBitPackedElement(view, maskBase, elementWidth, i, allOnes);
598
+ } else if (value === Symbol.for("veryl:Z")) {
599
+ if (!is4state) {
600
+ throw new Error("Array port is not 4-state; cannot assign Z");
601
+ }
577
602
  writeBitPackedElement(view, baseOffset, elementWidth, i, 0);
578
603
  writeBitPackedElement(
579
604
  view,
@@ -656,6 +681,18 @@ function createArrayDut(
656
681
  direction: baseSig.direction,
657
682
  };
658
683
  writeAllX(view, elemSig);
684
+ } else if (value === Symbol.for("veryl:Z")) {
685
+ if (!is4state) {
686
+ throw new Error("Array port is not 4-state; cannot assign Z");
687
+ }
688
+ const elemSig: SignalLayout = {
689
+ offset,
690
+ width: elementWidth,
691
+ byteSize: elementByteSize,
692
+ is4state,
693
+ direction: baseSig.direction,
694
+ };
695
+ writeAllZ(view, elemSig);
659
696
  } else if (isFourStateValue(value)) {
660
697
  if (!is4state) {
661
698
  throw new Error("Array port is not 4-state; cannot assign FourState");
package/src/index.ts CHANGED
@@ -61,6 +61,7 @@ export {
61
61
  isFourStateValue,
62
62
  SimulationTimeoutError,
63
63
  X,
64
+ Z,
64
65
  } from "./types.js";
65
66
 
66
67
  // NAPI bridge (backward compat — re-exports from napi-helpers)
package/src/matchers.ts CHANGED
@@ -18,18 +18,24 @@ import type { SignalLayout } from "./types.js";
18
18
 
19
19
  declare module "vitest" {
20
20
  interface Assertion {
21
- /** Assert that the value has any X bits (mask !== 0). */
21
+ /** Assert that the value has any X/Z bits (mask !== 0). */
22
22
  toBeX(): void;
23
- /** Assert that the value is all-X (mask === all-ones). */
23
+ /** Assert that the value is all-X (v=1,m=1 for all bits). */
24
24
  toBeAllX(): void;
25
- /** Assert that the value has no X bits (mask === 0). */
25
+ /** Assert that the value has no X/Z bits (mask === 0). */
26
26
  toBeNotX(): void;
27
+ /** Assert that the value has any Z bits (mask=1,value=0 somewhere). */
28
+ toBeZ(): void;
29
+ /** Assert that the value is all-Z (v=0,m=1 for all bits). */
30
+ toBeAllZ(): void;
27
31
  }
28
32
 
29
33
  interface AsymmetricMatchersContaining {
30
34
  toBeX(): void;
31
35
  toBeAllX(): void;
32
36
  toBeNotX(): void;
37
+ toBeZ(): void;
38
+ toBeAllZ(): void;
33
39
  }
34
40
  }
35
41
 
@@ -70,27 +76,26 @@ function isFourStateRef(v: unknown): v is FourStateRef {
70
76
  // Matcher implementations
71
77
  // ---------------------------------------------------------------------------
72
78
 
73
- function getMask(received: unknown): bigint {
79
+ function getValueAndMask(received: unknown): [bigint, bigint] {
74
80
  if (!isFourStateRef(received)) {
75
81
  throw new TypeError(
76
- "toBeX/toBeAllX/toBeNotX matchers require a FourStateRef. " +
82
+ "4-state matchers require a FourStateRef. " +
77
83
  "Use sim.fourStateRef(name) to get one.",
78
84
  );
79
85
  }
80
- const [, mask] = readFourState(received.buffer, received.layout);
81
- return mask;
86
+ return readFourState(received.buffer, received.layout);
82
87
  }
83
88
 
84
89
  const customMatchers = {
85
90
  toBeX(received: unknown) {
86
- const mask = getMask(received);
91
+ const [, mask] = getValueAndMask(received);
87
92
  const pass = mask !== 0n;
88
93
  return {
89
94
  pass,
90
95
  message: () =>
91
96
  pass
92
- ? `expected signal NOT to have X bits, but mask = ${mask}`
93
- : `expected signal to have X bits, but mask = 0`,
97
+ ? `expected signal NOT to have X/Z bits, but mask = ${mask}`
98
+ : `expected signal to have X/Z bits, but mask = 0`,
94
99
  };
95
100
  },
96
101
 
@@ -98,28 +103,59 @@ const customMatchers = {
98
103
  if (!isFourStateRef(received)) {
99
104
  throw new TypeError("toBeAllX requires a FourStateRef");
100
105
  }
101
- const [, mask] = readFourState(received.buffer, received.layout);
106
+ const [value, mask] = readFourState(received.buffer, received.layout);
102
107
  const width = received.layout.width;
103
108
  const allOnes = (1n << BigInt(width)) - 1n;
104
- const pass = mask === allOnes;
109
+ const pass = mask === allOnes && value === allOnes;
105
110
  return {
106
111
  pass,
107
112
  message: () =>
108
113
  pass
109
114
  ? `expected signal NOT to be all-X`
110
- : `expected signal to be all-X, but mask = ${mask}`,
115
+ : `expected signal to be all-X (v=all-1s, m=all-1s), but v=${value}, m=${mask}`,
111
116
  };
112
117
  },
113
118
 
114
119
  toBeNotX(received: unknown) {
115
- const mask = getMask(received);
120
+ const [, mask] = getValueAndMask(received);
116
121
  const pass = mask === 0n;
117
122
  return {
118
123
  pass,
119
124
  message: () =>
120
125
  pass
121
- ? `expected signal to have X bits, but mask = 0`
122
- : `expected signal NOT to have X bits, but mask = ${mask}`,
126
+ ? `expected signal to have X/Z bits, but mask = 0`
127
+ : `expected signal NOT to have X/Z bits, but mask = ${mask}`,
128
+ };
129
+ },
130
+
131
+ toBeZ(received: unknown) {
132
+ const [value, mask] = getValueAndMask(received);
133
+ // Z bits: mask=1 AND value=0
134
+ const zBits = mask & ~value;
135
+ const pass = zBits !== 0n;
136
+ return {
137
+ pass,
138
+ message: () =>
139
+ pass
140
+ ? `expected signal NOT to have Z bits, but found Z`
141
+ : `expected signal to have Z bits, but none found (v=${value}, m=${mask})`,
142
+ };
143
+ },
144
+
145
+ toBeAllZ(received: unknown) {
146
+ if (!isFourStateRef(received)) {
147
+ throw new TypeError("toBeAllZ requires a FourStateRef");
148
+ }
149
+ const [value, mask] = readFourState(received.buffer, received.layout);
150
+ const width = received.layout.width;
151
+ const allOnes = (1n << BigInt(width)) - 1n;
152
+ const pass = mask === allOnes && value === 0n;
153
+ return {
154
+ pass,
155
+ message: () =>
156
+ pass
157
+ ? `expected signal NOT to be all-Z`
158
+ : `expected signal to be all-Z (v=0, m=all-1s), but v=${value}, m=${mask}`,
123
159
  };
124
160
  },
125
161
  };
package/src/types.ts CHANGED
@@ -176,17 +176,33 @@ export interface EventHandle {
176
176
  // 4-state helpers
177
177
  // ---------------------------------------------------------------------------
178
178
 
179
- /** Sentinel representing all-X. */
179
+ /** Sentinel representing all-X (unknown). X = (v=1, m=1) per bit. */
180
180
  export const X = Symbol.for("veryl:X");
181
181
 
182
- /** A 4-state value with explicit bit-level mask. */
182
+ /** Sentinel representing all-Z (high-impedance). Z = (v=0, m=1) per bit. */
183
+ export const Z = Symbol.for("veryl:Z");
184
+
185
+ /**
186
+ * A 4-state value with explicit bit-level mask.
187
+ *
188
+ * Encoding per bit:
189
+ * - `(v=0, m=0)` → 0
190
+ * - `(v=1, m=0)` → 1
191
+ * - `(v=0, m=1)` → Z (high-impedance)
192
+ * - `(v=1, m=1)` → X (unknown)
193
+ */
183
194
  export interface FourStateValue {
184
195
  readonly __fourState: true;
185
196
  readonly value: bigint;
186
197
  readonly mask: bigint;
187
198
  }
188
199
 
189
- /** Construct a 4-state value. Mask bits set to 1 indicate X. */
200
+ /**
201
+ * Construct a 4-state value with explicit value and mask.
202
+ *
203
+ * Mask bits set to 1 with value=1 indicate X (unknown).
204
+ * Mask bits set to 1 with value=0 indicate Z (high-impedance).
205
+ */
190
206
  export function FourState(
191
207
  value: number | bigint,
192
208
  mask: number | bigint,