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

D2D adapter CRC calculation #18

Open
3 tasks
rahulk29 opened this issue Sep 20, 2023 · 0 comments
Open
3 tasks

D2D adapter CRC calculation #18

rahulk29 opened this issue Sep 20, 2023 · 0 comments
Assignees

Comments

@rahulk29
Copy link
Collaborator

rahulk29 commented Sep 20, 2023

Relevant spec sections: 3.7
The CRC module accepts a 128 byte message and produces a 2 byte CRC according to the CRC polynomial in the spec. The two CRC bytes are called CRC 0 and 1, respectively.

The UCIe spec provides a reference CRC implementation in SystemVerilog. For whatever reason, this reference implementation is only in the UCIe 1.0 spec (look for crc_gen in the 1.0 spec).
Request the UCIe 1.0 spec here.

Since the reference implementation is in SystemVerilog, which has limited parametrization ability, it is pretty ugly. We should re-implement it cleanly in Chisel.

  • Define the CRC Generator IOs in Chisel
  • Implement CRC computation in Chisel
  • Set up testbench to ensure Chisel CRC output matches reference implementation
@ronitnag04 ronitnag04 linked a pull request Nov 3, 2023 that will close this issue
@ronitnag04 ronitnag04 removed a link to a pull request Nov 3, 2023
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

No branches or pull requests

3 participants