How to write an optimized FIR filter

April 23, 2007, dspdesignline.com
This article shows how to write optimized FIR filter code for a DSP, using the Texas Instruments C55x architecture as an example.
Today's DSP architectures are made specifically to maximize throughput of DSP algorithms, such as a DSP filter. Some of the features of a DSP include:
- On-chip memory – Internal memory allows the DSP fast access to algorithm data such as input values, coefficients and intermediate values.
- Special MAC instruction – For performing a multiply and accumulate, the crux of a digital filter, in one cycle.
- Separate program and data buses – Allows the DSP to fetch code without affecting the performance of the calculations.
- Multiple read buses – For fetching all the data to feed the MAC instruction in one cycle.
- Separate Write Buses – For writing the results of the MAC instruction. Parallel architecture – DSPs have multiple instruction units so that more than one instruction can be executed per cycle.
- Pipelined architecture – DSPs execute instructions in stages so more than one instruction can be executed at a time. For example, while one instruction is doing a multiply another instruction can be fetching data with other resources on the DSP chip.
- Circular buffers – To make pointer addressing easier when cycling through coefficients and maintaining past inputs.
- Zero overhead looping – Special hardware to take care of counters and branching in loops.
- Bit-reversed addressing – For calculating FFTs.
![]() |
E-mail This Article | ![]() |
![]() |
Printer-Friendly Page |
Related Articles
- Systolic FIR Filter Based FPGA
- How to write DSP device drivers
- How the Ability to Manage Register Specifications Helps You Create More Competitive Products
- How to Save Time and Improve Communication Between Semiconductor Design and Verification Engineers
- Last-Time Buy Notifications For Your ASICs? How To Make the Most of It
New Articles
- Discover new Tessent UltraSight-V from Siemens EDA, and accelerate your RISC-V development.
- The Critical Factors of a High-performance Audio Codec - What Chip Designers Need to Know
- Density Management in Analog Layout Design: Addressing Issues and Ensuring Consistency
- Nexus: A Lightweight and Scalable Multi-Agent Framework for Complex Tasks Automation
- How the Ability to Manage Register Specifications Helps You Create More Competitive Products
Most Popular
- System Verilog Assertions Simplified
- System Verilog Macro: A Powerful Feature for Design Verification Projects
- Synthesis Methodology & Netlist Qualification
- Discover new Tessent UltraSight-V from Siemens EDA, and accelerate your RISC-V development.
- Understanding Logic Equivalence Check (LEC) Flow and Its Challenges and Proposed Solution