Remove await ReadOnly

This commit is contained in:
Alex Forencich
2020-12-24 00:24:03 -08:00
parent 7b7e8bf3e2
commit 7582067929
2 changed files with 8 additions and 25 deletions

View File

@@ -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()