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

Need PcieEndpointController.bsv to follow the PCIe spec around PERST #226

Open
Aaron-Hartwig opened this issue Oct 8, 2024 · 0 comments
Assignees

Comments

@Aaron-Hartwig
Copy link
Collaborator

Right now the PcieEndpointController block is used to proxy PERST# from a server to the Tofino 2. That block should honor the various timings around PERST# defined by the PCIe spec:

  • Tpvperl - PERST# must remain active at least this long after power becomes valid
  • Tperst - When asserted, PERST# must remain asserted at least this long
  • Tfail - When power becomes invalid, PERST# must be asserted within this time
  • Tperst-clk - PERST# must remain active at least this long after any supplied reference clock is
    stable

There is a discussion of this in RFD 123. Right now we don't have any software controls around enforcing this behavior, things are working just due to the nature of boot. We can enforce the right behavior in the FPGA, so we should. The CEM spec is the worst case scenario around PERST#, so we should implement to that.

  • Tpvperl - 100 ms (min)
  • Tperst - 100 us (min)
  • Tfail - 500 ns (max)
  • Tperst-clk - 100 us (min)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant