Skip to content

Commit 743a66d

Browse files
committed
Merge branch 'schwarz-fix-mfb_pipe' into 'devel'
Fix cocotb verification of MFB Pipe See merge request ndk/ndk-fpga!249
2 parents 96ef8dc + 6e8d6c9 commit 743a66d

File tree

5 files changed

+20
-2
lines changed

5 files changed

+20
-2
lines changed

comp/mfb_tools/flow/pipe/cococtb/cocotb_test.py renamed to comp/mfb_tools/flow/pipe/cocotb/cocotb_test.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,28 @@
1515
from cocotbext.ofm.ver.generators import random_packets
1616
from cocotb_bus.drivers import BitDriver
1717
from cocotb_bus.scoreboard import Scoreboard
18+
from cocotbext.ofm.utils.throughput_probe import ThroughputProbe, ThroughputProbeMfbInterface
1819

1920

2021
class testbench():
2122
def __init__(self, dut):
2223
self.dut = dut
23-
self.RX_MFB = MFBDriver(dut, "RX", dut.CLK)
24+
25+
mfb_params = {
26+
"regions" : dut.REGIONS.value,
27+
"region_size" : dut.REGION_SIZE.value,
28+
"block_size" : dut.BLOCK_SIZE.value,
29+
"item_width" : dut.ITEM_WIDTH.value
30+
}
31+
32+
self.RX_MFB = MFBDriver(dut, "RX", dut.CLK, mfb_params=mfb_params)
2433
self.backpressure = BitDriver(dut.TX_DST_RDY, dut.CLK)
25-
self.TX_MFB = MFBMonitor(dut, "TX", dut.CLK)
34+
self.TX_MFB = MFBMonitor(dut, "TX", dut.CLK, mfb_params=mfb_params)
35+
36+
# setting up the probe measuring throughput
37+
self.throughput_probe = ThroughputProbe(ThroughputProbeMfbInterface(self.TX_MFB), throughput_units="bits")
38+
self.throughput_probe.add_log_interval(0, None)
39+
self.throughput_probe.set_log_period(10)
2640

2741
# Create a scoreboard on the TX_MFB bus
2842
self.expected_output = []
@@ -66,4 +80,8 @@ async def run_test(dut, pkt_count=10000, frame_size_min=60, frame_size_max=512):
6680
# print("RX: %d/%d" % (tb.RX_MFB.frame_cnt, pkt_count))
6781
# print("TX: %d/%d" % (tb.TX_MFB.frame_cnt, pkt_count))
6882

83+
# logging values measured by throughput probe
84+
tb.throughput_probe.log_max_throughput()
85+
tb.throughput_probe.log_average_throughput()
86+
6987
raise tb.scoreboard.result

0 commit comments

Comments
 (0)