"""
-from nmigen.compat.sim import run_simulation
+from nmigen.compat.sim import run_simulation, Settle
from nmigen.cli import verilog, rtlil
from nmigen import Module, Signal, Mux, Elaboratable, Array, Cat
from nmutil.iocontrol import RecordObject
def data_merger_merge(dut):
print("data_merger")
#starting with all inputs zero
+ yield Settle()
en = yield dut.data_o.en
data = yield dut.data_o.data
assert en == 0, "en must be zero"
assert data == 0, "data must be zero"
yield
+
yield dut.addr_array_i[0].eq(0xFF)
for j in range(dut.array_size):
yield dut.data_i[j].en.eq(1 << j)
yield dut.data_i[j].data.eq(0xFF << (16*j))
- yield
+ yield Settle()
+
en = yield dut.data_o.en
data = yield dut.data_o.data
assert data == 0xff00ff00ff00ff00ff00ff00ff00ff