Altera Home Page
Literature Licensing
Buy On-Line Download

  Home   |   Products   |   Support   |   End Markets   |   Technology Center   |   Education & Events   |   Corporate   |   Buy On-Line  
  Knowledge Database   |   Devices   |   Design Software   |   Intellectual Property   |   Design Examples   |   mySupport   |   Reference Designs  

 Products
      MAX/MAX II
      Stratix/Stratix GX
      Nios II
  
 Functionality
      Arithmetic
      Memory
      Bus & I/O
      Logic
      Interfaces & Peripherals
      DSP
      Communications
      PLL & Clocking
  
 Design Entry
      Quartus II Project
      Tcl
      VHDL
      Verilog HDL
      C Code Examples
      DSP Builder
      TimeQuest
   On-Chip Debugging
  
 Simulation Tools
      Mentor Graphics ModelSim
      Cadence NCsim
      Synopsys VCS
  
 Legacy Examples
      Graphic Editor
      AHDL
  

Accelerated FIR with Built-in Direct Memory Access Example

The finite impulse response (FIR) filter is a common algorithm used in digital signal processing (DSP) systems. In this example, a FIR filter has been integrated into a single SOPC Builder component containing Avalon® Memory-Mapped (Avalon-MM) read and write masters. The read master is responsible for supplying the filter with input data, while the write master is responsible for writing the filter response back to memory.  Since the filter has Avalon mastering capabilities, you do not need to use a separate direct memory access (DMA) engine to accomplish the filter operation.

When a filter is implemented in software, it requires many clock cycles to complete the calculation of a single output. Using an FPGA, all of these operations can occur concurrently with up to one output calculated every clock cycle. You can implement computationally complex algorithms in hardware as well to:

  1. Increase the overall system performance
  2. Offload the Nios® II embedded processor so that it can perform other tasks
  3. Decrease the overall design frequency to reduce power consumption

To compile the software, you must have the Nios II Embedded Design Suite (EDS) installed. You can download it for free.

Although this design performs filter operations, you can also reuse the accelerator for your own data transforms. Simply remove the transform block containing the FIR filter and replace it with your own custom logic. You can also reuse the DMA control software. For more information about replacing the FIR filter, refer to the transform.v file supplied with the example design.

Hardware Design Specifications

  • Nios Development Board, Cyclone® II or Stratix® II FPGA Edition
  • Nios II core: Nios II/f debug-enabled, 4 KB I-cache, 2 KB D-cache
  • SSRAM: 2 MB
  • DDR SDRAM: 32 MB
  • Timestamp Timer: 10 us resolution
  • JTAG UART
  • Phase-Locked Loop (PLL)
  • System ID
  • Custom FIR Hardware Accelerator with Avalon-MM Masters


Hardware Acceleration Results

In this example (Figure 1), the hardware accelerator is capable of operating over 500 times faster than the equivalent FIR algorithm compiled for the Nios II processor.

Figure 1.  Accelerated FIR with Built-in DMA Block Diagram

Figure 1.  Accelerated FIR with Built-in Direct Memory Access Block Diagram

View Full Size

Using This Design Example

Download the Accelerated FIR with Built-in DMA Design Example (.zip file)

Download the Accelerated FIR with Built-in DMA Design Example README (.txt file)

The .zip file contains all the necessary hardware and software files to reproduce the example, as well as a readme.txt file. The readme.txt file contains instructions for re-building the design.

  Please Give Us Feedback