test: _wishbone.py → utils/wishbone.py
authorJean-François Nguyen <jf@lambdaconcept.com>
Mon, 28 Jun 2021 13:47:15 +0000 (15:47 +0200)
committerJean-François Nguyen <jf@lambdaconcept.com>
Mon, 28 Jun 2021 15:52:08 +0000 (17:52 +0200)
lambdasoc/test/_wishbone.py [deleted file]
lambdasoc/test/test_periph_base.py
lambdasoc/test/test_periph_serial.py
lambdasoc/test/test_periph_sram.py
lambdasoc/test/test_periph_timer.py
lambdasoc/test/utils/__init__.py [new file with mode: 0644]
lambdasoc/test/utils/wishbone.py [new file with mode: 0644]

diff --git a/lambdasoc/test/_wishbone.py b/lambdasoc/test/_wishbone.py
deleted file mode 100644 (file)
index c7ab28c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-def wb_read(bus, addr, sel, timeout=32):
-    yield bus.cyc.eq(1)
-    yield bus.stb.eq(1)
-    yield bus.adr.eq(addr)
-    yield bus.sel.eq(sel)
-    yield
-    cycles = 0
-    while not (yield bus.ack):
-        yield
-        if cycles >= timeout:
-            raise RuntimeError("Wishbone transaction timed out")
-        cycles += 1
-    data = (yield bus.dat_r)
-    yield bus.cyc.eq(0)
-    yield bus.stb.eq(0)
-    return data
-
-def wb_write(bus, addr, data, sel, timeout=32):
-    yield bus.cyc.eq(1)
-    yield bus.stb.eq(1)
-    yield bus.adr.eq(addr)
-    yield bus.we.eq(1)
-    yield bus.sel.eq(sel)
-    yield bus.dat_w.eq(data)
-    yield
-    cycles = 0
-    while not (yield bus.ack):
-        yield
-        if cycles >= timeout:
-            raise RuntimeError("Wishbone transaction timed out")
-        cycles += 1
-    yield bus.cyc.eq(0)
-    yield bus.stb.eq(0)
-    yield bus.we.eq(0)
index c3f59ffcaa32f26aee808b6c72cab55d742814d8..abd4125231eef6d8898b22c7d39a58102e37f0f6 100644 (file)
@@ -4,7 +4,7 @@ import unittest
 from nmigen import *
 from nmigen.back.pysim import *
 
-from ._wishbone import *
+from .utils.wishbone import *
 from ..periph.base import Peripheral, CSRBank, PeripheralBridge
 
 
index e73c274a3c9aaac2a9904a53b225fb5c786e3bc5..a4a59f088e04b1a67060fd78b13afa0e7f463e3f 100644 (file)
@@ -4,7 +4,7 @@ from nmigen import *
 from nmigen.lib.io import pin_layout
 from nmigen.back.pysim import *
 
-from ._wishbone import *
+from .utils.wishbone import *
 from ..periph.serial import AsyncSerialPeripheral
 
 
index 266de6d6b7624e2a649d56b569989dd3959a08fe..103b3fb9feae41e01b08614a9de13fd4fd00f9c2 100644 (file)
@@ -8,7 +8,7 @@ from nmigen.back.pysim import *
 
 from nmigen_soc.wishbone import CycleType, BurstTypeExt
 
-from ._wishbone import *
+from .utils.wishbone import *
 from ..periph.sram import SRAMPeripheral
 
 
index cdbb9985cd28570ad9ebfe5d3cbdc4066479b936..22540f75019d312b17263d511e0d5db62dbbdaff 100644 (file)
@@ -5,7 +5,7 @@ import unittest
 from nmigen import *
 from nmigen.back.pysim import *
 
-from ._wishbone import *
+from .utils.wishbone import *
 from ..periph.timer import TimerPeripheral
 
 
diff --git a/lambdasoc/test/utils/__init__.py b/lambdasoc/test/utils/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lambdasoc/test/utils/wishbone.py b/lambdasoc/test/utils/wishbone.py
new file mode 100644 (file)
index 0000000..a2eef4a
--- /dev/null
@@ -0,0 +1,43 @@
+from nmigen import *
+
+from nmigen_soc import wishbone
+
+
+__all__ = ["wb_read", "wb_write"]
+
+
+def wb_read(bus, addr, sel, timeout=32):
+    yield bus.cyc.eq(1)
+    yield bus.stb.eq(1)
+    yield bus.adr.eq(addr)
+    yield bus.sel.eq(sel)
+    yield
+    cycles = 0
+    while not (yield bus.ack):
+        yield
+        if cycles >= timeout:
+            raise RuntimeError("Wishbone transaction timed out")
+        cycles += 1
+    data = (yield bus.dat_r)
+    yield bus.cyc.eq(0)
+    yield bus.stb.eq(0)
+    return data
+
+
+def wb_write(bus, addr, data, sel, timeout=32):
+    yield bus.cyc.eq(1)
+    yield bus.stb.eq(1)
+    yield bus.adr.eq(addr)
+    yield bus.we.eq(1)
+    yield bus.sel.eq(sel)
+    yield bus.dat_w.eq(data)
+    yield
+    cycles = 0
+    while not (yield bus.ack):
+        yield
+        if cycles >= timeout:
+            raise RuntimeError("Wishbone transaction timed out")
+        cycles += 1
+    yield bus.cyc.eq(0)
+    yield bus.stb.eq(0)
+    yield bus.we.eq(0)