Skip to content

Splitter Bus error #4

@jordanbancino

Description

@jordanbancino

The attached .jls circuit fails on execution with the following error:

Bus error: Attempting to set 4-bit value '0000' on 3-bit bus, currently holding '000'.

      142 |
      143 |       if (value.getWidth() > this.#width) {
    > 144 |         throw new Error(
          |               ^
      145 |           `Bus error: Attempting to set ${value.getWidth()}-bit value '${value}' on ${this.#width}-bit bus, currently holding '${this.#value}'.`,
      146 |         );
      147 |       }

      at CircuitBus.setValue (src/CircuitBus.ts:144:15)
      at setValue (src/CircuitBus.ts:164:40)
          at Array.forEach (<anonymous>)
      at CircuitBus.forEach [as setValue] (src/CircuitBus.ts:164:23)
      at setValue (src/CircuitBus.ts:164:40)
          at Array.forEach (<anonymous>)
      at CircuitBus.forEach [as setValue] (src/CircuitBus.ts:164:23)
      at setValue (src/CircuitBus.ts:164:40)
          at Array.forEach (<anonymous>)
      at CircuitBus.forEach [as setValue] (src/CircuitBus.ts:164:23)
      at setValue (src/CircuitBus.ts:164:40)
          at Array.forEach (<anonymous>)
      at CircuitBus.forEach [as setValue] (src/CircuitBus.ts:164:23)
      at Splitter.setValue (src/CircuitElement/Splitter.ts:109:14)
      at Splitter.resolve (src/CircuitElement/Splitter.ts:220:22)
      at Circuit.resolve (src/Circuit.ts:500:35)
      at Circuit.resolve [as run] (src/Circuit.ts:309:19)
      at Object.run (tests/jls/MemoryCounter.test.ts:45:11)

See the attached test file for runnable code. All signs point to a bug in the Splitter.

MemoryCounter.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions