I am trying to setup Cocotb as my verification environment. I have been looking at the examples, that are useful, but I am not sure about direction I should go.
My block can be seen as:
- 4 busses in input
- 1 clock and 1 reset as inputs
- 2 busses in output
The output are the result of a combinational and sequential processing of the input signals.
The part I lack to go further is how to define correctly monitor for my inputs and output busses, that are (as far as I understand) not compliant with AvalonST
I looked at the examples provided with Cocotb, and what prevents me to get inspired is that the provided either:
- have no monitor (like adder)
- use AvalonST drivers (like endianswapper)
The questions I have at the moment are:
- When looking at the mean example, I see that the person has defined its own
StreamBusMonitor
, and I should do the same in my understanding (to monitor my 4 inputs to feed my reference model). AM I correct? - I don't understand how the names of the signals are matched by the
StreamBusMonitor
I see the following line:
dut_out = StreamBusMonitor(dut, "o", dut.clk)
but I don't understand the purpose of the "o", and where in the StreamBusMonitor it is used. Could someone help me? - I haven't found any official Cocotb forum. Is there a more official place to ask my beginner questions about Cocotb than StackOverflow?
Thanks all for your help.