diff --git a/src/apb/tb/taxi_apb_adapter/test_taxi_apb_adapter.py b/src/apb/tb/taxi_apb_adapter/test_taxi_apb_adapter.py index 81db492..87fc2d7 100644 --- a/src/apb/tb/taxi_apb_adapter/test_taxi_apb_adapter.py +++ b/src/apb/tb/taxi_apb_adapter/test_taxi_apb_adapter.py @@ -20,7 +20,6 @@ import pytest import cocotb from cocotb.clock import Clock from cocotb.triggers import RisingEdge, Timer -from cocotb.regression import TestFactory from cocotbext.axi import ApbBus, ApbMaster, ApbRam @@ -57,6 +56,15 @@ class TB(object): await RisingEdge(self.dut.clk) +def cycle_pause(): + return itertools.cycle([1, 1, 1, 0]) + + +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), +) async def run_test_write(dut, data_in=None, idle_inserter=None, backpressure_inserter=None): tb = TB(dut) @@ -88,6 +96,11 @@ async def run_test_write(dut, data_in=None, idle_inserter=None, backpressure_ins await RisingEdge(dut.clk) +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), +) async def run_test_read(dut, data_in=None, idle_inserter=None, backpressure_inserter=None): tb = TB(dut) @@ -115,6 +128,11 @@ async def run_test_read(dut, data_in=None, idle_inserter=None, backpressure_inse await RisingEdge(dut.clk) +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), +) async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None): tb = TB(dut) @@ -151,20 +169,6 @@ async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None): await RisingEdge(dut.clk) -def cycle_pause(): - return itertools.cycle([1, 1, 1, 0]) - - -if getattr(cocotb, 'top', None) is not None: - - for test in [run_test_write, run_test_read, run_stress_test]: - - factory = TestFactory(test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.add_option("backpressure_inserter", [None, cycle_pause]) - factory.generate_tests() - - # cocotb-test tests_dir = os.path.abspath(os.path.dirname(__file__)) diff --git a/src/apb/tb/taxi_apb_axil_adapter/test_taxi_apb_axil_adapter.py b/src/apb/tb/taxi_apb_axil_adapter/test_taxi_apb_axil_adapter.py index fc7c592..24e5c24 100644 --- a/src/apb/tb/taxi_apb_axil_adapter/test_taxi_apb_axil_adapter.py +++ b/src/apb/tb/taxi_apb_axil_adapter/test_taxi_apb_axil_adapter.py @@ -20,7 +20,6 @@ import pytest import cocotb from cocotb.clock import Clock from cocotb.triggers import RisingEdge, Timer -from cocotb.regression import TestFactory from cocotbext.axi import ApbBus, ApbMaster, AxiLiteBus, AxiLiteRam @@ -61,7 +60,16 @@ class TB(object): await RisingEdge(self.dut.clk) -async def run_test_write(dut, data_in=None, idle_inserter=None, backpressure_inserter=None): +def cycle_pause(): + return itertools.cycle([1, 1, 1, 0]) + + +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), +) +async def run_test_write(dut, idle_inserter=None, backpressure_inserter=None): tb = TB(dut) @@ -92,7 +100,12 @@ async def run_test_write(dut, data_in=None, idle_inserter=None, backpressure_ins await RisingEdge(dut.clk) -async def run_test_read(dut, data_in=None, idle_inserter=None, backpressure_inserter=None): +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), +) +async def run_test_read(dut, idle_inserter=None, backpressure_inserter=None): tb = TB(dut) @@ -119,6 +132,11 @@ async def run_test_read(dut, data_in=None, idle_inserter=None, backpressure_inse await RisingEdge(dut.clk) +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), +) async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None): tb = TB(dut) @@ -155,20 +173,6 @@ async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None): await RisingEdge(dut.clk) -def cycle_pause(): - return itertools.cycle([1, 1, 1, 0]) - - -if getattr(cocotb, 'top', None) is not None: - - for test in [run_test_write, run_test_read, run_stress_test]: - - factory = TestFactory(test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.add_option("backpressure_inserter", [None, cycle_pause]) - factory.generate_tests() - - # cocotb-test tests_dir = os.path.abspath(os.path.dirname(__file__)) diff --git a/src/apb/tb/taxi_apb_dp_ram/test_taxi_apb_dp_ram.py b/src/apb/tb/taxi_apb_dp_ram/test_taxi_apb_dp_ram.py index 34b5028..50c7d6a 100644 --- a/src/apb/tb/taxi_apb_dp_ram/test_taxi_apb_dp_ram.py +++ b/src/apb/tb/taxi_apb_dp_ram/test_taxi_apb_dp_ram.py @@ -20,7 +20,6 @@ import pytest import cocotb from cocotb.clock import Clock from cocotb.triggers import RisingEdge, Timer -from cocotb.regression import TestFactory from cocotbext.axi import ApbBus, ApbMaster @@ -61,7 +60,16 @@ class TB(object): await RisingEdge(self.dut.a_clk) -async def run_test_write(dut, port=0, data_in=None, idle_inserter=None): +def cycle_pause(): + return itertools.cycle([1, 1, 1, 0]) + + +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("port", [0, 1]), +) +async def run_test_write(dut, port=0, idle_inserter=None): tb = TB(dut) @@ -90,7 +98,12 @@ async def run_test_write(dut, port=0, data_in=None, idle_inserter=None): await RisingEdge(dut.a_clk) -async def run_test_read(dut, port=0, data_in=None, idle_inserter=None): +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("port", [0, 1]), +) +async def run_test_read(dut, port=0, idle_inserter=None): tb = TB(dut) @@ -117,7 +130,11 @@ async def run_test_read(dut, port=0, data_in=None, idle_inserter=None): await RisingEdge(dut.a_clk) -async def run_test_arb(dut, data_in=None, idle_inserter=None): +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), +) +async def run_test_arb(dut, idle_inserter=None): tb = TB(dut) @@ -145,6 +162,10 @@ async def run_test_arb(dut, data_in=None, idle_inserter=None): await RisingEdge(dut.a_clk) +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), +) async def run_stress_test(dut, idle_inserter=None): tb = TB(dut) @@ -180,28 +201,6 @@ async def run_stress_test(dut, idle_inserter=None): await RisingEdge(dut.a_clk) -def cycle_pause(): - return itertools.cycle([1, 1, 1, 0]) - - -if getattr(cocotb, 'top', None) is not None: - - for test in [run_test_write, run_test_read]: - - factory = TestFactory(test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.add_option("port", [0, 1]) - factory.generate_tests() - - factory = TestFactory(run_test_arb) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.generate_tests() - - factory = TestFactory(run_stress_test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.generate_tests() - - # cocotb-test tests_dir = os.path.abspath(os.path.dirname(__file__)) diff --git a/src/apb/tb/taxi_apb_interconnect/test_taxi_apb_interconnect.py b/src/apb/tb/taxi_apb_interconnect/test_taxi_apb_interconnect.py index d348cfa..341c25c 100644 --- a/src/apb/tb/taxi_apb_interconnect/test_taxi_apb_interconnect.py +++ b/src/apb/tb/taxi_apb_interconnect/test_taxi_apb_interconnect.py @@ -14,12 +14,13 @@ import logging import os import random -import cocotb import cocotb_test.simulator import pytest + +import cocotb from cocotb.clock import Clock -from cocotb.regression import TestFactory from cocotb.triggers import RisingEdge, Timer + from cocotbext.axi import ApbBus, ApbMaster, ApbRam @@ -63,9 +64,26 @@ class TB(object): await RisingEdge(self.dut.clk) -async def run_test_write( - dut, data_in=None, idle_inserter=None, backpressure_inserter=None, s=0, m=0 -): +s_cnt = 1 +m_cnt = 1 + +if getattr(cocotb, "top", None) is not None: + s_cnt = len(cocotb.top.s_apb) + m_cnt = len(cocotb.top.m_apb) + + +def cycle_pause(): + return itertools.cycle([1, 1, 1, 0]) + + +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), + ("s", range(min(s_cnt, 2))), + ("m", range(min(m_cnt, 2))), +) +async def run_test_write(dut, idle_inserter=None, backpressure_inserter=None, s=0, m=0): tb = TB(dut) byte_lanes = tb.apb_master[s].byte_lanes @@ -102,9 +120,14 @@ async def run_test_write( await RisingEdge(dut.clk) -async def run_test_read( - dut, data_in=None, idle_inserter=None, backpressure_inserter=None, s=0, m=0 -): +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), + ("s", range(min(s_cnt, 2))), + ("m", range(min(m_cnt, 2))), +) +async def run_test_read(dut, idle_inserter=None, backpressure_inserter=None, s=0, m=0): tb = TB(dut) byte_lanes = tb.apb_master[s].byte_lanes @@ -131,6 +154,11 @@ async def run_test_read( await RisingEdge(dut.clk) +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), +) async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None): tb = TB(dut) @@ -176,28 +204,6 @@ async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None): await RisingEdge(dut.clk) -def cycle_pause(): - return itertools.cycle([1, 1, 1, 0]) - - -if getattr(cocotb, "top", None) is not None: - s_cnt = len(cocotb.top.s_apb) - m_cnt = len(cocotb.top.m_apb) - - for test in [run_test_write, run_test_read]: - factory = TestFactory(test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.add_option("backpressure_inserter", [None, cycle_pause]) - factory.add_option("s", range(min(s_cnt, 2))) - factory.add_option("m", range(min(m_cnt, 2))) - factory.generate_tests() - - factory = TestFactory(run_stress_test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.add_option("backpressure_inserter", [None, cycle_pause]) - factory.generate_tests() - - # cocotb-test tests_dir = os.path.abspath(os.path.dirname(__file__)) diff --git a/src/apb/tb/taxi_apb_interconnect_1s/test_taxi_apb_interconnect_1s.py b/src/apb/tb/taxi_apb_interconnect_1s/test_taxi_apb_interconnect_1s.py index 361f1da..868bf8f 100644 --- a/src/apb/tb/taxi_apb_interconnect_1s/test_taxi_apb_interconnect_1s.py +++ b/src/apb/tb/taxi_apb_interconnect_1s/test_taxi_apb_interconnect_1s.py @@ -14,12 +14,13 @@ import logging import os import random -import cocotb import cocotb_test.simulator import pytest + +import cocotb from cocotb.clock import Clock -from cocotb.regression import TestFactory from cocotb.triggers import RisingEdge, Timer + from cocotbext.axi import ApbBus, ApbMaster, ApbRam @@ -59,9 +60,23 @@ class TB(object): await RisingEdge(self.dut.clk) -async def run_test_write( - dut, data_in=None, idle_inserter=None, backpressure_inserter=None, m=0 -): +m_cnt = 1 + +if getattr(cocotb, "top", None) is not None: + m_cnt = len(cocotb.top.m_apb) + + +def cycle_pause(): + return itertools.cycle([1, 1, 1, 0]) + + +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), + ("m", range(min(m_cnt, 2))), +) +async def run_test_write(dut, idle_inserter=None, backpressure_inserter=None, m=0): tb = TB(dut) byte_lanes = tb.apb_master.byte_lanes @@ -98,9 +113,13 @@ async def run_test_write( await RisingEdge(dut.clk) -async def run_test_read( - dut, data_in=None, idle_inserter=None, backpressure_inserter=None, m=0 -): +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), + ("m", range(min(m_cnt, 2))), +) +async def run_test_read(dut, idle_inserter=None, backpressure_inserter=None, m=0): tb = TB(dut) byte_lanes = tb.apb_master.byte_lanes @@ -127,6 +146,11 @@ async def run_test_read( await RisingEdge(dut.clk) +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), + ("backpressure_inserter", [None, cycle_pause]), +) async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None): tb = TB(dut) @@ -172,26 +196,6 @@ async def run_stress_test(dut, idle_inserter=None, backpressure_inserter=None): await RisingEdge(dut.clk) -def cycle_pause(): - return itertools.cycle([1, 1, 1, 0]) - - -if getattr(cocotb, "top", None) is not None: - m_cnt = len(cocotb.top.m_apb) - - for test in [run_test_write, run_test_read]: - factory = TestFactory(test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.add_option("backpressure_inserter", [None, cycle_pause]) - factory.add_option("m", range(min(m_cnt, 2))) - factory.generate_tests() - - factory = TestFactory(run_stress_test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.add_option("backpressure_inserter", [None, cycle_pause]) - factory.generate_tests() - - # cocotb-test tests_dir = os.path.abspath(os.path.dirname(__file__)) diff --git a/src/apb/tb/taxi_apb_ram/test_taxi_apb_ram.py b/src/apb/tb/taxi_apb_ram/test_taxi_apb_ram.py index 186c7b2..d152e77 100644 --- a/src/apb/tb/taxi_apb_ram/test_taxi_apb_ram.py +++ b/src/apb/tb/taxi_apb_ram/test_taxi_apb_ram.py @@ -20,7 +20,6 @@ import pytest import cocotb from cocotb.clock import Clock from cocotb.triggers import RisingEdge, Timer -from cocotb.regression import TestFactory from cocotbext.axi import ApbBus, ApbMaster @@ -52,7 +51,15 @@ class TB(object): await RisingEdge(self.dut.clk) -async def run_test_write(dut, data_in=None, idle_inserter=None): +def cycle_pause(): + return itertools.cycle([1, 1, 1, 0]) + + +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), +) +async def run_test_write(dut, idle_inserter=None): tb = TB(dut) @@ -80,7 +87,11 @@ async def run_test_write(dut, data_in=None, idle_inserter=None): await RisingEdge(dut.clk) -async def run_test_read(dut, data_in=None, idle_inserter=None): +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), +) +async def run_test_read(dut, idle_inserter=None): tb = TB(dut) @@ -106,6 +117,10 @@ async def run_test_read(dut, data_in=None, idle_inserter=None): await RisingEdge(dut.clk) +@cocotb.test() +@cocotb.parametrize( + ("idle_inserter", [None, cycle_pause]), +) async def run_stress_test(dut, idle_inserter=None): tb = TB(dut) @@ -141,19 +156,6 @@ async def run_stress_test(dut, idle_inserter=None): await RisingEdge(dut.clk) -def cycle_pause(): - return itertools.cycle([1, 1, 1, 0]) - - -if getattr(cocotb, 'top', None) is not None: - - for test in [run_test_write, run_test_read, run_stress_test]: - - factory = TestFactory(test) - factory.add_option("idle_inserter", [None, cycle_pause]) - factory.generate_tests() - - # cocotb-test tests_dir = os.path.abspath(os.path.dirname(__file__))