generated from saji/ecp5-template
move swapbuffer test to hub75.py
This commit is contained in:
parent
8477698d77
commit
245108a07a
|
@ -10,9 +10,37 @@ from groovylight.hub75 import (
|
||||||
Hub75Coordinator,
|
Hub75Coordinator,
|
||||||
Hub75DataDriver,
|
Hub75DataDriver,
|
||||||
Hub75StringDriver,
|
Hub75StringDriver,
|
||||||
|
SwapBuffer,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_swapbuffer():
|
||||||
|
dut = SwapBuffer(Rgb666Layout, 512)
|
||||||
|
sim = Simulator(dut)
|
||||||
|
sim.add_clock(1e-6)
|
||||||
|
|
||||||
|
async def testbench(ctx):
|
||||||
|
init_color = {"red": 0, "green": 0, "blue": 0}
|
||||||
|
test_color = {"red": 8, "green": 8, "blue": 8}
|
||||||
|
ctx.set(dut.selector, 0)
|
||||||
|
ctx.set(dut.write_port.addr, 1)
|
||||||
|
ctx.set(dut.read_port.addr, 1)
|
||||||
|
ctx.set(dut.write_port.data, test_color)
|
||||||
|
await ctx.tick()
|
||||||
|
# assert that the read port addr 1 = 0
|
||||||
|
assert ctx.get(dut.read_port.data) == init_color
|
||||||
|
# swap buffer
|
||||||
|
ctx.set(dut.selector, 1)
|
||||||
|
await ctx.tick().repeat(
|
||||||
|
2
|
||||||
|
) # takes two clocks after switching selector to output data.
|
||||||
|
assert ctx.get(dut.read_port.data) == test_color
|
||||||
|
|
||||||
|
# TODO: add more assertions/verification
|
||||||
|
sim.add_testbench(testbench)
|
||||||
|
with sim.write_vcd("output.vcd"):
|
||||||
|
sim.run_until(1e-6 * 1000)
|
||||||
|
|
||||||
|
|
||||||
def test_stringdriver():
|
def test_stringdriver():
|
||||||
# the string driver test must
|
# the string driver test must
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
from amaranth.sim import Simulator
|
|
||||||
|
|
||||||
from ..hub75 import Hub75StringDriver, Rgb666Layout, SwapBuffer
|
|
||||||
|
|
||||||
|
|
||||||
def test_swapbuffer():
|
|
||||||
dut = SwapBuffer(Rgb666Layout, 512)
|
|
||||||
sim = Simulator(dut)
|
|
||||||
sim.add_clock(1e-6)
|
|
||||||
|
|
||||||
async def testbench(ctx):
|
|
||||||
init_color = {"red": 0, "green": 0, "blue": 0}
|
|
||||||
test_color = {"red": 8, "green": 8, "blue": 8}
|
|
||||||
ctx.set(dut.selector, 0)
|
|
||||||
ctx.set(dut.write_port.addr, 1)
|
|
||||||
ctx.set(dut.read_port.addr, 1)
|
|
||||||
ctx.set(dut.write_port.data, test_color)
|
|
||||||
await ctx.tick()
|
|
||||||
# assert that the read port addr 1 = 0
|
|
||||||
assert ctx.get(dut.read_port.data) == init_color
|
|
||||||
# swap buffer
|
|
||||||
ctx.set(dut.selector, 1)
|
|
||||||
await ctx.tick().repeat(
|
|
||||||
2
|
|
||||||
) # takes two clocks after switching selector to output data.
|
|
||||||
assert ctx.get(dut.read_port.data) == test_color
|
|
||||||
|
|
||||||
# TODO: add more assertions/verification
|
|
||||||
sim.add_testbench(testbench)
|
|
||||||
with sim.write_vcd("output.vcd"):
|
|
||||||
sim.run_until(1e-6 * 1000)
|
|
Loading…
Reference in a new issue