Revert back to cocotb.fork
This commit is contained in:
@@ -243,9 +243,9 @@ class AxiMasterWrite(Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._process_write_cr is None:
|
if self._process_write_cr is None:
|
||||||
self._process_write_cr = cocotb.scheduler.start_soon(self._process_write())
|
self._process_write_cr = cocotb.fork(self._process_write())
|
||||||
if self._process_write_resp_cr is None:
|
if self._process_write_resp_cr is None:
|
||||||
self._process_write_resp_cr = cocotb.scheduler.start_soon(self._process_write_resp())
|
self._process_write_resp_cr = cocotb.fork(self._process_write_resp())
|
||||||
|
|
||||||
async def _process_write(self):
|
async def _process_write(self):
|
||||||
while True:
|
while True:
|
||||||
@@ -591,9 +591,9 @@ class AxiMasterRead(Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._process_read_cr is None:
|
if self._process_read_cr is None:
|
||||||
self._process_read_cr = cocotb.scheduler.start_soon(self._process_read())
|
self._process_read_cr = cocotb.fork(self._process_read())
|
||||||
if self._process_read_resp_cr is None:
|
if self._process_read_resp_cr is None:
|
||||||
self._process_read_resp_cr = cocotb.scheduler.start_soon(self._process_read_resp())
|
self._process_read_resp_cr = cocotb.fork(self._process_read_resp())
|
||||||
|
|
||||||
async def _process_read(self):
|
async def _process_read(self):
|
||||||
while True:
|
while True:
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ class AxiRamWrite(Memory, Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._process_write_cr is None:
|
if self._process_write_cr is None:
|
||||||
self._process_write_cr = cocotb.scheduler.start_soon(self._process_write())
|
self._process_write_cr = cocotb.fork(self._process_write())
|
||||||
|
|
||||||
async def _process_write(self):
|
async def _process_write(self):
|
||||||
while True:
|
while True:
|
||||||
@@ -201,7 +201,7 @@ class AxiRamRead(Memory, Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._process_read_cr is None:
|
if self._process_read_cr is None:
|
||||||
self._process_read_cr = cocotb.scheduler.start_soon(self._process_read())
|
self._process_read_cr = cocotb.fork(self._process_read())
|
||||||
|
|
||||||
async def _process_read(self):
|
async def _process_read(self):
|
||||||
while True:
|
while True:
|
||||||
|
|||||||
@@ -179,9 +179,9 @@ class AxiLiteMasterWrite(Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._process_write_cr is None:
|
if self._process_write_cr is None:
|
||||||
self._process_write_cr = cocotb.scheduler.start_soon(self._process_write())
|
self._process_write_cr = cocotb.fork(self._process_write())
|
||||||
if self._process_write_resp_cr is None:
|
if self._process_write_resp_cr is None:
|
||||||
self._process_write_resp_cr = cocotb.scheduler.start_soon(self._process_write_resp())
|
self._process_write_resp_cr = cocotb.fork(self._process_write_resp())
|
||||||
|
|
||||||
async def _process_write(self):
|
async def _process_write(self):
|
||||||
while True:
|
while True:
|
||||||
@@ -396,9 +396,9 @@ class AxiLiteMasterRead(Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._process_read_cr is None:
|
if self._process_read_cr is None:
|
||||||
self._process_read_cr = cocotb.scheduler.start_soon(self._process_read())
|
self._process_read_cr = cocotb.fork(self._process_read())
|
||||||
if self._process_read_resp_cr is None:
|
if self._process_read_resp_cr is None:
|
||||||
self._process_read_resp_cr = cocotb.scheduler.start_soon(self._process_read_resp())
|
self._process_read_resp_cr = cocotb.fork(self._process_read_resp())
|
||||||
|
|
||||||
async def _process_read(self):
|
async def _process_read(self):
|
||||||
while True:
|
while True:
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ class AxiLiteRamWrite(Memory, Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._process_write_cr is None:
|
if self._process_write_cr is None:
|
||||||
self._process_write_cr = cocotb.scheduler.start_soon(self._process_write())
|
self._process_write_cr = cocotb.fork(self._process_write())
|
||||||
|
|
||||||
async def _process_write(self):
|
async def _process_write(self):
|
||||||
while True:
|
while True:
|
||||||
@@ -156,7 +156,7 @@ class AxiLiteRamRead(Memory, Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._process_read_cr is None:
|
if self._process_read_cr is None:
|
||||||
self._process_read_cr = cocotb.scheduler.start_soon(self._process_read())
|
self._process_read_cr = cocotb.fork(self._process_read())
|
||||||
|
|
||||||
async def _process_read(self):
|
async def _process_read(self):
|
||||||
while True:
|
while True:
|
||||||
|
|||||||
@@ -378,7 +378,7 @@ class AxiStreamBase(Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._run_cr is None:
|
if self._run_cr is None:
|
||||||
self._run_cr = cocotb.scheduler.start_soon(self._run())
|
self._run_cr = cocotb.fork(self._run())
|
||||||
|
|
||||||
async def _run(self):
|
async def _run(self):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
@@ -400,7 +400,7 @@ class AxiStreamPause:
|
|||||||
self._pause_generator = generator
|
self._pause_generator = generator
|
||||||
|
|
||||||
if self._pause_generator is not None:
|
if self._pause_generator is not None:
|
||||||
self._pause_cr = cocotb.scheduler.start_soon(self._run_pause())
|
self._pause_cr = cocotb.fork(self._run_pause())
|
||||||
|
|
||||||
def clear_pause_generator(self):
|
def clear_pause_generator(self):
|
||||||
self.set_pause_generator(None)
|
self.set_pause_generator(None)
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class Reset:
|
|||||||
self._reset_state = True
|
self._reset_state = True
|
||||||
|
|
||||||
if reset_signal is not None:
|
if reset_signal is not None:
|
||||||
cocotb.scheduler.start_soon(self._run_reset(reset_signal, bool(active_level)))
|
cocotb.fork(self._run_reset(reset_signal, bool(active_level)))
|
||||||
|
|
||||||
self._update_reset()
|
self._update_reset()
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ class StreamBase(Reset):
|
|||||||
else:
|
else:
|
||||||
self.log.info("Reset de-asserted")
|
self.log.info("Reset de-asserted")
|
||||||
if self._run_cr is None:
|
if self._run_cr is None:
|
||||||
self._run_cr = cocotb.scheduler.start_soon(self._run())
|
self._run_cr = cocotb.fork(self._run())
|
||||||
|
|
||||||
async def _run(self):
|
async def _run(self):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
@@ -175,7 +175,7 @@ class StreamPause:
|
|||||||
self._pause_generator = generator
|
self._pause_generator = generator
|
||||||
|
|
||||||
if self._pause_generator is not None:
|
if self._pause_generator is not None:
|
||||||
self._pause_cr = cocotb.scheduler.start_soon(self._run_pause())
|
self._pause_cr = cocotb.fork(self._run_pause())
|
||||||
|
|
||||||
def clear_pause_generator(self):
|
def clear_pause_generator(self):
|
||||||
self.set_pause_generator(None)
|
self.set_pause_generator(None)
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class TB:
|
|||||||
self.log = logging.getLogger("cocotb.tb")
|
self.log = logging.getLogger("cocotb.tb")
|
||||||
self.log.setLevel(logging.DEBUG)
|
self.log.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
cocotb.scheduler.start_soon(Clock(dut.clk, 2, units="ns").start())
|
cocotb.fork(Clock(dut.clk, 2, units="ns").start())
|
||||||
|
|
||||||
self.axi_master = AxiMaster(AxiBus.from_prefix(dut, "axi"), dut.clk, dut.rst)
|
self.axi_master = AxiMaster(AxiBus.from_prefix(dut, "axi"), dut.clk, dut.rst)
|
||||||
self.axi_ram = AxiRam(AxiBus.from_prefix(dut, "axi"), dut.clk, dut.rst, size=2**16)
|
self.axi_ram = AxiRam(AxiBus.from_prefix(dut, "axi"), dut.clk, dut.rst, size=2**16)
|
||||||
@@ -283,7 +283,7 @@ async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None):
|
|||||||
workers = []
|
workers = []
|
||||||
|
|
||||||
for k in range(16):
|
for k in range(16):
|
||||||
workers.append(cocotb.scheduler.start_soon(worker(tb.axi_master, k*0x1000, 0x1000, count=16)))
|
workers.append(cocotb.fork(worker(tb.axi_master, k*0x1000, 0x1000, count=16)))
|
||||||
|
|
||||||
while workers:
|
while workers:
|
||||||
await workers.pop(0).join()
|
await workers.pop(0).join()
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class TB:
|
|||||||
self.log = logging.getLogger("cocotb.tb")
|
self.log = logging.getLogger("cocotb.tb")
|
||||||
self.log.setLevel(logging.DEBUG)
|
self.log.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
cocotb.scheduler.start_soon(Clock(dut.clk, 2, units="ns").start())
|
cocotb.fork(Clock(dut.clk, 2, units="ns").start())
|
||||||
|
|
||||||
self.axil_master = AxiLiteMaster(AxiLiteBus.from_prefix(dut, "axil"), dut.clk, dut.rst)
|
self.axil_master = AxiLiteMaster(AxiLiteBus.from_prefix(dut, "axil"), dut.clk, dut.rst)
|
||||||
self.axil_ram = AxiLiteRam(AxiLiteBus.from_prefix(dut, "axil"), dut.clk, dut.rst, size=2**16)
|
self.axil_ram = AxiLiteRam(AxiLiteBus.from_prefix(dut, "axil"), dut.clk, dut.rst, size=2**16)
|
||||||
@@ -272,7 +272,7 @@ async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None):
|
|||||||
workers = []
|
workers = []
|
||||||
|
|
||||||
for k in range(16):
|
for k in range(16):
|
||||||
workers.append(cocotb.scheduler.start_soon(worker(tb.axil_master, k*0x1000, 0x1000, count=16)))
|
workers.append(cocotb.fork(worker(tb.axil_master, k*0x1000, 0x1000, count=16)))
|
||||||
|
|
||||||
while workers:
|
while workers:
|
||||||
await workers.pop(0).join()
|
await workers.pop(0).join()
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class TB:
|
|||||||
self.log = logging.getLogger("cocotb.tb")
|
self.log = logging.getLogger("cocotb.tb")
|
||||||
self.log.setLevel(logging.DEBUG)
|
self.log.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
cocotb.scheduler.start_soon(Clock(dut.clk, 2, units="ns").start())
|
cocotb.fork(Clock(dut.clk, 2, units="ns").start())
|
||||||
|
|
||||||
self.source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "axis"), dut.clk, dut.rst)
|
self.source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "axis"), dut.clk, dut.rst)
|
||||||
self.sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "axis"), dut.clk, dut.rst)
|
self.sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "axis"), dut.clk, dut.rst)
|
||||||
|
|||||||
Reference in New Issue
Block a user