put method

  1. @override
void put(
  1. dynamic val, {
  2. bool fill = false,
})
override

Puts a value val onto this signal, which may or may not be picked up for changed in this Simulator tick.

The type of val should be an int, BigInt, bool, or LogicValue.

This function is used for propogating glitches through connected signals. Use this function for custom definitions of Module behavior.

If fill is set, all bits of the signal gets set to val, similar to ' in SystemVerilog.

Implementation

@override
void put(dynamic val, {bool fill = false}) {
  if (val is FixedPointValue) {
    if ((signed != val.signed) | (m != val.m) | (n != val.n)) {
      throw RohdHclException('Value is not compatible with signal.');
    }
    super.put(val.value);
  } else {
    throw RohdHclException('Only FixedPointValue is allowed');
  }
}