alexforencich/cocotbext-axi

AttributeError: 'NoneType' object has no attribute 'setimmediatevalue'

kirill-bessonov opened this issue · 1 comments

cocotbext-axi==0.1.16

Hello,

I am trying to drive my AXI4-Lite slave with this master:
self.axi_drv = AxiLiteMaster(AxiLiteBus.from_prefix(self.dut, "AXI4_LITE_"), self.dut.i_clk, self.dut.i_rst_n)
but have an error in Questa when execution PY script:

                      self.axi_drv = AxiLiteMaster(AxiLiteBus.from_prefix(self.dut, "AXI4_LITE_"), self.dut.i_clk, self.dut.i_rst_n)
                    File "/usr/local/lib/python3.6/site-packages/cocotbext/axi/axil_master.py", line 521, in __init__
                      self.write_if = AxiLiteMasterWrite(bus.write, clock, reset, reset_active_level, **kwargs)
                    File "/usr/local/lib/python3.6/site-packages/cocotbext/axi/axil_master.py", line 98, in __init__
                      self.aw_channel = AxiLiteAWSource(bus.aw, clock, reset, reset_active_level)
                    File "/usr/local/lib/python3.6/site-packages/cocotbext/axi/stream.py", line 197, in __init__
                      super().__init__(bus, clock, reset, reset_active_level, *args, **kwargs)
                    File "/usr/local/lib/python3.6/site-packages/cocotbext/axi/stream.py", line 114, in __init__
                      self.valid.setimmediatevalue(self._valid_init)
                  AttributeError: 'NoneType' object has no attribute 'setimmediatevalue'

Does anybody know the solution?

Solution has been founded.
This string:
self.axi_drv = AxiLiteMaster(AxiLiteBus.from_prefix(self.dut, "AXI4_LITE_"), self.dut.i_clk, self.dut.i_rst_n)
will search for "_xxx" signals i.e. with underscore.
This string:
self.axi_drv = AxiLiteMaster(AxiLiteBus.from_prefix(self.dut, "AXI4_LITE"), self.dut.i_clk, self.dut.i_rst_n)
will search for "xxx" signals i.e. without underscore, that will correspond to correct names as ["data", "valid", "ready"].