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

CI/Doc: Add tests for 32-bit/64-bit Datapath. #89

Open
enjoy-digital opened this issue Nov 1, 2021 · 2 comments
Open

CI/Doc: Add tests for 32-bit/64-bit Datapath. #89

enjoy-digital opened this issue Nov 1, 2021 · 2 comments
Labels

Comments

@enjoy-digital
Copy link
Owner

@lschuermann, @david-sawatzke: Thanks a lot for the work on the 32-bit/64-bit Datapath. Would you mind listing here the tests/commands you are currently running to verify your changes (at least in simulation)? This will be useful now for the PRs reviews/eventual modifications and will be useful for later to document these and add CI. Thanks!

@david-sawatzke
Copy link
Contributor

david-sawatzke commented Nov 1, 2021

I have used a couple different approaches depending on the issue at hand:

  • ARP works by just resolving the IP (tests the MAC, hybrid mac and hardware stack)
  • tftp works to copy data from the bios (variable length data gets received via sram.py)
  • ping with varying lengths to exercise the last_be options and verify the Packetizer/Depacketizer works with different last_bes
    • The icmp checksum fails if data is missing
  • etherbone to read data, primarily with the crossbar uart to check the data is valid.

Usually coupled with wireshark and the debug prints in the bios to take a look at the packets.

I've also tested the MAC & SRAM stack on the colorlight 5a-75b, with the bios and firmware (smoltcp) that handles (hacky) telnet and some art-net udp.

For #88 we mostly worked with ping.

The simulation is a bit hacky, but I usually test with ./litex_sim.py --with-sdram --ethernet-phy-model=gmii --with-etherbone --with-ethernet and adjusting the code in litex_sim to test the correct thing. For #88 I mostly used https://gist.github.com/david-sawatzke/d0463060d84ce1748370c0888b1f6343.

EDIT:

For #90 upstream for 8 bit testing and https://gist.github.com/david-sawatzke/daca60f6e8dc196895e30387c928dd57 for 32 bit testing. And https://gist.github.com/david-sawatzke/34acfa65b411672fee73e5367371e818 with ./colorlight_5a_75x.py --board 5a-75b --with-etherbone --revision 6.1 --build --sys-clk-freq 50e6 --load

@enjoy-digital
Copy link
Owner Author

Thanks @david-sawatzke, I indeed mostly wanted to know the used commands to also be able to run similar simulations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants