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

AvalonMM: Initial Support for Burst read/write transactions #44

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mawillia
Copy link

@mawillia mawillia commented Apr 1, 2022

First pass; fixes #43

Review / comments appreciated.

Copy link
Contributor

@cmarqu cmarqu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution, just some small stylistic things.

src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
src/cocotb_bus/drivers/avalon.py Outdated Show resolved Hide resolved
Incorporates suggestions from Colin.

Co-authored-by: Colin Marquardt <[email protected]>
@cmarqu
Copy link
Contributor

cmarqu commented Apr 2, 2022

Would it be possible to implement a test for this in https://github.com/cocotb/cocotb-bus/blob/master/tests/test_cases/test_avalon/test_avalon.py?

@mawillia
Copy link
Author

mawillia commented Apr 2, 2022

I understand what you are asking for. At the moment the test_avalon.py really only tests the AvalonMemory slave python class. There isn't anything that tests any of the AvalonMM driver class. To test that out, would need a different HDL design block that implemented the slave side of the Avalon MM bus (I've done that for IP my company is developing, but can't share it yet). I might be able to get something like that together, but it will take a little weekend time. Is VHDL acceptable or only Verilog for the designs section of the repository? What simulators do you normally test with (I am using Intel's version of Questa)? I'm not a strong verilog guy, but if you back me into a corner I could probably pull something together.

I am planning to add additional capability to the AvalonMM to support additional testing (e.g., handling parameterized read latency, byte enables for writes, etc.).

@themperek
Copy link
Contributor

@mawillia We can add GHDL for testing here. Possibly even Questa but this is a bit more involved.

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.

Support AvalonMM burst read and writes.
3 participants