10
10
from cocotb import utils
11
11
12
12
import lambdalib .ramlib
13
- from lambdalib .utils ._tb_common import (
14
- run_cocotb ,
15
- drive_reset ,
16
- random_bool_generator
17
- )
18
- from lambdalib .ramlib .tests .la_asyncfifo import (
19
- LaAsyncFifoWrBus ,
20
- LaAsyncFifoRdBus ,
21
- LaAsyncFifoSource ,
22
- LaAsyncFifoSink
23
- )
13
+ import lambdalib .utils ._tb_common .run_cocotb
14
+ import lambdalib .utils ._tb_common .drive_reset
15
+ import lambdalib .utils ._tb_common .random_bool_generator
16
+
17
+ import lambdalib .ramlib .tests .la_asyncfifo .LaAsyncFifoWrBus
18
+ import lambdalib .ramlib .tests .la_asyncfifo .LaAsyncFifoRdBus
19
+ import lambdalib .ramlib .tests .la_asyncfifo .LaAsyncFifoSource
20
+ import lambdalib .ramlib .tests .la_asyncfifo .LaAsyncFifoSink
24
21
25
22
26
23
def bursty_en_gen (burst_len = 20 ):
@@ -36,23 +33,23 @@ async def test_almost_full(dut):
36
33
wr_clk_period_ns = 10.0
37
34
rd_clk_period_ns = 10.0
38
35
39
- fifo_source = LaAsyncFifoSource (
40
- bus = LaAsyncFifoWrBus .from_prefix (dut , "" ),
36
+ fifo_source = lambdalib . ramlib . tests . la_asyncfifo . LaAsyncFifoSource (
37
+ bus = lambdalib . ramlib . tests . la_asyncfifo . LaAsyncFifoWrBus .from_prefix (dut , "" ),
41
38
clock = dut .wr_clk ,
42
39
reset = dut .wr_nreset
43
40
)
44
41
45
- fifo_sink = LaAsyncFifoSink (
46
- bus = LaAsyncFifoRdBus .from_prefix (dut , "" ),
42
+ fifo_sink = lambdalib . ramlib . tests . la_asyncfifo . LaAsyncFifoSink (
43
+ bus = lambdalib . ramlib . tests . la_asyncfifo . LaAsyncFifoRdBus .from_prefix (dut , "" ),
47
44
clock = dut .rd_clk ,
48
45
reset = dut .rd_nreset
49
46
)
50
47
fifo_sink .pause ()
51
48
52
49
# Reset DUT
53
50
await Combine (
54
- cocotb .start_soon (drive_reset (dut .wr_nreset )),
55
- cocotb .start_soon (drive_reset (dut .rd_nreset ))
51
+ cocotb .start_soon (lambdalib . utils . _tb_common . drive_reset (dut .wr_nreset )),
52
+ cocotb .start_soon (lambdalib . utils . _tb_common . drive_reset (dut .rd_nreset ))
56
53
)
57
54
58
55
await cocotb .start (Clock (dut .wr_clk , wr_clk_period_ns , units = "ns" ).start ())
@@ -93,24 +90,24 @@ async def fifo_rd_wr_test(
93
90
rd_en_generator = None
94
91
):
95
92
96
- fifo_source = LaAsyncFifoSource (
97
- bus = LaAsyncFifoWrBus .from_prefix (dut , "" ),
93
+ fifo_source = lambdalib . ramlib . tests . la_asyncfifo . LaAsyncFifoSource (
94
+ bus = lambdalib . ramlib . tests . la_asyncfifo . LaAsyncFifoWrBus .from_prefix (dut , "" ),
98
95
clock = dut .wr_clk ,
99
96
reset = dut .wr_nreset
100
97
)
101
- fifo_source .set_wr_en_generator (random_bool_generator ())
98
+ fifo_source .set_wr_en_generator (lambdalib . utils . _tb_common . random_bool_generator ())
102
99
103
- fifo_sink = LaAsyncFifoSink (
104
- bus = LaAsyncFifoRdBus .from_prefix (dut , "" ),
100
+ fifo_sink = lambdalib . ramlib . tests . la_asyncfifo . LaAsyncFifoSink (
101
+ bus = lambdalib . ramlib . tests . la_asyncfifo . LaAsyncFifoRdBus .from_prefix (dut , "" ),
105
102
clock = dut .rd_clk ,
106
103
reset = dut .rd_nreset
107
104
)
108
- fifo_sink .set_rd_en_generator (random_bool_generator ())
105
+ fifo_sink .set_rd_en_generator (lambdalib . utils . _tb_common . random_bool_generator ())
109
106
110
107
# Reset DUT
111
108
await Combine (
112
- cocotb .start_soon (drive_reset (dut .wr_nreset )),
113
- cocotb .start_soon (drive_reset (dut .rd_nreset ))
109
+ cocotb .start_soon (lambdalib . utils . _tb_common . drive_reset (dut .wr_nreset )),
110
+ cocotb .start_soon (lambdalib . utils . _tb_common . drive_reset (dut .rd_nreset ))
114
111
)
115
112
116
113
await cocotb .start (Clock (dut .wr_clk , wr_clk_period_ns , units = "ns" ).start ())
@@ -157,8 +154,10 @@ async def fifo_rd_wr_test(
157
154
tf = TestFactory (fifo_rd_wr_test )
158
155
tf .add_option ('wr_clk_period_ns' , [MIN_PERIOD_NS , RAND_WR_CLK_PERIOD_NS , MAX_PERIOD_NS ])
159
156
tf .add_option ('rd_clk_period_ns' , [MIN_PERIOD_NS , RAND_RD_CLK_PERIOD_NS , MAX_PERIOD_NS ])
160
- tf .add_option ('wr_en_generator' , [None , random_bool_generator , bursty_en_gen ])
161
- tf .add_option ('rd_en_generator' , [None , random_bool_generator , bursty_en_gen ])
157
+ tf .add_option ('wr_en_generator' , [None , lambdalib .utils ._tb_common .random_bool_generator ,
158
+ bursty_en_gen ])
159
+ tf .add_option ('rd_en_generator' , [None , lambdalib .utils ._tb_common .random_bool_generator ,
160
+ bursty_en_gen ])
162
161
tf .generate_tests ()
163
162
164
163
@@ -171,7 +170,7 @@ def test_la_asyncfifo():
171
170
for depth in [2 , 4 , 8 ]:
172
171
test_module_name = "lambdalib.ramlib.tests.tb_la_asyncfifo"
173
172
test_name = f"{ test_module_name } _depth_{ depth } "
174
- tests_failed = run_cocotb (
173
+ tests_failed = lambdalib . utils . _tb_common . run_cocotb (
175
174
chip = chip ,
176
175
test_module_name = test_module_name ,
177
176
timescale = ("1ns" , "1ps" ),
0 commit comments