RAM-Based Shift Register (ALTSHIFT_TAPS)
Megafunction
User Guide
101 Innovation Drive San Jose, CA 95134 www.altera.com
UG-01009-2.2 |
Document last updated for Altera Complete Design Suite version: |
13.0 |
|
Document publication date: |
May 2013 |
Subscribe
© 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
RAM-Based Shift Register (ALTSHIFT_TAPS) Megafunction User Guide |
May 2013 Altera Corporation |
The ALTSHIFT_TAPS megafunction supports the following target Altera® device families:
■Arria® V
■Arria GX
■Cyclone® V
■Cyclone III
■Cyclone II
■Cyclone
■HardCopy® II
■HardCopy Stratix®
■Stratix V
■Stratix IV
■Stratix III
■Stratix II
■Stratix II GX
■Stratix
■Stratix GX
■ACEX® 1K
■APEX™ II
■APEX 20KC
■APEX 20KE
■FLEX® 10K
■FLEX 10KA
■FLEX 10KE
As design complexities increase, the use of vendor-specific IP blocks has become a common design methodology. Altera provides parameterizable megafunctions that are optimized for Altera device architectures. Using megafunctions instead of coding your own logic saves valuable design time. Additionally, the Altera-provided functions may offer more efficient logic synthesis and device implementation. You can scale the megafunction’s size by simply setting parameters.
May 2013 Altera Corporation |
RAM-Based Shift Register (ALTSHIFT_TAPS) Megafunction User Guide |
1–2 |
Chapter 1: About this Megafunction |
|
Features |
|
|
Altera provides a RAM-based shift register megafunction called ALTSHIFT_TAPS that contains additional features not found in a conventional shift register. Traditional shift registers implemented with standard flip-flops use many logic cells for large shift registers. The ALTSHIFT_TAPS megafunction is implemented in the device memory blocks, saving logic cells and routing resources. In a complicated design such as a digital signal processing (DSP) application that requires local data storage, it is more efficient to implement an ALTSHIFT_TAPS megafunction as the shift register.
The ALTSHIFT_TAPS megafunction is a parameterized shift register with taps. The taps provide data outputs from the shift register at certain points in the shift register chain. You can add additional logic that uses the output from these taps for further applications. The megafunction’s output tap feature is useful for applications such as the Linear Feedback Shift Register (LFSR) and Finite Impulse Response (FIR) filters.
Features
The ALTSHIFT_TAPS megafunction implements a shift register with taps and offers additional features, which include:
■Selectable RAM block type
■A wide range of widths for the shiftin and shiftout ports
■Support for output taps at certain points in the shift register chain
■Selectable distance between taps
The ALTSHIFT_TAPS megafunction can be easily configured and built through the Shift Register (RAM-based) MegaWizard® Plug-In Manager in the Quartus® II software.
Chapter 2, Getting Started guides you through each page of the MegaWizard Plug-In Manager with explanations for each of the options.
The ALTSHIFT_TAPS megafunction is implemented in the embedded memory block of all supported device families with simple dual-port RAM. You can select the RAM block type according to the capacity you require. The capacity that is represented by the width and the depth of the memory block depends on the TAP_DISTANCE, NUMBER_OF_TAPS, and WIDTH parameters of the ALTSHIFT_TAPS megafunction.
fFor the features and capacities of the typical memory block, refer to the chapter of your device handbook that contains information about TriMatrix embedded memory blocks.
The ALTSHIFT_TAPS megafunction supports single-bit and multiple-bit data shifting at one clock cycle, depending on the width of the shiftin and shiftout ports. For example, if the shiftin and shiftout ports are single-bit data, only one bit is shifted per clock cycle. If the shiftin and shiftout ports are multiple-bit data, such as oneword data (8-bit), the whole word is shifted per clock cycle.
The megafunction also supports output taps at certain points in the shift register chain, but the tap points must be evenly spaced. The space between taps is set by the TAP_DISTANCE parameter in the MegaWizard Plug-in Manager.
RAM-Based Shift Register (ALTSHIFT_TAPS) Megafunction User Guide |
May 2013 Altera Corporation |
Chapter 1: About this Megafunction |
1–3 |
General Description
fFor more information about setting the option for the distance between taps in the MegaWizard Plug-in Manager, refer to Chapter 2, Getting Started. For information about the TAP_DISTANCE parameter, refer to Chapter 3, Specifications.
Figure (a) in Figure 1–1 shows a traditional 12-word-depth shift register. Figure (b) shows how the data in the shift register chain are being tapped at even spaces (1st, 4th, 7th, and 10th) at the output taps of the ALTSHIFT_TAPS megafunction.
Figure 1–1. Tapping Data at Certain Points of the Shift Register Chain (Note 1), (2), (3)
Notes for Figure 1–1
(1)The ALTSHIFT_TAPS megafunction depicted here has TAP_DISTANCE = 3 and NUMBER_OF_TAPS = 4.
(2)The tapped data is output to taps[31..0]. Note that taps[31..0] is a 32-bit output because it taps four words at one time. The first word from the MSB of the taps (taps[31..24]) represents the first data and is followed by the 4th data, 7th data, and 10th data.
(3)The shiftout[7..0] word is equivalent to taps[31..24].
May 2013 Altera Corporation |
RAM-Based Shift Register (ALTSHIFT_TAPS) Megafunction User Guide |
1–4 |
Chapter 1: About this Megafunction |
|
General Description |
|
|
RAM-Based Shift Register (ALTSHIFT_TAPS) Megafunction User Guide |
May 2013 Altera Corporation |
The instructions in this section require the following software:
■The Quartus® II software version 8.0 or later
■For operating system support information, refer to www.altera.com/support/software/os_support/oss-index.html
The MegaWizard® Plug-In Manager creates or modifies design files that contain custom megafunction variations, which can then be instantiated in a design file. The MegaWizard Plug-In Manager provides a wizard that allows you to specify options for the ALTSHIFT_TAPS megafunction features in your design.
Start the MegaWizard Plug-In Manager in one of the following ways:
■On the Tools menu, click MegaWizard Plug-In Manager.
■In the Block Editor, on the Edit menu, click Insert Symbol as Block, or right-click in the Block Editor, point to Insert, and click Symbol as Block. In the Symbol window, click MegaWizard Plug-In Manager.
■Start the stand-alone version of the MegaWizard Plug-In Manager by typing the following command at the command prompt:
qmegawizr
This section provides descriptions for the options available on the individual pages of the Shift Register (RAM-based) MegaWizard plug-in.
On page 1 of the MegaWizard Plug-In Manager, you can select Create a new custom megafunction variation, Edit an existing custom megafunction variation, or Copy an existing custom megafunction variation (Figure 2–1).
Figure 2–1. MegaWizard Plug-In Manager [page 1]
May 2013 Altera Corporation |
RAM-Based Shift Register (ALTSHIFT_TAPS) Megafunction User Guide |
2–2 |
Chapter 2: Getting Started |
|
MegaWizard Plug-In Manager Page Descriptions |
|
|
On page 2a of the MegaWizard Plug-In Manager, specify the megafunction, device family to use, type of output file to create, and the name of the output file (Figure 2–2). Choose AHDL (.tdf), VHDL (.vhd), or Verilog HDL (.v) as the output file type.
Figure 2–2. MegaWizard Plug-In Manager [page 2a]
RAM-Based Shift Register (ALTSHIFT_TAPS) Megafunction User Guide |
May 2013 Altera Corporation |