[VHDL] Fix VHDL implementation of bitwidth modifiers #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit replaces the Handshaking logic in the VHDL implementation of the bitwidth modifier entities
trunc_op
,sext_op
, andzext_op
. Previously, the ready signal was computed as a combination of thepValidArray
(valid predecessor signal) and thenReadyArray
(ready successor signal). While this works in most cases, it is too conservative and may cause deadlocks/critical path increases. As such, the ready signal is modified to just "forward" the dataflow successor's one. This makes the bitwidth modification components act as perfect "forwarders" of control signals, only altering the data signal in the process.