diff --git a/liteeth/core/mac/crc.py b/liteeth/core/mac/crc.py index 2b56d8e..fb0e0bc 100644 --- a/liteeth/core/mac/crc.py +++ b/liteeth/core/mac/crc.py @@ -56,11 +56,12 @@ class LiteEthMACCRCEngine(Module): return r # compute and optimize the parallel implementation of the CRC's LFSR + taps = [x for x in range(width) if (1 << x) & polynom] curval = [[("state", i)] for i in range(width)] for i in range(data_width): feedback = curval.pop() + [("din", i)] for j in range(width-1): - if (polynom & (1<<(j+1))): + if j+1 in taps: curval[j] += feedback curval[j] = _optimize_eq(curval[j]) curval.insert(0, feedback)