An SRGATE block produces either a high (SET) or low (RST) output. It has configurable inputs and an option to force its output independently. Both Set and Rst inputs can be selected from bit bus, and the active-edge of its inputs is configurable. An enable signal allows the block to ignore its inputs.
Fields¶
| Name | Type | Description |
|---|---|---|
| ENABLE | bit_mux | Whether to listen to SET/RST events |
| SET | bit_mux | A falling/rising edge sets the output to 1 |
| RST | bit_mux | a falling/rising edge resets the output to 0 |
| WHEN_DISABLED | param enum | What to do with the output when Enable is low |
| SET_EDGE | param enum | Output set edge |
| RST_EDGE | param enum | Output reset edge |
| FORCE_SET | write action | Set output to 1 |
| FORCE_RST | write action | Reset output to 0 |
| OUT | bit_out | output value |
Normal conditions¶
The normal behaviour is to set the output OUT on the configured edge of the SET or RESET input.
Disabling the block¶
The default behaviour is to force the block output low when disabled, ignoring any SET/RST events:
The disabled value can also be set high:
Or left at its current value:
Active edge configure conditions¶
if the active edge is ‘rising’ then reset to ‘falling’ at the same time as a rising edge on the SET input, the block will ignore the rising edge and set the output OUT on the falling edge of the SET input.
If the active edge changes to ‘falling’ at the same time as a falling edge on the SET input, the output OUT will be set following this.
Set-reset conditions¶
When determining the output if two values are set simultaneously, FORCE_SET and FORCE_RESET registers take priority over the input bus, and reset takes priority over set.