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

Elink tx round robin #80

Open
wants to merge 2 commits into
base: stable
Choose a base branch
from

Conversation

olajep
Copy link
Contributor

@olajep olajep commented May 17, 2016

All tests in elink/dv/tests produces the same output as before, except
for 'test_regs.emf' where the original code shows a Write-After-Read
condition with the access to ERX_CFG.

Tested for several hours on one board with
epiphany-examples running in parallel with e-read and e-write (to bogus
MMR address), no issues.

I'm not 100% happy with this one, as far as I can understand the
'oh_fifo_cdc' code there's a chicken-egg problem between
'wait_in'/'access_out' when using 'access_out' as an input to an
arbiter request line. I think it would be better if the FIFO also
exported 'valid' (~empty). Now the arbiter must guess (round-robin)
which port might have data (see note in oh_arbiter_rr3.v).

olajep added 2 commits May 17, 2016 10:50
NOTE: This arbiter always grant access on one port, even when there are
no requests. oh_fifo_cdc deasserts its access_out when wait_in is high.

Signed-off-by: Ola Jeppsson <[email protected]>
All tests in elink/dv/tests produces the same output as before, except
for 'test_regs.emf' where the original code shows a Write-After-Read
condition with the access to ERX_CFG.

Tested for several hours on one board with
epiphany-examples running in parallel with e-read and e-write (to bogus
MMR address), no issues.

I'm not 100% happy with this one, as far as I can understand the
'oh_fifo_cdc' code there's a chicken-egg problem between
'wait_in'/'access_out' when using 'access_out' as an input to an
arbiter request line. I think it would be better if the FIFO also
exported 'valid' (~empty). Now the arbiter must guess (round-robin)
which port might have data (see note in oh_arbiter_rr3.v).

Signed-off-by: Ola Jeppsson <[email protected]>
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.

1 participant