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

Refactored SPI peripheral #1052

Merged
merged 19 commits into from
Nov 2, 2024
Merged

Refactored SPI peripheral #1052

merged 19 commits into from
Nov 2, 2024

Conversation

JacobPease
Copy link
Contributor

  • Refactored SPI peripheral based on SPI controller module. Works in tests/custom/spitest.
  • Fixed enabling of TransmitFIFOReadIncrement and ReceiveFIFOWriteIncrement
  • Fixed issues relating to SCLKenable and TransmitStart. Works at multiple dividers now, instead of just SckDiv = 0.
  • Added changed SPI controller module. New signal TransmitStartD that starts the FSM based on SCLKenable. TransmitStart is responsible for resetting SCLKenable and loading the Transmit Shift Register.
  • Fixed FSM to continue transmitting after delay.
  • Refactored SPI passes regression save for hardware interlock tests.
  • Fixing latches.
  • Fixed lint issues.
  • Fixed ShiftEdge and SampleEdge to not always include PhaseOneOffset. Before, it worked in simulation, but not on the FPGA.
  • Changed the condition for TransmitStart fsm to avoid edge condition.
  • Cleaned up some code. Still more work to do there.
  • Wrote a script that can take hexadecimal bytes from a file and write them to an output file and an sd card.
  • Added usage and help functions to write-bytes.sh
  • Reverted bootloader optimizations to second iteration. Working on last optimization.

…ple dividers now, instead of just SckDiv = 0.
…tarts the FSM based on SCLKenable. TransmitStart is responsible for resetting SCLKenable and loading the Transmit Shift Register.
…Before, it worked in simulation, but not on the FPGA.
@rosethompson rosethompson merged commit 95fc056 into openhwgroup:main Nov 2, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants