Reset processing on assert edge only
This commit is contained in:
@@ -216,17 +216,17 @@ 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
|
||||||
|
|
||||||
|
self.active = False
|
||||||
|
self.data <= 0
|
||||||
|
if self.er is not None:
|
||||||
|
self.er <= 0
|
||||||
|
self.dv <= 0
|
||||||
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
|
|
||||||
self.data <= 0
|
|
||||||
if self.er is not None:
|
|
||||||
self.er <= 0
|
|
||||||
self.dv <= 0
|
|
||||||
|
|
||||||
async def _run(self):
|
async def _run(self):
|
||||||
frame = None
|
frame = None
|
||||||
ifg_cnt = 0
|
ifg_cnt = 0
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -117,17 +117,17 @@ 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
|
||||||
|
|
||||||
|
self.active = False
|
||||||
|
self.data <= 0
|
||||||
|
if self.er is not None:
|
||||||
|
self.er <= 0
|
||||||
|
self.dv <= 0
|
||||||
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
|
|
||||||
self.data <= 0
|
|
||||||
if self.er is not None:
|
|
||||||
self.er <= 0
|
|
||||||
self.dv <= 0
|
|
||||||
|
|
||||||
async def _run(self):
|
async def _run(self):
|
||||||
frame = None
|
frame = None
|
||||||
ifg_cnt = 0
|
ifg_cnt = 0
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -186,26 +186,26 @@ 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
|
||||||
|
|
||||||
|
self.ts_96_s = 0
|
||||||
|
self.ts_96_ns = 0
|
||||||
|
self.ts_96_fns = 0
|
||||||
|
self.ts_64_ns = 0
|
||||||
|
self.ts_64_fns = 0
|
||||||
|
self.drift_cnt = 0
|
||||||
|
if self.ts_96 is not None:
|
||||||
|
self.ts_96 <= 0
|
||||||
|
if self.ts_64 is not None:
|
||||||
|
self.ts_64 <= 0
|
||||||
|
if self.ts_step is not None:
|
||||||
|
self.ts_step <= 0
|
||||||
|
if self.pps is not None:
|
||||||
|
self.pps <= 0
|
||||||
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.ts_96_s = 0
|
|
||||||
self.ts_96_ns = 0
|
|
||||||
self.ts_96_fns = 0
|
|
||||||
self.ts_64_ns = 0
|
|
||||||
self.ts_64_fns = 0
|
|
||||||
self.drift_cnt = 0
|
|
||||||
if self.ts_96 is not None:
|
|
||||||
self.ts_96 <= 0
|
|
||||||
if self.ts_64 is not None:
|
|
||||||
self.ts_64 <= 0
|
|
||||||
if self.ts_step is not None:
|
|
||||||
self.ts_step <= 0
|
|
||||||
if self.pps is not None:
|
|
||||||
self.pps <= 0
|
|
||||||
|
|
||||||
async def _run(self):
|
async def _run(self):
|
||||||
while True:
|
while True:
|
||||||
await RisingEdge(self.clock)
|
await RisingEdge(self.clock)
|
||||||
|
|||||||
@@ -117,15 +117,15 @@ 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
|
||||||
|
|
||||||
|
self.active = False
|
||||||
|
self.data <= 0
|
||||||
|
self.ctrl <= 0
|
||||||
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
|
|
||||||
self.data <= 0
|
|
||||||
self.ctrl <= 0
|
|
||||||
|
|
||||||
async def _run(self):
|
async def _run(self):
|
||||||
frame = None
|
frame = None
|
||||||
ifg_cnt = 0
|
ifg_cnt = 0
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -222,15 +222,15 @@ 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
|
||||||
|
|
||||||
|
self.active = False
|
||||||
|
self.data <= 0
|
||||||
|
self.ctrl <= 0
|
||||||
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
|
|
||||||
self.data <= 0
|
|
||||||
self.ctrl <= 0
|
|
||||||
|
|
||||||
async def _run(self):
|
async def _run(self):
|
||||||
frame = None
|
frame = None
|
||||||
ifg_cnt = 0
|
ifg_cnt = 0
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user