Testing mega-issue #24

Open
opened 2023-01-22 21:36:05 -07:00 by david · 2 comments
Owner

This will contain my general test plan as well as some more major test results.

First off, I want to do as much debugging of my RTL through simulation testing, and want to do that through more formalized regression tests as much as possible. As well I hope to have module level unit tests where it makes sense. (Potentially I could also make some test firmwares to aid this).

Obviously hardware bring-up will be its own thing, and I will want some test firmwares so I can do that whole process. Although, I can likely just run my regular firmware with some minor tweaks to do this.

Once basic hardware bringup is done (and I do any necessary board revisions :/), then comes the fun part, where I do full integration testing on the actual board.

I will start with a single channel on the 4-channel design, so I can use our 4th hydrophone and not deal with re-terminating the BNC connectors until later. I should be able to do the majority of my debugging here. The only major worry I have with moving to 4 channels when we add them is doing any automatic gain control. Although I'm not sure we need to do that to a significant amount. It can also be done on the software side, it doesn't need to happen in the firmware, as long as I export the gain settings.

This will contain my general test plan as well as some more major test results. First off, I want to do as much debugging of my RTL through simulation testing, and want to do that through more formalized regression tests as much as possible. As well I hope to have module level unit tests where it makes sense. (Potentially I could also make some test firmwares to aid this). Obviously hardware bring-up will be its own thing, and I will want some test firmwares so I can do that whole process. Although, I can likely just run my regular firmware with some minor tweaks to do this. Once basic hardware bringup is done (and I do any necessary board revisions :/), then comes the fun part, where I do full integration testing on the actual board. I will start with a single channel on the 4-channel design, so I can use our 4th hydrophone and not deal with re-terminating the BNC connectors until later. I should be able to do the majority of my debugging here. The only major worry I have with moving to 4 channels when we add them is doing any automatic gain control. Although I'm not sure we need to do that to a significant amount. It can also be done on the software side, it doesn't need to happen in the firmware, as long as I export the gain settings.
Author
Owner

The first test that passes is I have blinky!

Today I fixed the issues with my SoC (most issues due to me not understanding the wishbone utilities I was using from amaranth-soc, and then some dumb addressing things), and got to a simple blinky.

I was able to debug all of my issues with simulation, pretty effectively, which gives me hope that the rest of the design will also go smoothly. But I am at least able to reliably debug my issues in sim, which will help a lot as behaviour gets more complex.

The first test that passes is I have blinky! Today I fixed the issues with my SoC (most issues due to me not understanding the wishbone utilities I was using from amaranth-soc, and then some dumb addressing things), and got to a simple blinky. I was able to debug all of my issues with simulation, pretty effectively, which gives me hope that the rest of the design will also go smoothly. But I am at least able to reliably debug my issues in sim, which will help a lot as behaviour gets more complex.
Author
Owner

I've decided to go with unittest for my main test infrastructure. I've used it before, very simple test setup. Just need to flesh out a simple base class with amaranth-specific helpers for running simulation.

I've decided to go with unittest for my main test infrastructure. I've used it before, very simple test setup. Just need to flesh out a simple base class with amaranth-specific helpers for running simulation.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: david/new-sonar#24
No description provided.