Remove await ReadOnly
This commit is contained in:
@@ -26,7 +26,7 @@ import logging
|
||||
from collections import deque
|
||||
|
||||
import cocotb
|
||||
from cocotb.triggers import RisingEdge, ReadOnly, Timer, First, Event
|
||||
from cocotb.triggers import RisingEdge, Timer, First, Event
|
||||
from cocotb.utils import get_sim_time
|
||||
from cocotb.bus import Bus
|
||||
|
||||
@@ -354,14 +354,13 @@ class AxiStreamSource(object):
|
||||
self.active = False
|
||||
|
||||
while True:
|
||||
await ReadOnly()
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
# read handshake signals
|
||||
tready_sample = (not hasattr(self.bus, "tready")) or self.bus.tready.value
|
||||
tvalid_sample = (not hasattr(self.bus, "tvalid")) or self.bus.tvalid.value
|
||||
|
||||
if self.reset is not None and self.reset.value:
|
||||
await RisingEdge(self.clock)
|
||||
frame = None
|
||||
self.active = False
|
||||
self.bus.tdata <= 0
|
||||
@@ -379,8 +378,6 @@ class AxiStreamSource(object):
|
||||
self.bus.tuser <= 0
|
||||
continue
|
||||
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
if (tready_sample and tvalid_sample) or not tvalid_sample:
|
||||
if frame is None and self.queue:
|
||||
frame = self.queue.popleft()
|
||||
@@ -597,14 +594,13 @@ class AxiStreamSink(object):
|
||||
self.active = False
|
||||
|
||||
while True:
|
||||
await ReadOnly()
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
# read handshake signals
|
||||
tready_sample = (not hasattr(self.bus, "tready")) or self.bus.tready.value
|
||||
tvalid_sample = (not hasattr(self.bus, "tvalid")) or self.bus.tvalid.value
|
||||
|
||||
if self.reset is not None and self.reset.value:
|
||||
await RisingEdge(self.clock)
|
||||
frame = None
|
||||
self.active = False
|
||||
if hasattr(self.bus, "tready"):
|
||||
@@ -642,8 +638,6 @@ class AxiStreamSink(object):
|
||||
|
||||
frame = None
|
||||
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
if hasattr(self.bus, "tready"):
|
||||
self.bus.tready <= (not self.full() and not self.pause)
|
||||
|
||||
@@ -784,14 +778,13 @@ class AxiStreamMonitor(object):
|
||||
self.active = False
|
||||
|
||||
while True:
|
||||
await ReadOnly()
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
# read handshake signals
|
||||
tready_sample = (not hasattr(self.bus, "tready")) or self.bus.tready.value
|
||||
tvalid_sample = (not hasattr(self.bus, "tvalid")) or self.bus.tvalid.value
|
||||
|
||||
if self.reset is not None and self.reset.value:
|
||||
await RisingEdge(self.clock)
|
||||
frame = None
|
||||
self.active = False
|
||||
continue
|
||||
@@ -823,5 +816,3 @@ class AxiStreamMonitor(object):
|
||||
self.sync.set()
|
||||
|
||||
frame = None
|
||||
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
@@ -26,7 +26,7 @@ import logging
|
||||
from collections import deque
|
||||
|
||||
import cocotb
|
||||
from cocotb.triggers import RisingEdge, ReadOnly, Event, First, Timer
|
||||
from cocotb.triggers import RisingEdge, Event, First, Timer
|
||||
from cocotb.bus import Bus
|
||||
|
||||
|
||||
@@ -190,22 +190,19 @@ class StreamSource(StreamBase, StreamPause):
|
||||
|
||||
async def _run_source(self):
|
||||
while True:
|
||||
await ReadOnly()
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
# read handshake signals
|
||||
ready_sample = self.ready is None or self.ready.value
|
||||
valid_sample = self.valid is None or self.valid.value
|
||||
|
||||
if self.reset is not None and self.reset.value:
|
||||
await RisingEdge(self.clock)
|
||||
self.clear()
|
||||
if self.valid is not None:
|
||||
self.valid <= 0
|
||||
self.active = False
|
||||
continue
|
||||
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
if (ready_sample and valid_sample) or (not valid_sample):
|
||||
if self.drive_obj and not self.pause:
|
||||
self.bus.drive(self.drive_obj)
|
||||
@@ -275,14 +272,13 @@ class StreamSink(StreamBase, StreamPause):
|
||||
|
||||
async def _run_sink(self):
|
||||
while True:
|
||||
await ReadOnly()
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
# read handshake signals
|
||||
ready_sample = self.ready is None or self.ready.value
|
||||
valid_sample = self.valid is None or self.valid.value
|
||||
|
||||
if self.reset is not None and self.reset.value:
|
||||
await RisingEdge(self.clock)
|
||||
self.clear()
|
||||
if self.ready is not None:
|
||||
self.ready <= 0
|
||||
@@ -293,7 +289,6 @@ class StreamSink(StreamBase, StreamPause):
|
||||
self.bus.sample(obj)
|
||||
self.callback(obj)
|
||||
|
||||
await RisingEdge(self.clock)
|
||||
if self.ready is not None:
|
||||
self.ready <= (not self.pause)
|
||||
|
||||
@@ -351,14 +346,13 @@ class StreamMonitor(StreamBase):
|
||||
|
||||
async def _run_monitor(self):
|
||||
while True:
|
||||
await ReadOnly()
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
# read handshake signals
|
||||
ready_sample = self.ready is None or self.ready.value
|
||||
valid_sample = self.valid is None or self.valid.value
|
||||
|
||||
if self.reset is not None and self.reset.value:
|
||||
await RisingEdge(self.clock)
|
||||
self.clear()
|
||||
continue
|
||||
|
||||
@@ -367,8 +361,6 @@ class StreamMonitor(StreamBase):
|
||||
self.bus.sample(obj)
|
||||
self.callback(obj)
|
||||
|
||||
await RisingEdge(self.clock)
|
||||
|
||||
|
||||
def define_stream(name, signals, optional_signals=None, valid_signal=None, ready_signal=None, signal_widths=None):
|
||||
all_signals = signals.copy()
|
||||
|
||||
Reference in New Issue
Block a user