Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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