Digital Signal Processing Reference
In-Depth Information
x
n
h
0
h
1
1
clk
s
+
h
N-1
sel
x
n-(N-1)
clk
c
rst_n
PPG &
Reduction
clk
c
clk
c
clk
s
CPA
clk
s
y
n
Figure 9.5
Time-shared N-coefficient FIR filter
ROM, or registers may also be used if the design is required to work for adaptive or changed
coefficients. A new input is sampled in register
x_n
of the tap delay line of the design, and
acc
s
and
acc
c
are reset. The design computes one output sample in N clock cycles. After N clock cycles, a
new input is sampled in the tap delay line and partial accumulator registers are saved in intermediate
registers clocked at f
s
. The registers are initialized in the same cycle for execution of the next
iteration. A CPA working at slower clock f
s
adds the sum of partial results in the intermediate
registers and produces y
n
.
The HW design assumes that the sampling clock is synchronously derived from the circuit clock.
The shift registers storing the current and previous input samples are clocked using the sampling
clock
clk
s
, and so is the final output register. At every positive edge of the sampling clock, each
register stores a new value previously stored in the register located above it, with the register at the
top storing the new input sample. The datapath executes computation on the circuit clock
clk
c
,
which is N times faster than the sampling clock. The top-level design consisting of datapath and
controller is depicted in Figure 9.6. The controller clears the partial sumand carry registers and starts
generating the select signals
sel_h
and
sel_x
for the two multiplexers, starting from 0 and then
incrementing by 1 at every positive edge of
clk
c
. At the Nth clock cycle the final output is generated,
and the controller restarts again to process a new input sample.
Search WWH ::
Custom Search