cocotb_benches.dau_fixed_point_exp_tb

The rendered exp tile against the model it was rendered from.

Zero tolerance: the HDL mirrors ExpDatapath.evaluate step for step, so any difference is a defect in one of them. Deviation from correctly rounded exp is a separate, measured question answered in test_fixed_point_exp.

Attributes

_MASK32

_GENERATOR

_POINT

Functions

_signed32(value) → int

matches_the_model_on_directed_inputs(dut)

matches_the_model_across_the_domain(dut)

_start(dut) → None

_run(dut, rows, *[, ready_pattern])

_send(dut, words) → None

_collect(dut, *, expect[, ready_pattern])

The proven quad-row collector: drive ready, sample in ReadOnly, and

Module Contents

cocotb_benches.dau_fixed_point_exp_tb._MASK32 = 4294967295
cocotb_benches.dau_fixed_point_exp_tb._GENERATOR
cocotb_benches.dau_fixed_point_exp_tb._POINT
cocotb_benches.dau_fixed_point_exp_tb._signed32(value: int) → int
async cocotb_benches.dau_fixed_point_exp_tb.matches_the_model_on_directed_inputs(dut)
async cocotb_benches.dau_fixed_point_exp_tb.matches_the_model_across_the_domain(dut)
async cocotb_benches.dau_fixed_point_exp_tb._start(dut) → None
async cocotb_benches.dau_fixed_point_exp_tb._run(dut, rows, *, ready_pattern=(1,))
async cocotb_benches.dau_fixed_point_exp_tb._send(dut, words) → None
async cocotb_benches.dau_fixed_point_exp_tb._collect(dut, *, expect: int, ready_pattern=(1,))

The proven quad-row collector: drive ready, sample in ReadOnly, and only count a beat that actually fired. Sampling without checking the handshake is what made this harness report zeros against a tile the waveform showed was correct.