LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Overview :: News :: Downloads :: Tracker    

    CF Interleaver: Overview

    Details

    Name: cf_interleaver
    Created: 01-Apr-2003 19:44:03
    Updated: 08-May-2008 08:31:47
    CVS: no files in cvs

    Other project properties

    Category :: Memory core
    Development status :: Production/Stable

    Project maintainers

  • Tom Hawkins
  • Statistics

  • view
  • Description

    Cores are generated from Confluence; a modern logic design language. Confluence is a simple, yet highly expressive language that compiles into Verilog, VHDL, and C. See Confluent for more info.

    Memory interleavers are common components often found in signal processing applications. They are useful for buffering and reordering data and typically form the separation between design stages. Interleavers can be used for:

    • Transposing Images for Image Processing
    • Buffering Noncontinuous Input Data
    • Data Shuffling Between FFT Ranks

    Features

    The memory interleaver consists of 2 interleaving memories: one memory loads input data, while the other dumps output data -- On a swap signal the 2 memories switch roles.

    The interface to an interleaver is:

    • Inputs
      • clock : Main clock.
      • swap : Pulse to swap memories (input become output, output becomes input).
      • write : Write enable to input memory.
      • addr : Address to input memory.
      • data : Data to input memory.
    • Outputs
      • sync_primary : Pulse to indicate an interleaver swap.
      • sync_secondary : Pulse to indicate address 0 is output.
      • data : Data dumped from output memory.
    Input data to the interleaver is addressable. Output data is dumped one memory location after another starting at address 0.

    Each file is stand-alone and represents a specific configuration.
    The 2 configuration parameters are:

    • Address Width (Memory Depth)
    • Data Width
    The configuration parameters are coded in the file names: cf_interleaver_8_32.v
    • 8 : Address Width
    • 32 : Data Width
    Current configurations:
    • cf_interleaver_6_8
    • cf_interleaver_7_8
    • cf_interleaver_8_8
    • cf_interleaver_9_8
    • cf_interleaver_10_8
    • cf_interleaver_11_8
    • cf_interleaver_12_8
    • cf_interleaver_6_16
    • cf_interleaver_7_16
    • cf_interleaver_8_16
    • cf_interleaver_9_16
    • cf_interleaver_10_16
    • cf_interleaver_11_16
    • cf_interleaver_12_16
    • cf_interleaver_6_32
    • cf_interleaver_7_32
    • cf_interleaver_8_32
    • cf_interleaver_9_32
    • cf_interleaver_10_32
    • cf_interleaver_11_32
    • cf_interleaver_12_32
    • cf_interleaver_6_64
    • cf_interleaver_7_64
    • cf_interleaver_8_64
    • cf_interleaver_9_64
    • cf_interleaver_10_64
    • cf_interleaver_11_64
    • cf_interleaver_12_64


     

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.