The HSP43168 Dual FIR Filter consists of two independent
8-tap FIR filters. Each filter supports decimation from 1 to 16
and provides on-board storage for 32 sets of coefficients.
The Block Diagram shows two FIR cells each fed by a
separate coefficient bank and one of two separate inputs.
The outputs of the FIR cells are either summed or
multiplexed by the MUX/Adder. The compute power in the
FIR Cells can be configured to provide quadrature filtering,
complex filtering, 2-D convolution, 1-D/2-D correlations, and
interpolating/decimating filters.
The FIR cells take advantage of symmetry in FIR
coefficients by pre-adding data samples prior to
multiplication. This allows an 8-tap FIR to be implemented
using only 4 multipliers per filter cell. These cells can be
configured as either a single 16-tap FIR filter or dual 8-tap
FIR filters. Asymmetric filtering is also supported.
Decimation ofupto 16 is providedto boost theeffective number
of filter taps from 2 to 16 times. Further, the Decimation
Registers provide the delay necessary for fractional data
conversion and 2-D filtering with kernels to 16 x16.
The flexibility of the Dual is further enhanced by 32 sets of
user programmable coefficients. Coefficient selection may
be changed asynchronously from clock to clock. The ability
to toggle between coefficient sets further simplifies
applications such as polyphase or adaptive filtering.
The HSP43168 is a low power fully static design
implemented in an advanced CMOS process. The
configuration of the device is controlled through a standard
microprocessor interface.
File Number2808.8
Features
• Two Independent 8-Tap FIR Filters Configurable as a
Single 16-Tap FIR
• 10-Bit Data and Coefficients
• On-Board Storage for 32 Programmable Coefficient Sets
• Up To: 256 FIR Taps, 16 x 16 2-D Kernels, or 10 x 19-Bit
Data and Coefficients
• Programmable Decimation to 16
• Programmable Rounding on Output
• Standard Microprocessor Interface
Applications
• Quadrature, Complex Filtering
• Image Processing
• Polyphase Filtering
• Adaptive Filtering
Ordering Information
TEMP.
PART NUMBER
HSP43168VC-330 to 70100 Ld MQFPQ100.14x20
HSP43168VC-400 to 70100 Ld MQFPQ100.14x20
HSP43168VC-450 to 70100 Ld MQFPQ100.14x20
HSP43168JC-330 to 7084 Ld PLCCN84.1.15
HSP43168JC-400 to 7084 Ld PLCCN84.1.15
HSP43168JC-450 to 7084 Ld PLCCN84.1.15
HSP43168JI-40-40 to 8584 Ld PLCCN84.1.15
HSP43168GC-450 to 7084 Ld CPGAG84.A
RANGE (oC)PACKAGEPKG. NO.
Block Diagram
INA0 - 9
INB0 - 9/
OUT0 - 8
OEL
OEH
10
10
CIN0 - 9
A0 - 8
WR
CSEL0 - 4
1
MUX
10
9
COEFFICIENT
BANK A
FIR CELL A
CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures.
CIN0-9IControl/Coefficient Data Bus. Processor interface for loading control data and coefficients. CIN0 is the LSB.
A0-8IControl/Coefficient Address Bus. Processor interface for addressing Control and Coefficient Registers. A0 is the
WRIControl/Coefficient Write Clock. Data is latched into the Control and Coefficient Registers on the rising edge of
CSEL0-4ICoefficient Select. Thisinput determines which of the 32 coefficient sets areto be used by FIR A and B. Thisinput
INA0-9IInput to FIR A. INA0 is the LSB.
INB0-9I/OBidirectional Input for FIR B. INB0 is the LSB and is input only. When used as output, INB1-9 are the LSBs of the
OUT9-27O19MSBs of Output Bus. Data format is either unsigned or two's complement depending on configuration. OUT27
SHFTENIShiftEnable.This active lowinput enables clockingof data intothe part andshifting of datathrough the Decimation
FWRDIForward ALU Input Enable. When active low, data from the forward decimation path is input to the ALUs through
RVRSIReverse ALU Input Enable. When active low, data from the reverse decimation path is input to the ALUs through
VCC: +5V power supply pin.
LSB.
WR.
is registered and CSEL0 is the LSB.
output bus, and INB9 is the MSB of these bits.
is the MSB.
Registers.
the “a” input. When high, the “a” inputs to the ALUs are zeroed.
the “b” input. When high, the “b” inputs to the ALUs are zeroed.
TXFRIData Transfer Control. This active low input switches the LIFO being read into the reverse decimation path with
the LIFO being written from the forward decimation path (see Figure 1).
MUX0-1IAdder/Mux Control. This input controls data flow through the output Adder/Mux. Table 5 lists the various
configurations.
CLKIClock. All inputs except those associated with the processor interface (CIN0-9, A0-8, WR) and the output enables
(OEL, OEH) are registered by the rising edge of CLK.
OELIOutput Enable Low. This three-state control enables the LSBs of the output bus to INB1-9 when OEL is low.
OEHIOutput Enable High. This three-state control enables OUT9-27 when OEH is low.
ACCENIAccumulate Enable. This active high input allows accumulation in the FIR Cell Accumulator. A low on this input
latches the FIR Accumulator contents into the Output Holding Registers while zeroing the feedback pass in the
Accumulator.
4
TXFR
FIR A REVERSE PATH
FIR A FORWARD PATH
SHFTEN
5
INB1-9/
OUT0-8
INA0-9
INB0
FWRD
RVRS
†FIR B INPUT
SOURCE
10
9
DELAY 3
DELAY 3
M
DELAY 3
U
X
DELAY 3
DELAY 3
10
10
AB
ALU
11
REG
DELAY
1-16 ††
DELAY
1-16
††
AB
REG
1
DELAY 4
0
DELAY 3
DECIMATION REGISTERS
DELAY
1-16 ††
DELAY
1-16
††
ALU
†DATA REVERSAL ENABLE
M
U
X
†FIR A ODD/EVEN # TAPS
DELAY
1-16 ††
DELAY
1-16
††
AB
ALU
REG
AB
ALU
REG
DATA FEEDBACK
CIRCUITRY
LIFO A
M
LIFO B
U
X
DELAY
1-16 ††
DELAY
1-16 ††
†ODD/EVEN
SYMMETRY
†MODE SELECT
†ODD/EVEN SYMMETRY
†MODE SELECT
D
M
E
U
M
U
X
X
M
U
X
AB
ALU
REG
DECIMATION REGISTERS
DELAY
1-16
††
DELAY
††
1-16
AB
ALU
REG
DELAY 4
DELAY 3
DELAY
1-16
DELAY
1-16
1
0
††
††
M
U
X
AB
ALU
REG
†FIR B
ODD/EVEN # TAPS
DELAY
1-16
††
DELAY
††
1-16
AB
ALU
REG
DATA FEEDBACK
CIRCUITRY
LIFO A
M
LIFO B
U
X
DELAY
1-16
†DATA REVERSAL ENABLE
FIR B REVERSE PATH
FIR B FORWARD PATH
†ODD/EVEN
SYMMETRY
D
E
M
U
X
†ODD/EVEN
NUMBER OF
TAPS
M
U
X
HSP43168
11
CSEL0-4
REG
COEF
X
BANK
COEF
X
BANK
5
DELAY 4
10
21
REG
REG
COEF
X
BANK
REG
COEF
X
BANK
REG
COEF
X
BANK
3210
REG
COEF
X
BANK
REG
COEF
X
BANK
210
REG
COEF
X
BANK
3
CLK
ACCEN
MUX0-1
CIN0-9
A0-8
WR
OEL
OEH
FIR A
ACCUMULATOR
0
M
R
U
X
DELAY 5
2
DELAY 6
10
9
CONTROL
ADDER
E
G
22
OUTPUT
HOLDING
REG
REGISTER
†MODE SELECT
†ODD EVEN SYMMETRY
†FIR A ODD/EVEN # TAPS
†FIR B ODD/EVEN # TAPS
†FIR B INPUT SOURCE
†DATA REVERSAL ENABLE
†ROUND ENABLE
†DECIMATION FACT OR
FIR CELL AFIR CELL B
MUX/
ADDER
28
DELAY 2
9
†ROUND ENABLE
19
FIR B
ACCUMULATOR
0
M
R
U
X
ADDER
E
G
OUTPUT
HOLDING
REG
REGISTER
OUT9-27
†Processor control words
††Decimation factor
FIGURE 1. DUAL FIR FILTER
HSP43168
Functional Description
As shown in Figure 1, the HSP43168 consists of two
4-multiplier FIR filter cells which process 10-bit data and
coefficients. The FIR cells can operate as two independent
8-tap FIR filters or two 4-tap asymmetric filters at maximum
I/O rates. A single filter mode is provided which allows the
FIR cells to operate as one 16-tap FIR filter or one 8-tap
asymmetric filter. On board coefficient storage for up to 32
sets of 8 coefficients is provided. The coefficient sets are
user selectable and are programmed through a
microprocessor interface.Programmable decimation to 16 is
also provided. By utilizing Decimation Registers together
with the coefficient sets, polyphase filters are realizable
which allow the user to trade data rate for filter taps. The
MUX/Adder can be configured to either add or multiplex the
outputs of the filter cells depending upon whether the cells
are operating in single or dual filter mode. In addition, a
shifter in the MUX/Adder is provided for implementation of
filters with 10-bit data and 20-bit coefficients or vice versa.
The Dual FIR Filter has a “pipeline” delay of 8 CLK periods,
once normal filtering operations begin. Five typical filtering
operation examples are provided in the Applications
Examples Section as a guide to configuration and control of
the Dual FIR Filter.
During normal filter operations, the location and duration of
the
TXFR signal assertions are determined by the filter
configuration and operation mode. Once set, these signal
parameters must be maintained during normal operation to
ensure proper data alignment in the part. Once the part is
reset, donot change
again.
NOTE: The fixed or periodic relationship between the
TXFR signal and CLK must be maintained for valid filter
operation. This relationship can only change when CLK
is halted and new configuration control words are
loaded into the device.
TXFR unlessyou load the configuration
Preparing the Dual FIR for Operation
Two configuration steps are requiredto prepare the Dual FIR
Filter for normal operation: 1) loading the Configuration
Control Registers, and 2) loading the FIR Filter Coefficients.
Configuration Control Registers are loaded by placing the
control register address on address lines A0-8, placing the
configuration data on the configuration input lines CIN0-9,
and asserting the
assertion). This action creates a rising edge on the
which clocks the address and configuration data into the part.
The details of the “Load Configuration” process areoutlined in
the Microprocessor Interface Section.
FIR Coefficients are loaded by placing the address of the
Coefficient Data Bank on the address lines A0-8, placing
the FIR 10-bit coefficient values on the configuration input
lines CIN0-9 and then asserting the
release of the assertion). This action creates a rising edge
on the
WR line, which clocks the FIR Coefficient Band
address and FIR Coefficient data into the part. The details
of the “Load FIR Coefficient” process are outlined in the
FIR Filter Cells Section, Coefficient Bank Subsection.
Both the Configuration Load and FIR Coefficient Load can
be done as a sequence of asynchronous write commands
to the Dual FIR Filter. Once these actions are complete, the
part is ready for normal filter operation. The CLK,
FWRD, RVRS, ACCEN, and SHFTEN signals must be
asserted in a manner determined by the application.
MUX0-1 must meet the setup and hold times with respect
to clock for proper filter operation. Details of the MUX1-0
control can be found in the Output MUX/Adder Section.
Details of the ACCEN control can be found in the Fir Cell
Accumulator Section. Bit locations for the various filter
control/configuration signals can be found in the
Input/Output Formats Section.
WR line (followed by a release of the
WR line,
WR line (followed by a
TXFR,
Microprocessor Interface
The Dual FIRhas a 20 pin write only microprocessor interface
for loading data into the Control Block and Coefficient Banks.
The interface consists of a 10-bit data bus (CIN0-9), a 9-bit
address bus (A0-8), and a write input (
into the on-boardregisters on a rising edge. The configuration
control and coefficient data loading is asynchronous to CLK.
WR) to latch the data
Control Block
The Dual FIR is configured by writing to the registers within
the Control Block. Figure 2 shows the timing diagram for
writing to the ConfigurationControl Registers. These Control
Registers are memory mapped to Address 000H (H =
Hexadecimal) and 001H on A0-8. The Filter Coefficient
Registers are mapped to 1XXH (X = value described in the
“Coefficient Banks” chapter of the ALU Section).
RESET
WR
A8-0
C9-0
FIGURE 2. LATCHING C9-0 VALUESINTOADDRESS A8-0
The format of the Control Registers is shown in Table 1 and
Table 2. Writing toany of the Control/Configuration Registers
causes a reset which lasts for 6 CLK cycles following the
assertion of
the Control Block will not clear the contentsof the Coefficient
000H
001H
REGISTERS
WR. The reset caused by Writing Registers in
6
HSP43168
Bank. As shown in Figure 2, either Configuration Control
Register can be written to during reset.
T ABLE1. CONFIGURATION/CONTROLWORD 0 BIT DEFINITIONS
NOTE: Address locations002H to 011H are reserved, and writing to
these locations will have unpredictable effects on part configuration.
T ABLE2. CONFIGURATION/CONTROLWORD 1 BIT DEFINITIONS
CONTROL ADDRESS 001H
BITSFUNCTIONDESCRIPTION
0FIR A Input Format0 = Unsigned.
1FIR A Coefficient Format (Defined same as FIR A input).
2FIR B Input Format(Defined same as FIR A input).
3FIR B Coefficient(Defined same as FIRA input).
4Data Reversal Enable0 = Enabled.
8-5Round Position0000 = 2
9Round Enable0 = Enabled.
NOTE: Address locations 002H to 011H are reserved, and
writing to these locations will have unpredictableeffects on part
configuration.
0 = Even Symmetric Coefficients.
1 = Odd Symmetric Coefficients.
0 = Odd Number of Taps in Filter.
1 = Even Number of Taps in Filter.
(Defined Same as FIR A Above).
1 = Input from INB0-9.
1 = Two's Complement.
1 = Disabled.
-10.
1011 = 2
(See Figure 4)
1 = Disabled.
1.
The 4 LSBs of the control word loaded at address 000H are
used to select the decimation factor. The Decimation Factor
is programmed to one less than the number of delays
between filter taps
DFCLK delays between taps()1–=
(EQ. 1)
and B before entering the reverse paths of Filters A and B
(see Figure 1). Coefficient symmetry is selected by bit 5. Bits
6 and 7 are programmed to configure the FIR cells for odd or
even filter lengths (number of taps). Bit 8 selects the FIR B
input source when the FIR cells are configured for
independent operation. Bit 9 must be programmed to 0.
NOTE: When the filter is programmed for even-taps, the
TXFR signal is delayed by only three CLKS (see Figure 1).
For odd-taps, the
TXFR signal is delayed by four CLKS.
The 4 LSBs of the control word loaded at address 001H are
used to configure the format of the FIR cell's data and
coefficients. Bit 4 is programmed to enable or disable the
reversal of data sample order prior to entering the Reverse
Path Decimation Registers. Data reversal is required for
symmetric filter coefficient sets of both even or odd numbers
of filter taps. Asymmetric filters and some decimated
symmetric filters require the data reversal to be off. Bits 5-9
are used to support programmable rounding on the output.
FIR Filter Cells
Each FIRfilter cell is based on an array of four11x10-bit two's
complement multipliers. One input of the multipliers comes
from the ALU’s which combine data shifting through the
Forward and Re verse Decimation Registers. The second
multiplier inputcomes from the user programmablecoefficient
bank. The multiplier outputs are fed to an accumulator whose
result is passedto the output section where it ismultiplexed or
added with the result from the other FIR cell.
Decimation Registers
The Forwardand ReverseDecimation Shift Registerscan be
configured for decimation factors from 1 to 16 (see Table 1,
bits 0-3). NOTE: Setting the decimation factor only
affects the Delay Registers between filter taps, not the
filter controlmultiplexers. Example 4 and Example 5 inthe
Applications Section discuss how to configure the part for
actual decimation applications.
The Reverse Shifting Registers with the data reversal logic
are used to takeadvantage of symmetry in linear phase filters
by aligning data at the ALUs for pre-addition prior to
multiplication by the common coefficient. When the FIR cells
are configured in single filter mode, the Decimation Registers
in FIR cell A and FIR cell B are cascaded. This extended filter
tap delay path allows computation of a filter which is twice the
size of that capable using a single cell. The Decimation
Registers also provide data storage for polyphase or 2-D
filtering applications (See Applications Examples Section).
For example , if the 4 LSBs are prog r ammed with a value of
0010, theForward andReverse ShiftingDecimation Registers
are each configured with a delay of 3. Bit 4 is used to select
whether the FIR cells operate as two independent filters or
one extended length filter . Dual filter mode assumes Filter A
and FilterB are separate independentfilters. In thesingle filter
mode, thedata is routed through the forw ardpaths of Filters A
7
The Data FeedbackCircuitry in each FIR cell is responsible
for transferring data from the Forward to the Reverse
Shifting Decimation Registers.This circuitry feeds blocks of
samples into the reverse shifting decimation path in either
reversed or non-reversed sample order. The MUX/DEMUX
structure at the input to the Feedback Circuitry routes data
to the LIFOs or the delay stage depending on the selected
HSP43168
configuration. The MUX on the Feedback Circuitry Output
selects which storage element feeds the Reverse Shifting
Decimation Registers.
In applications requiring reversal of sample order, the FIR
cells are configured with data reversal enabled (see Table
2, CW5, bit 4 = 0). In this mode, data is transferred from the
forward to the backward Shifting Registers through a
pingponged LIFO structure. While one LIFO is being read
into the backward shifting path, the other LIFO is written
with data samples. The MUX/DEMUX controls which LIFO
is being written, and the MUX on the Feedback Circuitry
output controls which LIFO is being read. A low on
and
SHIFTEN, switches the LIFOs being read and written,
TXFR
which causes the block of data to be read from the
structure in reversedin sample order (See Example4 in the
Application Examples Section).
The frequency with which
TXFR is asserted determinessize
of the data blocks in which sample order is reversed. For
example, if
TXFR is asserted once every three CLKs, blocks
of 3 data samples with order reversed, would be fed into the
Backward Decimation Registers. NOTE: Altering the
frequency or phase of
TXFR assertion once a filtering
operation has begun will invalidate the filtering result.
In applications which do not require sample order reversal,
the FIR cells must be configured with data reversal
disabled (see Table 2, CW5, bit 4 = 1). In addition, TXFR
must be asserted to ensure proper data flow. In this
configuration, data to the backward shifting decimation
path is routed though a delaystage instead of the pingpong
LIFOs. The number of registers in the delay stage is based
on the programmed decimation factor. NOTE: Data
reversal must be disabled and TXFR must be asserted
for filtering applications which do not use decimation.
The shifting of data through the Forward and Reverse
Decimation Registers is enabled by asserting the
input. When
SHFTEN is high, data shifting is disabled, and
SHFTEN
the data sample latched into the parton the previous clockis
the last input to the filter structure. The data sample at the
filter input when
SHFTEN is asserted, will be the next data
sample into the forward decimation path.
When operating the FIR cells as two independent filters, FIR
A receives input data via INA0-9 and FIR B receives data
from either INA0-9 or INB0-9 depending on the application
(see Table 1).
When the FIR cells are configured as a single extended
length filter, the forward and reverse decimation paths of the
two FIR cells are cascaded. In this mode,data is transferred
from the forward decimation path to the reverse decimation
path by the Data Feedback Circuitry in FIR B. Thus, the
manner in which data is read into the reverse decimation
path is determined by FIR B's configuration. When the
decimation paths are cascaded, data is routed through the
fourth delay stage in FIR A's forward path to FIR B.
The configuration of the FIR cells as even or odd length filters
determines the point in the forward decimation path from
which data is multiplexed to the Data Feedback Circuitry. For
example, if the FIR cell is configured as an odd length filter,
data prior to the last register in the third forward decimation
stage is routed to the Feedback Circuitry. If the FIR cell is
configured as an even length filter, data output from the third
forward decimation stage is multiplexed to the Feedback
Circuitry.This isrequired to ensure properdata alignment with
symmetric filter coefficients (See Application Examples).
ALUs
Data shifting through the forward and reverse decimation
paths feed the “a” and “b” inputs of the ALUs respectively.
The ALUs perform an “b+a” operation if the FIR cell is
configured for even symmetric coefficients or an “b-a”
operation if configured for odd symmetric coefficients.
Control Word 0, Bit 5 is used to set the ALU operation.
Forapplications in which a pre-add or subtract is not required,
the “a” or “b” input can be zeroed by disabling
RVRS respectively. This has the effect of producing an ALU
output which is either “a”, “-a”, or “b” depending on the filter
symmetry chosen. For example, if the FIR cell is configured
for an even symmetric filter with
FWRD low andRVRS high,
the data shifting through the Forward Decimation Registers
would appear on the ALU output.
Table 3 details the ALU configurations, where “a” is the ALU
data inputfrom the front decimation delayregisters and “b” is
the ALU data from the back decimation delay registers.
The output of the ALU is multiplied by a coefficient from one
of 32 user programmable coefficient sets. Each set consists
of 8 coefficients (4 coefficients for FIR A and 4 for FIR B).
CSEL0-4 is used to select a coefficient set to be used.
Coefficient sets may be switched every clock to support
polyphase filtering operations.
The coefficients are loaded into On-Board Registers using
the microprocessor interface, CIN0-9, A0-8, and
multiplier within the FIR Cells is driven by a coefficient bank
FWRD or
WR. Each
8
Loading...
+ 18 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.