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

XGMII interface needs to send control codes #5

Open
nltcn opened this issue May 22, 2024 · 4 comments
Open

XGMII interface needs to send control codes #5

nltcn opened this issue May 22, 2024 · 4 comments

Comments

@nltcn
Copy link

nltcn commented May 22, 2024

Control codes cannot be sent out due to the _run requiring preamble to payload. When a local fault occurs on the receive side, we must advise link partner and restart sync with a control code.
Add a way to transmit control codes.

@alexforencich
Copy link
Owner

What control codes do you want to send? Ordered sets?

As far as I can tell, the local fault/remote fault ordered sets are only for indication, they have no effect over the actual link. CDR and block lock is completely independent of the data being sent over the link.

@nltcn
Copy link
Author

nltcn commented May 23, 2024

When in local fault, the XGMII will output 0x0100009c with control mask 0x11. The system must send 0x0200009c with control mask 0x11 (yes, it is part of the ordered set) to let the link partner that it is not ready yet and that resync is required. Once local fault has been cleared, we can send the idle.

@alexforencich
Copy link
Owner

So you want to have the local fault/remote fault indication. What's the purpose? It has no effect on the operation of the actual link.

@alexforencich
Copy link
Owner

Ah sorry, I just realized this is the cocotbext-eth repo, not the actual HDL one. I need to figure out the proper way of handing ordered sets, as they're not data and it doesn't really make sense to handle them as such, at least in terms of local fault and remote fault.

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

2 participants