intel / rohd

The Rapid Open Hardware Development (ROHD) framework is a framework for describing and verifying hardware in the Dart programming language.
https://intel.github.io/rohd-website
BSD 3-Clause "New" or "Revised" License
370 stars 65 forks source link

Non-synthesizable APIs on `LogicStructure` rely on `packed` #457

Closed mkorbel1 closed 8 months ago

mkorbel1 commented 8 months ago

Describe the bug

Non-synthesizable APIs such as posedge or value depend on the result of packed to compute their value. This is generally accurate, but has two major downsides:

To Reproduce

Call previousValue on a LogicStructure and observe that it is null.

Expected behavior

The APIs should not have side effects of creating hardware (even without functional impact) and should be functional in the same way as Logic.

Actual behavior

No response

Additional: Dart SDK info

No response

Additional: pubspec.yaml

No response

Additional: Context

No response