internal-control behavior

This field behaves like a control register that constrols an internal signal by default. That is, the MMIO bus interface is read/write, and the contents of the internal register drives an internal signal. The name of the internal signal must be set using drive-internal.

This structure supports the following configuration keys.

bus-read

Configures what happens when a bus read occurs.

The following values are supported:

  • enabled (default): normal read access to field, ignoring valid bit.

  • error: reads always return a slave error.

  • disabled: read access is disabled.

This key is optional unless required by context. If not specified, the default value (enabled) is used.

bus-write

Configures what happens when a bus write occurs.

The following values are supported:

  • masked (default): write access respects strobe bits. Precludes after-bus-write.

  • enabled: normal write access to register. Masked bits are written 0.

This key is optional unless required by context. If not specified, the default value (masked) is used.

reset

Configures the reset value.

The following values are supported:

  • no (default): the internal data register resets to 0, with the valid flag set.

  • yes: the internal data register resets to 1, with the valid flag set.

  • an integer: the internal data register resets to the given value, with the valid flag set.

  • generic: the reset value is controlled through a VHDL generic.

This key is optional unless required by context. If not specified, the default value (no) is used.

internal

Configures the internal signal that is to be driven. The value must be a string matching [a-zA-Z][a-zA-Z0-9_]*.

This key is required.