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}) {
  final logicVal = LogicValue.of(val, fill: fill, width: width);

  var index = 0;
  for (final element in leafElements) {
    element.put(logicVal.getRange(index, index + element.width));
    index += element.width;
  }
}