forked from M-Labs/artiq
dsp.fir: use pipelin-reset
This commit is contained in:
parent
6a49c114c8
commit
6418205906
|
@ -83,7 +83,7 @@ class ParallelFIR(Module):
|
||||||
###
|
###
|
||||||
|
|
||||||
# Delay line: increasing delay
|
# Delay line: increasing delay
|
||||||
x = [Signal((w.A, True)) for _ in range(n + p - 1)]
|
x = [Signal((w.A, True), reset_less=True) for _ in range(n + p - 1)]
|
||||||
x_shift = w.A - width
|
x_shift = w.A - width
|
||||||
# reduce by pre-adder gain
|
# reduce by pre-adder gain
|
||||||
x_shift -= bits_for(max(cs.count(c) for c in cs if c) - 1)
|
x_shift -= bits_for(max(cs.count(c) for c in cs if c) - 1)
|
||||||
|
@ -98,7 +98,7 @@ class ParallelFIR(Module):
|
||||||
self.sync += xi.eq(xj)
|
self.sync += xi.eq(xj)
|
||||||
|
|
||||||
for delay in range(p):
|
for delay in range(p):
|
||||||
o = Signal((w.P, True))
|
o = Signal((w.P, True), reset_less=True)
|
||||||
self.comb += self.o[delay].eq(o >> c_shift + x_shift)
|
self.comb += self.o[delay].eq(o >> c_shift + x_shift)
|
||||||
# Make products
|
# Make products
|
||||||
for i, c in enumerate(cs):
|
for i, c in enumerate(cs):
|
||||||
|
|
Loading…
Reference in New Issue