Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

⚠️ rework CFU handshake interface #1046

Merged
merged 6 commits into from
Oct 2, 2024
Merged

⚠️ rework CFU handshake interface #1046

merged 6 commits into from
Oct 2, 2024

Conversation

stnolting
Copy link
Owner

@stnolting stnolting commented Oct 2, 2024

⚠️ This PR is a rework of the custom functions unit's (CFU) handshake protocol.

With the changes from this PR, the "processing done" / "result valid" signal valid_o has to be set (for one cycle) at the same time the processing result / output data result_o is valid.

Thus, the handshake is easier to understand and easier to implement.

✨ Furthermore, this PR provides a rework of the "CFU proxy logic" allowing an (all-combinatorial) CFU operation to commit much faster: the minimum CPU execution time of a single CFU operation is reduced from 4 clock cycles down to 3 clock cycles.

@stnolting stnolting added HW Hardware-related optimization Make things faster, smaller and more efficient labels Oct 2, 2024
@stnolting stnolting self-assigned this Oct 2, 2024
@stnolting stnolting changed the title ⚠️ [cfu] rework CFU handshake interface ⚠️ rework CFU handshake interface Oct 2, 2024
@stnolting stnolting marked this pull request as ready for review October 2, 2024 19:01
@stnolting stnolting merged commit 1562f5c into main Oct 2, 2024
10 checks passed
@stnolting stnolting deleted the cfu_reworks branch October 2, 2024 19:46
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
HW Hardware-related optimization Make things faster, smaller and more efficient
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant