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
374 stars 67 forks source link

Make conditional assign a little more optimistic with invalid values #459

Closed mkorbel1 closed 9 months ago

mkorbel1 commented 9 months ago

Description & Motivation

Previous changes made any invalid value on a conditional assignment turn the entire bus to X, which is very pessimistic, probably too much. Better would be to convert any Z bit to X, but leave the valid bits alone. That's the main change in this PR.

Also:

Related Issue(s)

N/A

Testing

Added new tests, plus existing tests cover a lot

Backwards-compatibility

Is this a breaking change that will not be backwards-compatible? If yes, how so?

No, but behavior will be slightly more optimistic now (closer to previous implementation).

Documentation

Does the change require any updates to documentation? If so, where? Are they included?

No