Reset processing on assert edge only

This commit is contained in:
Alex Forencich
2021-03-21 12:25:09 -07:00
parent 78bc288812
commit 448815b16d
5 changed files with 43 additions and 43 deletions

View File

@@ -216,16 +216,16 @@ class GmiiSource(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
self.active = False self.active = False
self.data <= 0 self.data <= 0
if self.er is not None: if self.er is not None:
self.er <= 0 self.er <= 0
self.dv <= 0 self.dv <= 0
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
async def _run(self): async def _run(self):
frame = None frame = None
@@ -379,13 +379,13 @@ class GmiiSink(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
self.active = False
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.scheduler.start_soon(self._run())
self.active = False
async def _run(self): async def _run(self):
frame = None frame = None
self.active = False self.active = False

View File

@@ -117,16 +117,16 @@ class MiiSource(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
self.active = False self.active = False
self.data <= 0 self.data <= 0
if self.er is not None: if self.er is not None:
self.er <= 0 self.er <= 0
self.dv <= 0 self.dv <= 0
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
async def _run(self): async def _run(self):
frame = None frame = None
@@ -273,13 +273,13 @@ class MiiSink(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
self.active = False
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.scheduler.start_soon(self._run())
self.active = False
async def _run(self): async def _run(self):
frame = None frame = None
self.active = False self.active = False

View File

@@ -186,10 +186,6 @@ class PtpClock(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
self.ts_96_s = 0 self.ts_96_s = 0
self.ts_96_ns = 0 self.ts_96_ns = 0
@@ -205,6 +201,10 @@ class PtpClock(Reset):
self.ts_step <= 0 self.ts_step <= 0
if self.pps is not None: if self.pps is not None:
self.pps <= 0 self.pps <= 0
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
async def _run(self): async def _run(self):
while True: while True:

View File

@@ -117,14 +117,14 @@ class RgmiiSource(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
self.active = False self.active = False
self.data <= 0 self.data <= 0
self.ctrl <= 0 self.ctrl <= 0
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
async def _run(self): async def _run(self):
frame = None frame = None
@@ -287,13 +287,13 @@ class RgmiiSink(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
self.active = False
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.scheduler.start_soon(self._run())
self.active = False
async def _run(self): async def _run(self):
frame = None frame = None
self.active = False self.active = False

View File

@@ -222,14 +222,14 @@ class XgmiiSource(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
self.active = False self.active = False
self.data <= 0 self.data <= 0
self.ctrl <= 0 self.ctrl <= 0
else:
self.log.info("Reset de-asserted")
if self._run_cr is None:
self._run_cr = cocotb.scheduler.start_soon(self._run())
async def _run(self): async def _run(self):
frame = None frame = None
@@ -401,13 +401,13 @@ class XgmiiSink(Reset):
if self._run_cr is not None: if self._run_cr is not None:
self._run_cr.kill() self._run_cr.kill()
self._run_cr = None self._run_cr = None
self.active = False
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.scheduler.start_soon(self._run())
self.active = False
async def _run(self): async def _run(self):
frame = None frame = None
self.active = False self.active = False