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

SPI Engine: execution improvements #1499

Merged
merged 4 commits into from
Nov 14, 2024
Merged

SPI Engine: execution improvements #1499

merged 4 commits into from
Nov 14, 2024

Conversation

LBFFilho
Copy link
Contributor

@LBFFilho LBFFilho commented Oct 29, 2024

PR Description

A couple of improvements to the execution module for the SPI Engine. Mostly code reorganization, but this should improve timing closure for projects using the SPI Engine.

The changes here should not affect the functionality of the SPI Engine.

  • Reorganized the counters
  • Moved lower level shift register logic to separate module
  • Pipelined barrel shifter on sdo path

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)

PR Checklist

  • I have followed the code style guidelines
  • I have performed a self-review of changes
  • I have compiled all hdl projects and libraries affected by this PR
  • I have tested in hardware affected projects, at least on relevant boards
  • I have commented my code, at least hard-to-understand parts
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe files, Copyright etc)
  • I have not introduced new Warnings/Critical Warnings on compilation
  • I have added new hdl testbenches or updated existing ones

Split up the different counters for better readability. Might synthesize down to slightly larger logic.

Signed-off-by: Laez Barbosa <[email protected]>
@LBFFilho LBFFilho changed the title Spi execution improve SPI Engine: execution improvements Oct 29, 2024
@LBFFilho LBFFilho force-pushed the spi_execution_improve branch from e55230b to e26bac3 Compare October 29, 2024 22:00
@LBFFilho LBFFilho force-pushed the spi_execution_improve branch 2 times, most recently from 47a4cf0 to 1b1c538 Compare October 31, 2024 15:39
Moved shift register logic to separate module

Signed-off-by: Laez Barbosa <[email protected]>
@LBFFilho LBFFilho force-pushed the spi_execution_improve branch from 1b1c538 to a513832 Compare October 31, 2024 17:41
Split path between sdo data input and sdo shift register, which includes a barrel shifter.

Signed-off-by: Laez Barbosa <[email protected]>
@LBFFilho LBFFilho force-pushed the spi_execution_improve branch from a513832 to 88ed47a Compare November 6, 2024 19:16
Copy link
Contributor

@gastmaier gastmaier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know the new module is mostly a wrapper for the deleted lines, but they should conform to the code guidelines even though the old code doesn't.

@LBFFilho LBFFilho requested a review from gastmaier November 11, 2024 17:51
Signed-off-by: Laez Barbosa <[email protected]>
@LBFFilho LBFFilho force-pushed the spi_execution_improve branch from 3f88556 to 831e115 Compare November 11, 2024 20:22
@LBFFilho LBFFilho merged commit 13107c0 into main Nov 14, 2024
3 of 5 checks passed
@LBFFilho LBFFilho deleted the spi_execution_improve branch November 14, 2024 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants