|
CIRCT 24.0.0git
|
Functions | |
| type["MaxOutstandingLimiterImpl"] | MaxOutstandingLimiter (Type data_type, int max_outstanding) |
| type["MaxOutstandingLimiterImpl"] esiaccel.components.flow.MaxOutstandingLimiter | ( | Type | data_type, |
| int | max_outstanding ) |
Rate-limit a channel to at most `max_outstanding` outstanding transactions. A transaction becomes outstanding when a message is accepted on `in_` and remains outstanding until `complete` is pulsed. `in_` is stalled whenever `max_outstanding` transactions are already outstanding. `complete` must pulse for exactly one cycle per completed transaction and must not pulse while zero transactions are outstanding; the module does not check this. When an input transaction and a `complete` pulse occur on the same cycle the outstanding count is left unchanged.
Definition at line 21 of file flow.py.
References Input.