Top Banner
101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com DSP Builder Reference Manual Preliminary Software Version: 5.1 (SP1) Document Version: 5.1 (SP1) Document Date: January 2006
204

DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Jul 19, 2018

Download

Documents

hacong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

101 Innovation DriveSan Jose, CA 95134(408) 544-7000www.altera.com

DSP Builder

Reference Manual

Preliminary

Software Version: 5.1 (SP1)Document Version: 5.1 (SP1)

Document Date: January 2006

Page 2: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Copyright © 2006 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device des-ignations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks andservice marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Al-tera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrantsperformance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to makechanges to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the ap-plication or use of any information, product, or service described herein except as expressly agreed to in writing by AlteraCorporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published in-formation and before placing orders for products or services.

ii DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

MNL-DSPBLDR-4.0

Page 3: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) iiiJanuary 2006 Preliminary DSP Builder Reference Manual

Contents

About This ManualRevision History ..................................................................................................................................... viiHow to Contact Altera ........................................................................................................................... viiTypographic Conventions .................................................................................................................... viii

Chapter 1. AltLab LibraryBP Block .................................................................................................................................................. 1–1Device Programmer Block .................................................................................................................... 1–2HDL Import Block ................................................................................................................................. 1–3HDL SubSystem Block .......................................................................................................................... 1–6HIL Block ................................................................................................................................................ 1–8Node Block ........................................................................................................................................... 1–11Quartus II Global Project Assignment Block ................................................................................... 1–11Quartus II Pinout Assignment Block ................................................................................................ 1–12SignalCompiler Block .......................................................................................................................... 1–14

DSP Builder Report File ................................................................................................................. 1–17SignalTap II Analysis Block ............................................................................................................... 1–18

SignalTap II Design Flow .............................................................................................................. 1–19SignalTap II Nodes ......................................................................................................................... 1–23SignalTap II Trigger Conditions .................................................................................................. 1–23

SubSystem Builder Block .................................................................................................................... 1–24VCDSink Block ..................................................................................................................................... 1–26

Chapter 2. Arithmetic LibraryBarrel Shifter Block ................................................................................................................................ 2–2Bit Level Sum of Products Block ......................................................................................................... 2–3Comparator Block .................................................................................................................................. 2–5Counter Block ......................................................................................................................................... 2–7Differentiator Block ............................................................................................................................... 2–8Divider Block .......................................................................................................................................... 2–9Gain Block ............................................................................................................................................. 2–11Increment Decrement Block ............................................................................................................... 2–13Integrator Block .................................................................................................................................... 2–16Magnitude Block .................................................................................................................................. 2–18Multiplier Block ................................................................................................................................... 2–19Multiply Accumulate Block ............................................................................................................... 2–20Multiply Add Block ............................................................................................................................. 2–23Parallel Adder Subtractor Block ........................................................................................................ 2–25Pipelined Adder Block ........................................................................................................................ 2–27Product Block ....................................................................................................................................... 2–29SOP TAP Block ..................................................................................................................................... 2–32

Page 4: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

iv DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Contents

Square Root Block ................................................................................................................................ 2–33Sum of Products Block ........................................................................................................................ 2–35

Chapter 3. IO & Bus LibraryAltBus Block ........................................................................................................................................... 3–1

AltBus Block Input Port & Output Port Modes ........................................................................... 3–3AltBus Block Internal Node Mode ................................................................................................. 3–4AltBus Black Box Input Output Mode .......................................................................................... 3–4AltBus Block Constant Mode .......................................................................................................... 3–5

Binary Point Casting Block ................................................................................................................... 3–6BusBuild Block ....................................................................................................................................... 3–7Bus Concatenation Block ...................................................................................................................... 3–9BusConversion Block .......................................................................................................................... 3–10Constant Block ..................................................................................................................................... 3–12ExtractBit Block .................................................................................................................................... 3–13GlobalRst Block .................................................................................................................................... 3–14GND Block ............................................................................................................................................ 3–15Input Block ............................................................................................................................................ 3–16Output Block ........................................................................................................................................ 3–17Round Block ......................................................................................................................................... 3–18Saturate Block ....................................................................................................................................... 3–19VCC Block ............................................................................................................................................. 3–20

Chapter 4. Complex Type LibraryButterfly Operator Block ....................................................................................................................... 4–1Complex AddSub Block ........................................................................................................................ 4–4Complex Conjugate Block .................................................................................................................... 4–5Complex Constant Block ...................................................................................................................... 4–6Complex Delay Block ............................................................................................................................ 4–7Complex Multiplexer Block ................................................................................................................. 4–8Complex Product Block ........................................................................................................................ 4–8Complex to Real-Imag Block ................................................................................................................ 4–9Real-Imag to Complex Block .............................................................................................................. 4–11

Chapter 5. Boards LibraryCyclone II EP2C35 DSP Development Board .................................................................................... 5–1Stratix EP1S25 DSP Development Board ........................................................................................... 5–3Stratix EP1S80 DSP Development Board ........................................................................................... 5–6Stratix II EP2S60 DSP Development Board ........................................................................................ 5–8Stratix II EP2S180 DSP Development Board .................................................................................... 5–11

Chapter 6. Gate & Control Library1-to-n Demux Block ............................................................................................................................... 6–1Binary to Seven Segments Block .......................................................................................................... 6–2Bitwise Logical Bus Operator Block .................................................................................................... 6–3Case Statement Block ............................................................................................................................ 6–4Decoder Block ........................................................................................................................................ 6–6

Page 5: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) vJanuary 2006 Preliminary DSP Builder Reference Manual

Contents

Flip Flop Block ....................................................................................................................................... 6–7If Statement Block .................................................................................................................................. 6–8Logical Bit Operator Block ................................................................................................................. 6–11Logical Bus Operator Block ................................................................................................................ 6–12LUT Block ............................................................................................................................................. 6–14n-to-1 Multiplexer Block ..................................................................................................................... 6–15NOT Block ............................................................................................................................................ 6–17One-to-n Demux Block ....................................................................................................................... 6–17Single Pulse Block ................................................................................................................................ 6–18

Chapter 7. Rate Change LibraryClockAltr Block ...................................................................................................................................... 7–2Multi-Rate DFF Block ............................................................................................................................ 7–2PLL Block ................................................................................................................................................ 7–3Tsamp Block ........................................................................................................................................... 7–5

Chapter 8. SOPC Builder Links LibraryAvalon Blocks ......................................................................................................................................... 8–1Avalon Master Block ............................................................................................................................. 8–4Avalon Slave Block ................................................................................................................................ 8–6Avalon Read FIFO Block ...................................................................................................................... 8–9Avalon Write FIFO Block ................................................................................................................... 8–10Avalon Port Blocks .............................................................................................................................. 8–12Custom Instruction Blocks ................................................................................................................. 8–13

Chapter 9. State Machine Functions LibraryState Machine Table Block .................................................................................................................... 9–1

Design Rule Checks ......................................................................................................................... 9–3

Chapter 10. Storage LibraryDelay Block ........................................................................................................................................... 10–1Down Sampling Block ........................................................................................................................ 10–3Dual-Port RAM Block ......................................................................................................................... 10–4FIFO Block ............................................................................................................................................ 10–7LFSR Sequence Block .......................................................................................................................... 10–8Memory Delay Block ......................................................................................................................... 10–11Multi Rate FIFO Block ....................................................................................................................... 10–12Parallel to Serial Block ....................................................................................................................... 10–14Pattern Block ...................................................................................................................................... 10–15ROM EAB Block ................................................................................................................................. 10–17Serial to Parallel Block ....................................................................................................................... 10–19Shift Taps Block .................................................................................................................................. 10–21Up Sampling Block ............................................................................................................................ 10–23

Chapter 11. Example DesignsDSP Builder Tutorial ........................................................................................................................... 11–3

Page 6: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

vi DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Contents

Hardware in the Loop, Frequency Sweep ....................................................................................... 11–3CIC Interpolation (3 Stages x75) ........................................................................................................ 11–3CIC Decimation (3 Stages x75) ........................................................................................................... 11–3Convolution Interleaver Deinterleaver ............................................................................................ 11–4SOPC Builder Peripheral .................................................................................................................... 11–4IIR Filter ................................................................................................................................................ 11–432 Tap Serial FIR Filter ........................................................................................................................ 11–4MAC based 32 Tap FIR Filter ............................................................................................................. 11–5Color Space Converter ........................................................................................................................ 11–5Farrow Based Resampler .................................................................................................................... 11–5Cordic, 20 bits Rotation Mode ........................................................................................................... 11–6Imaging Edge Detection ..................................................................................................................... 11–6Quartus II Assignment Setting Example .......................................................................................... 11–6SignalTap II Filtering Lab ................................................................................................................... 11–6SignalTap II Filtering Lab with DAC to ADC Loopback ............................................................... 11–7Cyclone II EP2C35 DSP Board ........................................................................................................... 11–7Stratix EP1S25 DSP Board .................................................................................................................. 11–7Stratix EP1S80 DSP Board .................................................................................................................. 11–7Stratix II EP2S60 DSP Board ............................................................................................................... 11–7Stratix II EP2S180 DSP Board ............................................................................................................. 11–8

Appendix A. Example Tcl Scripts

Index

Page 7: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) viiJanuary 2006 Preliminary DSP Builder Reference Manual

About This Manual

Revision History The table below displays the revision history for the chapters in this manual.

How to Contact Altera

For the most up-to-date information about Altera® products, go to the Altera world-wide web site at www.altera.com. For technical support on this product, go to www.altera.com/mysupport. For additional information about Altera products, consult the sources shown below.

Chapter Date Version Changes Made

all January 2006 5.1 (SP1) Added list of blocks to first page of each chapter. Added port tables and updated I/O formats. Updated State Machine Functions Library chapter. Added an index. Various minor corrections.

all October 2005 5.1.0 Added HDL Import block to AltLab library. Added Avalon blocks to SOPC Builder Links library. Replaced 1-to-n demultiplexer by one-to-n demultiplexer. Updated block parameters in chapters 1, 2, 3, 4 & 8. Updated descriptions of the example design in chapter 11.

all August 2005 5.0.1 Added Stratix® II EP2S180 DSP Development Board Library.

all April 2005 5.0.0 Updated version from 3.0.0 to 5.0.0.Added support for the Cyclone™ II DSP board.

all January 2005 3.0.0 Added support for Hardware in the Loop

all August 2004 2.2.0 Added support for MegaCore® functions

1 March 2004 2.2.0 Beta Added support for Stratix II and Cyclone II devices

all July 2003 1.0.0 First publication

Information Type USA & Canada All Other Locations

Technical support www.altera.com/mysupport/ www.altera.com/mysupport/

(800) 800-EPLD (3753)(7:00 a.m. to 5:00 p.m. Pacific Time)

+1 408-544-87677:00 a.m. to 5:00 p.m. (GMT -8:00) Pacific Time

Product literature www.altera.com www.altera.com

Altera literature services [email protected] [email protected]

Non-technical customer service

(800) 767-3753 + 1 408-544-70007:00 a.m. to 5:00 p.m. (GMT -8:00) Pacific Time

FTP site ftp.altera.com ftp.altera.com

Page 8: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

viii DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

About This Manual

Typographic Conventions

This document uses the typographic conventions shown below.

Visual Cue Meaning

Bold Type with Initial Capital Letters

Command names, dialog box titles, checkbox options, and dialog box options are shown in bold, initial capital letters. Example: Save As dialog box.

bold type External timing parameters, directory names, project names, disk drive names, filenames, filename extensions, and software utility names are shown in bold type. Examples: fMAX, \qdesigns directory, d: drive, chiptrip.gdf file.

Italic Type with Initial Capital Letters

Document titles are shown in italic type with initial capital letters. Example: AN 75: High-Speed Board Design.

Italic type Internal timing parameters and variables are shown in italic type. Examples: tPIA, n + 1.

Variable names are enclosed in angle brackets (< >) and shown in italic type. Example: <file name>, <project name>.pof file.

Initial Capital Letters Keyboard keys and menu names are shown with initial capital letters. Examples: Delete key, the Options menu.

“Subheading Title” References to sections within a document and titles of on-line help topics are shown in quotation marks. Example: “Typographic Conventions.”

Courier type Signal and port names are shown in lowercase Courier type. Examples: data1, tdi, input. Active-low signals are denoted by suffix n, for example, resetn.

Anything that must be typed exactly as it appears is shown in Courier type. For example: c:\qdesigns\tutorial\chiptrip.gdf. Also, sections of an actual file, such as a Report File, references to parts of files (for example, the VHDL keyword BEGIN), as well as logic function names (for example, TRI) are shown in Courier.

1., 2., 3., anda., b., c., and so on

Numbered steps are used in a list of items when the sequence of the items is important, such as the steps listed in a procedure.

■ ● • Bullets are used in a list of items when the sequence of the items is not important.

v The checkmark indicates a procedure that consists of one step only.

1 The hand points to information that requires special attention.

c The caution indicates required information that needs special consideration and understanding and should be read prior to starting or continuing with the procedure or process.

w The warning indicates information that should be read prior to starting or continuing the procedure or processes

r The angled arrow indicates you should press the Return key.

f The feet direct you to more information on a particular topic.

Page 9: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–1January 2006 Preliminary DSP Builder Reference Manual

1. AltLab Library

The blocks in the AltLab library are used to manage design hierarchy and generate RTL VHDL for synthesis and simulation.

The AltLab library contains the following blocks:

Block Page

BP Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1Device Programmer Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–2HDL Import Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3HDL SubSystem Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6HIL Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–8Node Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11Quartus II Global Project Assignment Block . . . . . . . . . . . . . 1–11Quartus II Pinout Assignment Block . . . . . . . . . . . . . . . . . . . 1–12SignalCompiler Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14SignalTap II Analysis Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–18SubSystem Builder Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–24VCDSink Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–26

BP Block The BP (Bus Probe) block is a sink block, which can be placed on any node of a model. After simulating the model, the BP block back-annotates the following information in the parameter dialog box of the BP block:

■ Maximum value reached during simulation■ Minimum value reached during simulation■ Maximum number of bits required during simulation■ Sampling period

The Display in Symbol parameter selects the graphical shape of the symbol in the model and the information that is reported there, as shown in Table 1–1.

Table 1–1. Bus Probe Block “Display in Symbol” Parameter

Shape of Symbol Data Reported in Symbol

Rectangle Node sampling period.

Circle Maximum number of bits required during simulation.

Diamond Maximum or minimum value reached during simulation.

Page 10: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

The BP block does not have any hardware representation and therefore will not appear in the VHDL RTL representation generated by the SignalCompiler block.

Figure 1–1 shows example usage of the BP block. BP1 is displaying the maximum number of bits and BP is displaying the minimum value reached during simulation.

Figure 1–1. BP Block Example Usage

Device Programmer Block

The Device Programmer block provides easy access to the Quartus® II device programmer, and can work in conjunction with the Hardware in the Loop (HIL) block.

It allows you to configure an FPGA using a .sof file (SRAM Object File), and optionally using a .cdf file (Chain Description File). See the Quartus II help for additional information on the .cdf file.

■ In non-JTAG mode, the Device Programmer requires only a .sof file.■ In JTAG mode, Device Programmer requires a .sof file, plus a .cdf file

if the FPGA to configure is not the first in the JTAG chain (the .cdf file specifies the position of the FPGA in the JTAG chain).

Page 11: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–3January 2006 Preliminary DSP Builder Reference Manual

HDL Import Block

The Device programmer cannot create a .cdf file. If you require a .cdf file, it can be created by the Quartus II software programmer, or by the HIL block programmer.

Table 1–2 shows the parameters for the Device Programmer block.

f For more information on FPGA configuration, refer to the Quartus II Programmer online Help.

HDL Import Block

You can use the HDL Import block to import existing blocks implemented in HDL into DSP Builder. The files can be individually specified VHDL or Verilog HDL files or be defined in a Quartus II project file. To add a HDL Import block follow these steps:

1. Drag and drop a HDL Import block into the model and double-click to display a configuration dialog box.

2. Use the dialog box to select either an ordered list of HDL files or the name of a Quartus II project file.

3. Click the Compile button to generate a Simulink model.

A simulation file is generated and the block in the model is configured with the input and output ports required by the model. The Quartus® II software synthesizes the imported HDL or project as a netlist of megafunctions, LPM functions, and gates.

The megafunctions and LPM functions may have been explicitly instantiated in the imported files, or may have been inferred by the Quartus® II software. The netlist is then compiled into a binary simulation netlist that is used by the HDL simulation engine in DSP Builder.

Table 1–2. Device Programmer Block Parameters

Name Value Description

Select the SOF File .sof file You can browse for a Quartus II SRAM Object File (.sof).

Use with its JTAG .cdf file On or Off When this option is turned on, the corresponding JTAG Chain Description File (.cof) is also used.

Select the JTAG cable <detected cables> You can optionally choose the JTAG cable program if it can be detected.

Program the FPGA — This button programs the FPGA device.

Close window upon success On or Off When turned on, the dialog box is automatically closed after the FPGA device has been successfully programed.

Page 12: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

The simulator supports many of the common megafunctions and LPM functions although some are not supported. If an unsupported function is encountered, an error message is issued after the compile button is clicked and the HDL cannot be imported. However, you may be able to to re-write the HDL so that Quartus will infer a different megafunction or LPM function.

Table 1–3 shows the parameters for the HDL Import block.

Figure 1–2 on page 1–5 shows an example of an imported HDL design which implements a simple adder with four input ports (Input, Input1, Input2, sclrp), and two output ports (Output, Output1).

Table 1–3. HDL Import Block Parameters

Name Value Description

Import HDL On or Off You can import individual HDL files when this option is turned on.

Add .v or .vhd file Click this button to browse for one or more VHDL files or Verilog HDL files.

Remove — Click this button to remove the selected file from the list.

Up, Down — Click these buttons to change the compilation order by moving the selected HDL file up or down the list. The file order is not important when you are using the Quartus II software but may be significant when you are using other downstream tools (such as ModelSim).

Enter name of top level design entity

Entity name Specifies the name of the top level entity in the imported HDL files.

Import Quartus II Project On or Off When this option is turned on, you can specify the HDL to import using a Quartus II project file (.qpf). The current HDL configuration is imported. If you want to import a different revision, the required revision should be specified in the Quartus II software. The source files used by the Quartus II project must be in the same directory as your model file or be explicitly referenced in the Quartus II settings file (.qsf). Error messages are issued for any entities which cannot be found.Refer to the Quartus II software documentation for information about setting the current revision of a project and how to explicitly reference the source files in your design.

Browse .qpf file Click this button to browse for a Quartus II project file.

Compile — This button compiles a simulation model from the imported HDL and displays the ports defined in the imported HDL on the block.

Page 13: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–5January 2006 Preliminary DSP Builder Reference Manual

HDL Import Block

Figure 1–2. Typical HDL Import Block

Imported VHDL must be defined using std_logic_1164 types. If your design uses any other VHDL type definitions (such as arithmetic or numeric types), you should write a wrapper which converts them to std_logic or std_logic_vector.

HDL import only supports single clock designs. If a design with multiple clocks is imported, one clock is used as the implicit clock and any others are shown as input ports on the Simulink block.

1 HDL source files can be stored in any directory or hierarchy of directories.

Table 1–4 lists the supported megafunctions and LPM functions while Table 1–5 lists those that are not supported.

Table 1–4. Supported Megafunctions and LPM Functions

Megafunctions LPM Functions

a_graycounteraltaccumulatealtmult_add

altshift_tapsaltsyncramparallel_add

lpm_abslpm_add_sublpm_comparelpm_counter

lpm_multlpm_muxlpm_ram_dp

Table 1–5. Unsupported Megafunctions and LPM Functions

Megafunctions LPM Functions

alt3pramaltcamaltcdraltclklockaltddioaltdpramaltera_mf_commonaltfp_multaltlvds

altmemmultaltmult_accumaltpllaltqpramaltsqrtalt_exc_dpramalt_exc_upcoredcfifoscfifo

lpm_andlpm_bustrilpm_clshiftlpm_constantlpm_decodelpm_dividelpm_fflpm_fifolpm_fifo_dc

lpm_invlpm_latchlpm_orlpm_padlpm_ram_dqlpm_ram_iolpm_romlpm_shiftreglpm_xor

Page 14: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

HDL SubSystem Block

You can use the HDL SubSystem block to add a level of hierarchy to your design. SignalCompiler generates a separate VHDL file for each DSP Builder HDL SubSystem block, each containing a single entity and architecture pair. For example, if you have a single model file with two subsystems, SignalCompiler creates three output files, one for the model file and one for each of the subsystems.

1 Note that the hierarchy of the DSP Builder model is not preserved in translated Verilog HDL files generated by SignalCompiler, just in the VHDL files.

The SignalCompiler block creates VHDL files in which the entity name space is global. The entity name is by default the HDL Subsystem name, and therefore all subsystem names are expected to be unique by default. If your model has the structure shown in Figure 1–3, both instances of subsystem C must be identical. If they are different, only one will be used.

Figure 1–3. Example Design Hierarchy

If the HDL subsystem C has a different I/O port signature or a different parameter signature (such as a different sampling period), turn on the Hierarchical VHDL entity names are unique option on the first page of the SignalCompiler block dialog box.

When this option is on, SignalCompiler will generate the following VHDL files: a1.vhd, b2.vhd, c3.vhd, f4.vhd, d5.vhd, c6.vhd.

f For a listing of the HDL SubSystem blocks used in the design, refer to the DSP Builder Report File, which is output when SignalCompiler finishes generating HDL.

The DSP Builder HDL SubSystem block is derived from the Simulink Subsystem block. In other words, the HDL SubSystem block is a Simulink Subsystem block with the MaskType parameter set to SubSystem AlteraBlockSet. SignalCompiler uses this parameter setting to detect which subsystem to translate into VHDL.

Page 15: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–7January 2006 Preliminary DSP Builder Reference Manual

HDL SubSystem Block

If you want to convert a Simulink Subsystem to an HDL SubSystem, select the Simulink Subsystem and type the following command at the MATLAB prompt:

set_param(gcb,'MaskType', 'SubSystem AlteraBlockSet') r

This command sets the MaskType parameter to SubSystem AlteraBlockSet.

You can open a HDL SubSystem block by clicking on the block with the right mouse button and choosing Look Under Mask from the popup menu.

HDL SubSystem input/output ports are defined with a combination of:

■ Simulink in port blocks and DSP Builder Input blocks for the inputs■ Simulink out port blocks and DSP Builder Output blocks for the

outputs

Figure 1–4 shows the default input ports for a new HDL SubSystem block.

Figure 1–4. HDL SubSystem Example Input Ports

The bit width information for a DSP Builder Input block is written automatically to the Simulink in port block label name (in other words, In1[7:0]), and is displayed in the HDL SubSystem symbol port name as shown in Figure 1–5. The same mechanism applies for output signals.

f For additional information, refer to “Fixed-Point Notation” in Chapter 3 of the DSP Builder User Guide.

Page 16: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

Figure 1–5. HDL SubSystem Example Bit Width Information

HIL Block The HIL (Hardware In the Loop) block allows you to use an FPGA as a simulation device inside a Simulink design. This hardware accelerates the simulation time, and also allows access to real hardware within a simulation.

To use an HIL block, you need an FPGA board (Stratix® II, Stratix, Cyclone™ II, or Cyclone FPGA) with a JTAG interface. You can use any JTAG download cable, such as a ByteBlasterMV™, ByteBlaster™, or USB-Blaster™ cable.

HIL supports advanced features, including:

■ Exported ports (allows the use of hardware components connected to the FPGA)

■ Burst and frame modes (improves HIL simulation speed)

Page 17: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–9January 2006 Preliminary DSP Builder Reference Manual

HIL Block

The design flow is as follow:

1. Create a Quartus II project that defines the functions you want to co-simulate in hardware.

2. Compile the Quartus II project through the Quartus II Fitter step.

3. Add the HIL block to your Simulink model and import the compiled Quartus II project into the HIL block. You might also connect instrumentation to your HIL block by adding additional blocks from the Simulink Sinks and Sources libraries.

4. Specify the various parameters of the HIL block, including:

• the Quartus II project you compiled to define its functionality,

• the input and output pin characteristics, and• the use of single-step versus burst and frame mode.

5. Compile the HIL block to create a programming object file that will be used for hardware co-simulation.

6. Program the board that contains your target FPGA.

7. Simulate the combined software and hardware system in Simulink. When using a HIL block in a Simulink model, set the simulation parameters for the model as follows:

• Solver option: Fixed-step• Mode: Single-tasking

Table 1–6 shows the parameters specified in the Settings page of the HIL block Parameters dialog box.

Table 1–6. HIL Block Parameters, Settings Page (Part 1 of 2)

Name Value Description

Select the Quartus II project

.qpf file Browse for a Quartus II project file which describes the hardware design used in the HIL block.

Select the clock pin Port name Choose the clock pin name for the hardware design in the Quartus II software.

Identify the signed ports

Signed or Unsigned

Set the number of bits and select the type (signed or unsigned) of each input and output port in the hardware design.

Export On or Off When turned on, the selected port is exported on an FPGA pin (or on multiple pins for buses). When turned off (the default), the port is exported to the Simulink model.

Page 18: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–10 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

1 The HIL block will need recompilation if the Quartus project, clock pin, or any of the exported ports are changed.

Table 1–7 shows the parameters specified in the Compile & Program page of the HIL Block Parameters dialog box.

Burst Mode On or Off When turned on, allows sending data to the FPGA in bursts. This improves the simulation speed, but delays the outputs by the burst length used. When Off, it defaults to single-step mode.

Burst Length 2–1000 Specify the length of a burst ("1" would be equivalent to disabling burst mode). Use higher values to produce faster simulations (although the extra gain becomes negligible as bigger burst sizes are used).

Frame Mode On or Off Used in burst mode when data is sent or received in frames. When turned on, allows synchronizing of the output data frames to the input data frames.

Input Sync Port name Choose the input port used as the synchronization signal in frame mode.

Output Sync Port name Choose the output port used as the synchronization signal in frame mode.

Sampling Period Integer Specify the sample time period in seconds. (A value of -1 means that the sampling period is inherited from the block connected to the inputs.)

Sclr On or Off When turned on, allows assertion of the synchronous clear signal before the simulation starts (only for designs created by SignalCompiler).

Table 1–6. HIL Block Parameters, Settings Page (Part 2 of 2)

Name Value Description

Table 1–7. HIL Block Parameters, Compile & Program Page

Name Value Description

FPGA device device name Choose the FPGA device.

Compile with Quartus II — Click this button to compile the HIL block with the Quartus II software.

JTAG Cable cable name Choose the JTAG cable.

Device in chain device location Choose the required entry for the location of the device.

Configure FPGA — Click this button to configure the FPGA.

Transcript window — Displays the progress of the compilation.

Page 19: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–11January 2006 Preliminary DSP Builder Reference Manual

Node Block

Node Block You can use the Node block with the SignalTap® II Analysis block to capture signal activity from internal Altera® device nodes while the system under test runs at speed. The Node block indicates the signals (also called nodes) for which you want to capture activity.

When you add a Node block, you specify a range of bits to analyze by choosing the bit position of the most significant bit (MSB) and least significant bit (LSB). For example, if you want to analyze the three most significant bits of an 8-bit bus, you would specify seven for the MSB parameter and five for the LSB parameter.

Table 1–8 shows the Node block parameters.

See “SignalTap II Analysis Block” on page 1–18 and Figure 1–10 on page 1–20 for an example using the Node block and the SignalTap II Analysis block.

f Refer to the “Perform SignalTap II Analysis” section in the “Performing SignalTap II Logic Analysis” chapter in the DSP Builder User Guide for more information.

Quartus II Global Project Assignment Block

This block passes Quartus II project global assignments to the Quartus II project generated by the SignalCompiler block.

Although each block sets a single assignment, multiple blocks can be used for multiple assignments as shown in Figure 1–6 on page 1–12.

These assignments could set Quartus II compilation directives such as target device or timing requirement.

1 Quartus II global project assignments set in this block will override any Quartus II project assignments (such as device selection or optimization) set in the SignalCompiler block.

f For a complete list of Quartus II Global Assignments, refer to the Quartus II Help or use the following command in Quartus:

quartus_sh -tcl_eval get_all_assigment_names

Table 1–8. Node Block Parameters

Name Value Description

MSB 0–51 Choose the bit position for the most significant bit of the range of bits you want to analyze.

LSB 0–51 Choose the bit position for the least significant bit of the range of bits you want to analyze.

Page 20: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–12 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

Figure 1–6. Multiple Assignments with the Quartus II Global Project Assignment Block

Table 1–9 shows the Quartus II Global Project Assignmentblock parameters.

Quartus II Pinout Assignment Block

This block passes Quartus II project pinout assignments to the Quartus II project generated by the SignalCompiler block.

The Quartus II Pinout Assignment block must be used only at the top level of the model. This block sets the pinout location of the Input or Output blocks from the IO & Bus DSP Builder Simulink library folder.

You must use the Quartus II Global Project Assignment block when you use the Quartus II Pinout Assignment block in order to set a target device for the Quartus II project generated by SignalCompiler.

Table 1–9. Quartus II Global Project Assignment Block Parameters

Name Value Description

Assignment Name String Specify the assignment name.

Assignment Value String Specify the assignment value.

Page 21: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–13January 2006 Preliminary DSP Builder Reference Manual

Quartus II Pinout Assignment Block

For buses, use a comma to separate the bit pin assignment location from LSB to MSB, that is:

pin name = abc : pin value = "Pin_AA, Pin_AB, Pin_AC"will assign abc[0] to Pin_AA, abc[1] to Pin_AB, and abc[2] to Pin_AC.

To set the pin assignment of the implicit hardware system clock, use clock for the pin name, that is:

pin name = clock : pin value = Pin_AM17

To set the pin assignment of the implicit hardware global reset, use sclr for the pin name, that is:

pin name = sclr : pin value = Pin_B4

Table 1–10 shows the block parameters.

Figure 1–7. Using the Quartus II Pinout Assignment Block

Table 1–10. Quartus II Pinout Assignment Block Parameters

Name Value Description

Pin Name String The pin name must be the exact instance name of the Input or Output block from the IO & Bus DSP Builder Simulink library folder, as shown in Figure 1–7 on page 1–13.

Pin Location String Pin location value of the FPGA IO. See Quartus II Help for the pinout values of a given device.

Page 22: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–14 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

SignalCompiler Block

The SignalCompiler block is the heart of DSP Builder, and performs the following functions:

■ Converts your Simulink design into synthesizable RTL VHDL■ Generates VHDL testbenches■ Generates Verilog testbenches■ Generates Verilog HDL simulation model (via the Quartus II

software)■ Exports Simulink stimulus into a VHDL or Verilog HDL testbench

and produces the expected response in an ASCII (.txt) file■ Generates Tcl scripts for Quartus II compilation■ Generates Tcl scripts for the LeonardoSpectrum™, Precision RTL,

Synplify, and ModelSim® software■ Generates a vector file (.vec) for Quartus II simulation■ Generates a PTF configuration file, which you can use to import the

design automatically into the SOPC Builder■ Enables generation of a SignalTap II (.stp) file■ Generates Quartus II Block Symbol Format (.bsf) file

f For information on the SOPC Builder, refer to the Products > Design Software section of the Altera web site (www.altera.com). Under Design Software, select the SOPC Builder link.

Table 1–11 shows the parameters for the SignalCompiler Analyze page.

Table 1–11. SignalCompiler Analyze Page

Name Value Description

Re-run update diagram to solve workspace parameters

On or Off When this option is turned on, SignalCompiler performs a simulation update command on the design and then extracts DSP Builder block information, such as sampling rate.

Hierarchical VHDL Entity names are unique

On or Off This option is available when the model contains more than one HDL Subsystem and can be used to avoid potential namespace conflicts in the VHDL model generated by SignalCompiler. Note (1)When turned on, SignalCompiler converts each HDL Subsystem into a VHDL file such that each VHDL entity name has the unique form:

<HDL Subsystem name> <#instance value> (For example: subsystem1.vhd, subsystem2.vhd)

When turned off, each VHDL entity inherits the HDL Subsystem name.

Analyze — When you click this button, SignalCompiler reads the current MDL file and detects the hierarchy level and sample period of all DSP Builder blocks. You must analyze the design every time you modify it.

Skip Analysis — Click this button to bypass the analysis, that is, to change the design.

(1) The hierarchical VHDL option is disabled by default but can be enabled by setting the following MATLABworkspace variable: dspbuilder_enable_unique_hierarchy_name = true;

Page 23: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–15January 2006 Preliminary DSP Builder Reference Manual

SignalCompiler Block

Table 1–12 shows the parameters for the SignalCompiler Settings page.

Table 1–12. SignalCompiler Block Parameters Settings Page (Part 1 of 2)

Name Value Description

Select the Top-Level model file

User Defined Click the icon to browse to the location of your top-level model file (.mdl). Specifying the file, sets your working directory.

Device Stratix, Stratix GX, Stratix II, Cyclone, Cyclone II, Development Board, APEX 20K, APEX 20KE, APEX 20KC, APEX II, MERCURY, FLEX 10KE, FLEX 6000, ACEX 1K

Choose which Altera device family you want to target. You can also target the Altera Stratix or Stratix II development boards. If you are using the automated design flow, the Quartus II software chooses the smallest device in which your design fits. SignalCompiler extracts device family information from the library block for the DSP development board you are using. For more information, see Chapter 5, Boards Library.

Synthesis Tool Quartus II,Synplify, Precision,LeonardoSpectrum

Choose the synthesis tool you want to use. SignalCompiler generates the following Tcl scripts based on your selection: <design_name>_quartus.tcl for Quartus II software<design_name>_spl.tcl for Synplicity software<design_name>_precision.tcl for Precision RTL software <design_name>_leo.tcl for LeonardoSpectrum software

Optimization Speed, Area, Balanced, Fast fit - No timing optimization, or Use Current Quartus II Project

Choose the Quartus II optimization option to be used during the mapping and fitting stages. When Optimization is set to Use Current Quartus II project, SignalCompiler does not create a new Quartus II project and compiles the model using the Quartus II option of an existing Quartus II project.

Main Clock tab: Period (ns)

User Defined Specify the clock period in nanoseconds.

Main Clock tab: PLL Output Clocks

Keep Internal, or Output to Pin

Choose whether the PLL output clocks are kept internal or output to the pins. Use the Output to Pin option if you want to use the PLL output clocks in a testbench.

Reset tab: Create a global reset input pin (sclrp)

On or Off When this option is turned on, you can choose the polarity of the design’s global reset.

Reset tab: The global reset is

Active High, Active Low, Registered Active High, Registered Active Low

Choose the global reset polarity to be active high or active low. When the registered options are chosen, a register is included just after the global reset signal (sclrp). This can be useful if sclrp is driven by logic which might glitch.

SignalTap II tab: Insert SignalTap II Logic Analyzer

On or Off Turn on and specify the required depth if you want to insert an instance of the SignalTap II logic analyzer in the design. You can use the logic analyzer to capture and probe signals on the DSP development boards. This option is only valid if your are targeting a DSP development board.

Page 24: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–16 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

f Refer to “SignalCompiler Design Rules” in Chapter 3 of the DSP Builder User Guide for more information.

SignalTap II tab: Depth User Defined Specifies the required depth for the SignalTap II logic analyzer.

Testbench tab: Generate Stimuli for VHDL Testbench

On or Off Turn on this option to generate files for simulation in a third-party simulator (such as ModelSim). Note that the Simulink simulation runs more slowly when this option is turned on. Therefore, you should only turn on this option when you wish to use an external simulator.

SOPC Info tab: Generate SOPC Builder PTF File

On or Off When this option is turned on, SignalCompiler generates a class.ptf configuration file. With this file, the DSP Builder design is a plug-and-play peripheral for use with SOPC Builder.

Verilog tab: Convert MDL to VHDL creates a Verilog HDL testbench and model

On or Off When you turn on this option and click Convert MDL to VHDL, SignalCompiler generates Verilog model output and testbench files <design_name>.vo, tb_<design_name>.v, and a Tcl script for a ModelSim Verilog simulation flow tb_vo_<design_name>.tcl.

JTAG Cable tab: JTAG cable ports

List of ports connected to the JTAG cable.

Specifies the JTAG cable port when programming the FPGA from SignalCompiler.

1 - Convert MDL to VHDL

— Click this button to generate VHDL design files and Tcl scripts for your design. (Verilog HDL files are generated if the option is turned on in the Verilog tab.)

2 - Synthesize — Click this button to synthesize the generated VHDL for the synthesis tool that you selected.

3 - Quartus II Fitter — Click this button to compile the design in the Quartus II software.

Execute steps 1, 2 and 3 — Click this button to execute steps 1, 2, and 3 in sequence. Note (1)

4 - Program Device — This button is enabled if you selected development board in the Device list, Click this button to download your design to the targeted board. See the Stratix II DSP Development Kit Getting Started User Guide or the DSP Development Kit, Stratix & Stratix Professional Edition Getting Started User Guide for information on setting up the board and connecting it to your computer.

Project Info — Click this button to view the paths to the Synplify, Precision RTL, LeonardoSpectrum, Quartus II software, and your working directory.

Report File — Click this button to view the SignalCompiler report file.

(1) Step 2 is missing from the flow for the Execute steps 1, 2 and 3 button in software version 5.1 and 5.1 (SP1).

Table 1–12. SignalCompiler Block Parameters Settings Page (Part 2 of 2)

Name Value Description

Page 25: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–17January 2006 Preliminary DSP Builder Reference Manual

SignalCompiler Block

DSP Builder Report File

After generating VHDL, SignalCompiler outputs a report file that lists SignalCompiler block parameters, the files generated by SignalCompiler, links to the synthesis log file and the Quartus II Report File, and the following information for each VHDL entity:

■ SignalCompiler settings■ Signal width mismatches■ Out-of-range signals■ Detected Simulink sampling period■ Block port bit width information for the entity■ Number of HDL SubSystem instances used (hierarchy information)

The report file shows how SignalCompiler propagates the bit widths to all of the design blocks at each level of hierarchy. Figure 1–8 and Figure 1–9 on page 1–18 show example DSP Builder report files.

Figure 1–8. DSP Builder Block Report File

Page 26: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–18 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

Figure 1–9. DSP Builder Report File

SignalTap II Analysis Block

As programmable logic design complexity increases, system verification in software becomes time consuming and replicating real-world stimulus is increasingly difficult. To alleviate these problems, you can supplement traditional system verification with efficient board-level verification.

Page 27: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–19January 2006 Preliminary DSP Builder Reference Manual

SignalTap II Analysis Block

DSP Builder version 2.0 and higher supports the SignalTap II embedded logic analyzer, which lets you capture signal activity from internal Altera device nodes while the system under test runs at speed.

DSP Builder includes the SignalTap II Analysis block with which you can set up event triggers, configure memory, and display captured waveforms (you use the Node block to select signals to monitor). Samples are saved to internal embedded system blocks (ESBs) when the logic analyzer is triggered, and are subsequently streamed off chip via the JTAG port using the USB-Blaster or ByteBlasterMV download cable. The captured data is then stored in a text file, displayed as a waveform in a MATLAB plot, and transferred to the MATLAB work space as a global variable.

DSP Builder and the SignalTap II Analysis block create a SignalTap II embedded logic analyzer that:

■ Has a simple, easy-to-use interface■ Analyzes signals in the top-level design file■ Uses a single clock source■ Captures data around a trigger point: 88% of the data is pre-trigger

and 12% of the data is post-trigger

1 You can also use the Quartus II software to insert an instance of the SignalTap II embedded logic analyzer in your design. The Quartus II software supports additional features such as analyzing nodes in all levels of the design hierarchy, using multiple clock domains, and adjusting what percentage of data is captured around the trigger point.

f For more information on using the SignalTap II embedded logic analyzer with the Quartus II software, refer to the Quartus II Help.

SignalTap II Design Flow

Working with the SignalTap II embedded logic analyzer and DSP Builder involves the following flow:

1. Add a SignalTap II Analysis block to your Simulink design.

1 You cannot open the SignalTap Analyzer block unless you have generated VHDL by clicking 1 - Convert MDL to VHDL in SignalCompiler.

2. Specify the signals (nodes) that you want to analyze by inserting Node blocks. Figure 1–10 on page 1–20 shows an example design.

Page 28: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–20 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

Figure 1–10. Example SignalTap II Analysis Model

3. Turn on the Insert SignalTap Logic Analyzer option in the SignalTap II tab of SignalCompiler. See Figure 1–11.

Figure 1–11. SignalTap II Tab in SignalCompiler

Page 29: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–21January 2006 Preliminary DSP Builder Reference Manual

SignalTap II Analysis Block

4. Target one of the DSP development board devices in SignalCompiler.

5. Using SignalCompiler, generate VHDL, synthesize it, perform Quartus II compilation, and download the design into the DSP development board (starter or professional).

6. Specify trigger conditions in the SignalTap II Analysis block. See Figure 1–12.

Figure 1–12. Specifying Trigger Conditions

7. Specify the radix for the signal groups and run the analysis. You can view the captured data as a waveform in two MATLAB plots. The first plot displays the signals in binary format. The second plot displays the signals in the radix you specified. See Figures 1–13 and 1–14 on page 1–22.

1 DSP Builder only supports the SignalTap II embedded logic analyzer with the ByteBlasterMV download cable.

Page 30: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–22 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

Figure 1–13. Example SignalTap II Analysis MATLAB Plot

Figure 1–14. MATLAB Plot with User-Specified Radix

Page 31: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–23January 2006 Preliminary DSP Builder Reference Manual

SignalTap II Analysis Block

f For detailed instructions on using the SignalTap II Analysis and SignalTap II blocks, refer to the “Perform SignalTap II Analysis” section in the “Performing SignalTap II Logic Analysis” chapter in the DSP Builder User Guide.

SignalTap II Nodes

By definition, a node represents a wire carrying a signal that travels between different logical components of a design file. The SignalTap II embedded logic analyzer can capture signals from any internal device node in a top-level design file, including I/O pins.

1 When you implement the SignalTap II embedded logic analyzer using DSP Builder, you can only analyze signals in a top-level design file. You cannot probe signals within a subsystem.

The SignalTap II embedded logic analyzer can analyze up to 128 internal nodes or I/O elements. As more signals are captured, more logic elements (LEs) and embedded system blocks (ESBs) are used.

Before capturing signals, each node to be analyzed must be assigned to a SignalTap II embedded logic analyzer input channel. To assign a node to an input channel, you must connect it to a Node block.

SignalTap II Trigger Conditions

The trigger pattern describes a logic event in terms of logic levels and/or edges. It is a comparison register used by the SignalTap II embedded logic analyzer to recognize the moment when the input signals match the data specified in the trigger pattern.

The trigger pattern is composed of a logic condition for each input signal. By default, all signal conditions for the trigger pattern are set to “Don’t Care,” masking them from trigger recognition. You can select one of the following logic conditions for each input signal in the trigger pattern:

■ Don’t Care■ Low■ High■ Rising Edge■ Falling Edge■ Either Edge

The SignalTap II embedded logic analyzer is triggered when it detects the trigger pattern on the input signals.

Page 32: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–24 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

SubSystem Builder Block

The SubSystemBuilder block makes it easy for you to import a VHDL or Verilog HDL design’s input and output signals into a Simulink subsystem. You can then add the rest of the design functionality to the subsystem (using DSP Builder blocks or MATLAB functions) and simulate it in Simulink. You may also treat the design as a black box.

The SubSystemBuilder block automatically maps any input ports named simulink_clock in the VHDL entity section to the global VHDL clock signal, and maps any input ports named simulink_sclr in the VHDL entity section to the global VHDL synchronous clear signal.

The VHDL entity should be formatted according to the following guidelines:

■ The VHDL file should contain a single entity■ Port direction: in or out■ Port type: STD_LOGIC or STD_LOGIC_VECTOR■ Bus size:

● a(7 DOWNTO 0) is supported (0 is the LSB, and must be 0)● a(8 DOWNTO 1) is not supported● a(0 TO 7) is not supported

■ Single port declaration per line:● a:STD_LOGIC; is supported● a,b,c:STD_LOGIC; is not supported

The Verilog HDL module should be formatted according to the following guidelines:

■ The Verilog HDL file should contain a single module■ Port direction: input or output■ Bus size:

● input [7:0] a; is correct (0 is the LSB, and must be 0)● input [8:1] a; is not supported● input [0:7] a; is not supported

■ Single port declaration per line● input [7:0] a; is correct● input [7:0] a,b,c; is not supported

To use the SubSystemBuilder block, drag and drop it into your model, click Select HDL File, specify the file to import, and click the Build button.

Page 33: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–25January 2006 Preliminary DSP Builder Reference Manual

SubSystem Builder Block

Table 1–13 shows the block parameters.

Figure 1–15 shows an example using the SubSystemBuilder block.

Figure 1–15. SubSystemBuilder Block & Example

Table 1–13. SubSystem Builder Block Parameters

Name Value Description

Select HDL File User defined Browse for the VHDL or Verilog HDL file to import.

Build — Click this button to build a subsystem for the selected HDL file.

Create Black Box SubSystem

On or Off Turn on this option if you want to treat the imported VHDL or Verilog HDL design as a black box. You must turn on this option if you are importing a Verilog HDL file. If this option is turned off, the subsystem can contain only DSP Builder blocks.

Page 34: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–26 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

VCDSink Block The VCDSink block is a sink block used to export Simulink signals to a third-party waveform viewer. When you run the simulation of your model, the VCDSink block generates a value change dump (.vcd) file named <VCDSink block name>.vcd which can be read by a third-party waveform viewer. The generated files are named after the VCDSink block that generated them.

To use the VCDSink block in your Simulink model, perform the following steps:

1. Add a VCDSink block to your Simulink model.

2. Connect the simulink signals you want to display in a third-party waveform viewer to the VCDSink block.

3. Run the Simulink simulation.

4. Read the VCD file in the third-party waveform viewer.

If you are using the ModelSim software to view waveforms, run the script <VCDSink block name>_vcd.tcl. This Tcl script converts VCD files into ModelSim waveform format (.wlf), starts the waveform viewer, and displays the signals.

If you are using any other third-party viewer, load the VCD file directly into the viewer.

The VCDSink block does not have any hardware representation and therefore will not appear in the VHDL RTL representation created by the SignalCompiler block.

Table 1–14 shows the parameters for the VCDSink block.

Table 1–14. VCDSink Block Parameters

Name Value Description

Set the number of ports (VCD signals)

An integer greater than 0

Specify the number of input ports on the VCDSink block.

Signal width 1–51 Specify the signal width of each input port of the VCDSink block.

Signal type Signed, Unsigned

Select the signal type for each input port on the VCDSink block which has more than 1 bit.

Page 35: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 1–27January 2006 Preliminary DSP Builder Reference Manual

SubSystem Builder Block

Figure 1–16 shows the VCDSink block used in a model with the Magnitude block. (For more information, see “Magnitude Block” on page 2–18.)

Figure 1–16. Simulink Model Using the VCDSink Block

Figure 1–17 shows ModelSim displaying the waveforms generated by the design in Figure 1–16 on page 1–27.

Figure 1–17. Output From VCDSink Block Displayed in ModelSim Simulator

Page 36: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

1–28 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

AltLab Library

Page 37: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–1January 2006 Preliminary DSP Builder Reference Manual

2. Arithmetic Library

The Arithmetic library contains two’s complement signed arithmetic blocks such as multipliers and adders. Some blocks have the Use Dedicated Circuitry option, which implements functionality into dedicated hardware in Altera® Stratix® II, Stratix, Stratix GX, and Cyclone™ II devices (that is, in the dedicated DSP blocks of these devices).

f For more information on these device families, refer to the:

■ Stratix II Device Handbook■ Stratix Device Handbook■ Stratix GX Device Handbook■ Cyclone II Device Handbook

The Arithmetic library contains the following blocks:

Block Page

Barrel Shifter Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2Bit Level Sum of Products Block . . . . . . . . . . . . . . . . . . . . . . . . 2–3Comparator Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5Counter Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7Differentiator Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8Divider Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9Gain Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–11Increment Decrement Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–13Integrator Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–16Magnitude Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18Multiplier Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19Multiply Accumulate Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–20Multiply Add Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–23Parallel Adder Subtractor Block . . . . . . . . . . . . . . . . . . . . . . . 2–25Pipelined Adder Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–27Product Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–29SOP TAP Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–32Square Root Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–33Sum of Products Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–35

Page 38: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Barrel Shifter Block

The Barrel Shifter block shifts the input data by the amount set by the input bus. The Barrel Shifter can shift data to the left (toward the most significant bit (MSB)) or to the right (toward the least significant bit (LSB)).

The Barrel Shifter can shift data to the left only, or to the right only, or in both directions. For both directions, an additional input pin, direction, dynamically sets the direction of the shift. The shifting operation is an arithmetic shift and not a logical shift; that is, the shifting operation preserves the input data sign for a right shift although the input sign is lost for a left shift.

The Barrel Shifter block has the inputs and outputs shown in Table 2–1.

Table 2–2 shows the Barrel Shifter block parameters.

Table 2–1. Barrel Shifter Block Inputs & Outputs

Signal Direction Description

a Input Data input.

distance Input Distance to shift.

direction Input Direction to shift (0 = shift left, 1 = shift right).

r Output Result after shift.

Table 2–2. Barrel Shifter Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format that you want to use for the counter.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.)This field is zero (0) unless Signed Fractional is selected.

Shift Direction Shift Left, Shift Right, or Use direction input pin

Choose which direction you would like to shift the bits or specify the direction using the direction input pin.

Pipeline On or Off Turn on this option to pipeline the barrel shifter.

Use Dedicated Circuitry

On or Off If you are targeting Stratix II, Stratix, or Stratix GX devices, turn on this option to implement the functionality in Stratix DSP blocks. If you are not targeting Stratix II, Stratix, or Stratix GX devices, the functionality is implemented in logic elements.

Page 39: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–3January 2006 Preliminary DSP Builder Reference Manual

Bit Level Sum of Products Block

Table 2–3 shows the Barrel Shifter block I/O formats.

Bit Level Sum of Products Block

The Bit Level Sum of Products block performs a sum of the multiplication of one-bit inputs by signed integer fixed coefficients.

The Bit Level Sum of Products block has the inputs and outputs shown in Table 2–4.

The block uses the equation:

q = a(0)C0 + ... + a(i)Ci + ... + a(n)Cn

where:

■ q is the output result■ a(i) is the one-bit input data■ Ci are the signed integer fixed coefficients■ n is the number of coefficients in the range one to eight

Table 2–3. Barrel Shifter Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[ L 1 ] . [ R 1 ]

I2[ L 2 ] . [ R 2 ]

I3[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L2 + R2 - 1} DOWNTO 0)I3: in STD_LOGIC

ExplicitExplicit

O O1[ L 1 ] . [ R 1 ] O1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0 Explicit

Notes to Table 2–3:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 2–4. Bit Level Sum of Products Block Inputs & Outputs

Signal Direction Description

a(0)–a(n) Input n ports labeled with signed integer fixed coefficient values which are specified in the block parameters.

q Output Result.

Page 40: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–5 shows the Bit Level Sum of Products block parameters.

Figure 2–1 shows an example using the Bit Level Sum of Products block. This example is a 32-tap fixed-coefficient filter and it uses a mixed 4- to 8-input lookup table for partial product pre-computation.

Figure 2–1. Bit Level Sum of Products Block Example

Table 2–5. Bit Level Sum of Products Block Parameters

Name Value Description

Number of Coefficients 1–8 Choose the number of coefficients.

Coefficient Bit Width 2–51 Specify the bit width as a signed integer. (You can optionally enter the number as a MATLAB variable.)

Coefficient Value User Defined Specify the coefficient values as signed integers.For example: [-21 2 13 5]

Register Inputs On or Off When turned on, a register is added on the input signal.

Page 41: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–5January 2006 Preliminary DSP Builder Reference Manual

Comparator Block

Table 2–6 shows the Bit Level Sum of Products block I/O formats.

Comparator Block

The Comparator block compares two Simulink signals and returns a single bit. The block implicitly understands the input data type (for example, signed binary or unsigned integer) and produces a single-bit output.

The Comparator block has the inputs and outputs shown in Table 2–7.

Table 2–8 shows the Comparator block parameters.

Table 2–6. Bit Level Sum of Products Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[ 1 ] . [ 0 ]

...Ii[ 1 ] . [ 0 ]

...In[ 1 ] . [ 0 ]

I1: in STD_LOGIC...Ii: in STD_LOGIC...In: in STD_LOGIC

Explicit

O O1[ L 0 ] . [ 0 ] O1: out STD_LOGIC_VECTOR({L0 - 1} DOWNTO 0 Explicit

Notes to Table 2–6:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 2–7. Comparator Block Inputs & Outputs

Signal Direction Description

a Input Operand a

b Input Operand b

<unnamed> Output Result

Table 2–8. Comparator Block Parameters

Name Value Description

Operator a == b, a ~= b, a < b, a <= b, a >= b, a > b

Choose which operation you wish to perform on the two buses.

Page 42: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–9 shows the Comparator block I/O formats.

Figure 2–2 shows an example using the Comparator block.

Figure 2–2. Comparator Block Example

Table 2–9. Comparator Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[L2].[R2]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I1: in STD_LOGIC_VECTOR({L2 + R2 - 1} DOWNTO 0)

ImplicitImplicit

O O1[1] O1: out STD_LOGIC Implicit

Notes to Table 2–9:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 43: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–7January 2006 Preliminary DSP Builder Reference Manual

Counter Block

Counter Block The Counter block is an up/down counter. The Counter block has the inputs and outputs shown in Table 2–10.

Table 2–11 shows the Counter block parameters.

Table 2–12 shows the Counter block I/O formats.

Table 2–10. Counter Block Inputs & Outputs

Signal Direction Description

data Input Optional parallel data input.

sload Input Optional synchronous load signal.

updown Input Optional direction (1 = up; 0 = down).

ena Input Optional clock enable.

rst Input Optional reset.

q Output Result.

Table 2–11. Counter Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format that you want to use for the counter.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.)This field is zero (0) unless Signed Fractional is selected.

Count Modulo User defined Specify the maximum count plus 1. Number of unique states in the counter’s cycle.

Use control inputs On or Off Turn on to use additional data, synchronous load, direction, clock enable and reset control inputs.

Sample time Any Specify the required sample time in seconds (-1 for inherited).

Table 2–12. Divider Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L].[R]]

I2[1]

I3[1]

I4[1]

I5[1]

I1: in STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)I2: in STD_LOGICI3: in STD_LOGICI4: in STD_LOGICI5: in STD_LOGIC

Explicit

Page 44: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Differentiator Block

The Differentiator block is a signed integer differentiator with the equation q = d - q. The block can be used for DSP functions such as CIC filters.

The Differentiator block has the inputs and outputs shown in Table 2–13.

Table 2–14 shows the Differentiator block parameters.

O O1[L].[R] O1: out STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0) Explicit

Notes to Table 2–12:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 2–12. Divider Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Table 2–13. Differentiator Block Inputs & Outputs

Signal Direction Description

d Input Data input.

ena Input Optional clock enable.

rst Input Optional reset.

q Output Result.

Table 2–14. Differentiator Block Parameters

Name Value Description

Number of Bits 1–51 Specify the number of bits. (You can optionally enter the number as a MATLAB variable.)

Use Control Input On or Off Turn on to use additional clock enable and reset control inputs.

Depth A positive number Specify the depth of the differentiator register.

Page 45: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–9January 2006 Preliminary DSP Builder Reference Manual

Divider Block

Table 2–15 shows the Differentiator block I/O formats.

Divider Block The Divider block takes a numerator and a denominator and computes a quotient and a remainder. The bit-width format of the numerator, denominator, quotient, and remainder are identical.

The Divider block has the inputs and outputs shown in Table 2–16.

Table 2–17 shows the Divider block parameters.

Table 2–15. Differentiator Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[0]

I2[1]

I3[1]

I1: in STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0)I2: in STD_LOGICI3: in STD_LOGIC

Explicit

O O1[L1].[0] O1: out STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0) Explicit

Notes to Table 2–15:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 2–16. Divider Block Inputs & Outputs

Signal Direction Description

A Input Numerator

B Input Denominator

Q Output Quotient

R Output Remainder

Table 2–17. Divider Block Parameters (Part 1 of 2)

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format that you want to use for the divider.

Page 46: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–10 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–18 shows the Divider block I/O formats.

Figure 2–3 shows an example using the Divider block.

Figure 2–3. Divider Block Example

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This option is only available when Signed Fractional is selected.

Pipeline Level 0–25 When non-nil, adds pipeline levels to increase the data throughput.

Table 2–17. Divider Block Parameters (Part 2 of 2)

Name Value Description

Table 2–18. Divider Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L].[R]

I2[L].[R]

I1: in STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)

ExplicitExplicit

O O1[L].[R]

O2[L].[R]

O1: out STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)O2: out STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)

ExplicitExplicit

Notes to Table 2–18:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 47: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–11January 2006 Preliminary DSP Builder Reference Manual

Gain Block

Gain Block The Gain block generates its output by multiplying the signal input by a specified gain factor. You must enter the gain as a numeric value in the Gain block parameter field. The signal input and gain must be scalars.

1 The Simulink software also provides a Gain block. If you use the Simulink Gain block in your model, you can only use it for simulation; SignalCompiler cannot convert it to HDL.

The Gain block has the inputs and outputs shown in Table 2–19.

Table 2–20 shows the Gain block parameters.

Table 2–19. Gain Block Inputs & Outputs

Signal Direction Description

d Input Data input.

ena Input Optional clock enable.

rst Input Optional reset.

<unnamed> Output Result.

Table 2–20. Gain Block Parameters (Part 1 of 2)

Name Value Description

Gain Value User Defined Specify the gain value you want to use as a decimal number (or an expression that evaluates to a decimal number). The gain is masked to the number format (bus type) you select.

Map Gain Value to Bus Type

Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format you want to use for the gain value.

[Gain value number of bits].[]

1–51 Specify the number of bits to the left of the binary point, including the sign bit for the gain. (You can optionally enter the number as a MATLAB variable.)

[].[Gain value number of bits]

0–51 Specify the number of bits to the right of the binary point for the gain. (You can optionally enter the number as a MATLAB variable.) This option is only available when Signed Fractional is selected.

Number of Pipeline Levels

0–8 Choose the number of pipeline delay levels.

Use LPM On or Off This parameter is used for synthesis. When turned on, the Gain block is mapped to the LPM_MULT library of parameterized modules (LPM) function and the VHDL synthesis tool uses the Altera LPM_MULT implementation.

Page 48: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–12 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–21 shows the Gain block I/O formats.

Use Control Inputs On or Off Turn of if you would like to use additional clock enable and reset control inputs. This option is only available when the Number of Pipeline Levels setting is greater than 1.

Clock Phase Selection

User Defined Phase selection. This option is only available if the Number of Pipeline Levels setting is greater than 1. Specify the phase selection with a binary string, where a 1 indicates the phase in which the block is enabled. For example:

1—The block is always enabled and captures all data passing through the block (sampled at the rate 1).10—The block is enabled every other phase and every other data (sampled at the rate 1) passes through.0100—The block is enabled on the second phase out of 4 and only the second data out of 4 (sampled at the rate 1) passes through. In other words, the data on phases 1, 3, and 4 do not pass through the block.

Table 2–20. Gain Block Parameters (Part 2 of 2)

Name Value Description

Table 2–21. Gain Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[1]

I3[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGICI3: in STD_LOGIC

Implicit

O O1[L1 + LK].2*max(R1,RK)]

where K is the gain constant with the format K[ L K ] . [ R K ]

O1: out STD_LOGIC_VECTOR({L1 + LK + 2*max(R1,RK) - 1} DOWNTO 0)

Implicit

Notes to Table 2–21:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 49: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–13January 2006 Preliminary DSP Builder Reference Manual

Increment Decrement Block

Figure 2–4 shows an example using the Gain block.

Figure 2–4. Gain Block Example

Increment Decrement Block

The Increment Decrement block generates a counting sequence in time.

The output can be a signed integer, unsigned integer, or signed binary fractional number. For all number formats, the counting sequence increments or decrements the least significant bit by one. The block has a clock phase selection control that operates as described in Table 2–23.

The Increment Decrement block has the inputs and outputs shown in Table 2–22.

Table 2–22. Increment Decrement Block Inputs & Outputs

Signal Direction Description

ena Input Optional clock enable.

rst Input Optional reset.

<unnamed> Output Result.

Page 50: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–14 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–23 shows the Increment Decrement block parameters.

Table 2–23. Increment Decrement Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format you wish to use for the bus.

<number of bits>.[] 1–51 Select the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

[].<number of bits> 0–51 Select the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This option is only available when Signed Fractional is selected.

Direction Increment or Decrement

Choose whether you wish to count up or down.

Starting Value User Defined Enter the value with which to begin counting.

Use Control Inputs On or Off Turn on if you would like to use additional clock enable and reset control inputs.

Clock Phase Selection

User Defined Phase selection. Specify the phase selection with a binary string, where a 1 indicates the phase in which the block is enabled. For example:

1—The block is always enabled and captures all data passing through the block (sampled at the rate 1).10—The block is enabled every other phase and every other data (sampled at the rate 1) passes through.0100—The block is enabled on the second phase out of 4 and only the second data out of 4 (sampled at the rate 1) passes through. In other words, the data on phases 1, 3, and 4 do not pass through the block.

Sample time Any Specify the required sample time in seconds (-1 for inherited).

Page 51: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–15January 2006 Preliminary DSP Builder Reference Manual

Increment Decrement Block

Table 2–24 shows the Increment Decrement block I/O formats.

Figure 2–5 shows an example using the Increment Decrement block.

Figure 2–5. Increment Decrement Block Example

Table 2–24. Increment Decrement Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[1]

I2[1]

I1: in STD_LOGICI2: in STD_LOGIC

Explicit - OptionalExplicit - Optional

O O1[LP].[RP] O1: out STD_LOGIC_VECTOR({LP + RP - 1} DOWNTO 0) Explicit

Notes to Table 2–24:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 52: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–16 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Integrator Block The Integrator block is a signed integer integrator with the equation q = q + d. The block can be used for DSP functions such as CIC filters.

The Integrator block has the inputs and outputs shown in Table 2–25.

Table 2–26 shows the Integrator block parameters.

Table 2–27 shows the Integrator block I/O formats.

Table 2–25. Integrator Block Inputs & Outputs

Signal Direction Description

d Input Data input

ena Input Optional clock enable.

rst Input Optional reset.

q Output Result.

Table 2–26. Integrator Block Parameters

Name Value Description

Number of Bits 1–51 Specify the number of bits.

Use Control Inputs On or Off Turn on if you would like to use additional clock enable and reset control inputs.

Depth A positive number Specify the depth of the integrator register.

Table 2–27. Integrator Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[0]

I2[1]

I3[1]

I1: in STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0)I2: STD_LOGICI3: STD_LOGIC

Explicit

O O1[L1].[0] O1: out STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0) Explicit

Notes to Table 2–27:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 53: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–17January 2006 Preliminary DSP Builder Reference Manual

Integrator Block

Figure 2–6 shows an example of the Integrator Block in a CIC Interpolation design.

Figure 2–6. Integrator Block Example Design

Page 54: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–18 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Magnitude Block The scalar Magnitude block generates the output as the absolute value of the signed binary fractional input bus.

The Magnitude block has no parameters.

Table 2–28 shows the Magnitude block I/O formats.

Figure 2–7 shows an example using the Magnitude block.

Figure 2–7. Magnitude Block Example

Table 2–28. Magnitude Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit

O O1[L1 + 1].[R1] O1: out STD_LOGIC_VECTOR({L1 + R1} DOWNTO 0) Implicit

Notes to Table 2–28:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 55: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–19January 2006 Preliminary DSP Builder Reference Manual

Magnitude Block

Multiplier Block The Multiplier block supports two scalar inputs (no multi-dimensional Simulink signals).

The Multiplier block has the inputs and outputs shown in Table 2–29.

Table 2–30 lists the parameters for the Multiplier block.

Table 2–29. Multiplier Block Inputs & Outputs

Signal Direction Description

A Input Operand A

B Input Operand B

R Output Result.

Table 2–30. Multiplier Block Parameters (Part 1 of 2)

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format to use for the Multiplier block.

Input [number of bits].[] 1–51 Specify the number of bits to the left of the binary point of both input signals. (You can optionally enter the number as a MATLAB variable.)

Input [].[number of bits] 0–51 Specify the number of bits to the right of the binary point of both input signals. (You can optionally enter the number as a MATLAB variable.) This parameter is set to zero (0) unless Signed Fractional is selected as Bus Type.

Both inputs have same bit width

On or off Turn on if you would like input port A and input port B to have the same bit width. When turned off, additional fields are available to specify the number of bits to the left and right of the binary point for Input B.

Full Resolution for Output Result

On or Off When this parameter is turned on, the multiplier output bit width is full resolution. When turned off you can specify the number of bits to the left and right of the binary point for the output.

Output [number of bits].[] 0–51 Specify the number of bits to the left of the binary point. (You can optionally enter the number as a MATLAB variable.)

Output [].[number of bits] 0–51 Specify the number of bits to the left of the binary point of the output signal. (You can optionally enter the number as a MATLAB variable.)

Page 56: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–20 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–31 describes the I/O ports available on the Multiplier block.

Multiply Accumulate Block

The Multiply Accumulate block consists of a single multiplier feeding an accumulator. The input can be in signed integer, unsigned integer, or signed binary fractional formats.

The Multiply Accumulate block has the inputs and outputs shown in Table 2–32.

Pipeline Level 0–8 Choose the number of levels of pipeline.

Dedicated Multiplier Circuitry

AUTO, YES, NO Choose whether to use dedicated multiplier circuitry. For HardCopy®, Stratix® II, and Stratix® GX devices, a value of AUTO specifies that the Quartus® II software chooses whether to use the dedicated multiplier circuitry based on the width of the multiplier. For Mercury™ devices, a value of AUTO defaults to no dedicated multiplier circuitry.

Table 2–30. Multiplier Block Parameters (Part 2 of 2)

Name Value Description

Table 2–31. Multiplier Block Input/Output Ports Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L].[R]I2[L].[R]

I1: in STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)

Explicit

O O1[Lo].[Ro] O1: out STD_LOGIC_VECTOR({Lo + Ro - 1} DOWNTO 0) Explicit

Notes to Table 2–31:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 2–32. Multiply Accumulate Block Inputs & Outputs (Part 1 of 2)

Signal Direction Description

a Input Operand a.

b Input Operand b.

sload Input Synchronous load signal.

Page 57: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–21January 2006 Preliminary DSP Builder Reference Manual

Multiply Accumulate Block

Table 2–33 shows the Multiply Accumulate block parameters.

AdnSu Input Optional accumulator direction (1= add, 0 = subtract).

ena Input Optional clock enable.

sclr Input Optional reset.

y Output Result.

Table 2–32. Multiply Accumulate Block Inputs & Outputs (Part 2 of 2)

Signal Direction Description

Table 2–33. Multiply Accumulate Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format you wish to use for the bus.

Input A [number of bits].[] 1–51 Specify the number of data input bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Input A [].[number of bits] 0–51 Specify the number of data input bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This option is only available when Signed Fractional is selected.

Input B [number of bits].[] 1–51 Specify the number of data input bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Input B [].[number of bits] 0–51 Specify the number of data input bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This option is only available when Signed Fractional is selected.

Output Result Bits 1–51 Specify the number of output bits. (You can optionally enter the number as a MATLAB variable.)

Pipeline Register None, Data Inputs, Multiplier Output, Data Inputs and Multiplier

Choose whether you want to add pipelining to the data inputs, multiplier output, both, or neither.

Accumulator Direction Add, Subtract Choose whether to add or subtract the result of the multiplier.

Use Control Inputs On or Off Turn on if you would like to use additional accumulator direction, clock enable and reset control inputs.

Use Dedicated Circuitry On or Off If you are targeting Stratix II, Stratix, or Stratix GX devices, turn on this option to implement the functionality in Stratix DSP blocks. If you are not targeting Stratix II, Stratix, or Stratix GX devices, the functionality is implemented in logic elements.

Page 58: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–22 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–34 shows the Multiply Accumulate block I/O formats.

The sload input pin controls the accumulator feedback path. If the accumulator is adding and the sload port is high, the multiplier output is loaded into the accumulator. If the accumulator is subtracting, the opposite (negative value) of the multiplier output is loaded into the accumulator.

Figure 2–8 shows an example using the Multiply Accumulate block.

Figure 2–8. Multiply Accumulate Block Example

Table 2–34. Multiply Accumulate Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[L2].[R2]

I3[1]

I4[1]

I5[1]

I6[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L2 + R2 - 1} DOWNTO 0)I3: in STD_LOGICI4: in STD_LOGICI5: in STD_LOGICI6: in STD_LOGIC

ExplicitExplicit

O O1[LO].[RO] O1: out STD_LOGIC_VECTOR({L0 + R0 - 1} DOWNTO 0) Explicit

Notes to Table 2–34:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 59: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–23January 2006 Preliminary DSP Builder Reference Manual

Multiply Add Block

Multiply Add Block

The Multiply Add block consists of two, three, or four multiplier pairs feeding a parallel adder. The input can be in signed integer, unsigned integer, or signed binary fractional formats.

The Multiply Add block has the inputs and outputs shown in Table 2–35.

The operand b inputs can optionally be hidden off and have constant values assigned in the Block Parameters dialog box.

Table 2–36 shows the Multiply Add block parameters.

Table 2–35. Multiply Add Block Inputs & Outputs

Signal Direction Description

a0—a3 Input Operand a.

b0—b3 Input Operand b.

ena Input Optional clock enable.

rst Input Optional reset.

y Output Result.

Table 2–36. Multiply Add Block Parameters (Part 1 of 2)

Name Value Description

Number of Multipliers 2, 3, 4 Choose how many multipliers you want to feed the adder.

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format you wish to use for the bus.

Inputs [number of bits].[] 1–51 Specify the number of data input bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Inputs [].[number of bits] 0–51 Specify the number of data input bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This option is only available when Signed Fractional is selected.

Adder Mode Add Add, Add Sub, Sub Add, Sub Sub

Choose the operation mode of the adder.

Pipeline Register No Register, Inputs Only, Multiplier Only, Adder Only, Inputs and Multiplier, Inputs and Adder, Multiplier and Adder,Inputs Multiplier and Adder

Choose the elements which you want pipelined.

Page 60: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–24 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–37 shows the Multiply Add block I/O formats.

Use Control Inputs On or Off Turn on if you would like to use additional clock enable and reset inputs.

Use Dedicated Circuitry On or Off If you are targeting Stratix II, Stratix, or Stratix GX devices, turn on this option to implement the functionality in Stratix DSP blocks. If you are not targeting Stratix II, Stratix, or Stratix GX devices, the functionality is implemented in logic elements.

One Input is Constant On or Off Turn on this option if you want to assign the operand b inputs to constant values. This option is used together with the Constant Values parameter.

Constant Values User Defined Type the constant values in this box as a MATLAB array. This option is only available if you have turned on the One Input is Constant option.

Table 2–36. Multiply Add Block Parameters (Part 2 of 2)

Name Value Description

Table 2–37. Multiply Add Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]….

Ii[L1].[R1]…

In[L1].[R1]

I(n+1)[1]

I(n+2)[1]

where 3 < n < 9

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)…Ii: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)….In: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I(n+1): in STD_LOGICI(n+2): in STD_LOGICwhere 3 < n < 9

Explicit

O O12 x [L1]+ ceil(log2(n)).2 x [R1] O1: out STD_LOGIC_VECTOR({(2 x L1) + ceil(log2(n)) + (2 x R1) - 1} DOWNTO 0)

Implicit

Notes to Table 2–37:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 61: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–25January 2006 Preliminary DSP Builder Reference Manual

Parallel Adder Subtractor Block

Figure 2–9 shows an example using the Multiply Add block.

Figure 2–9. Multiply Add Block Example

Parallel Adder Subtractor Block

The Parallel Adder Subtractor block takes any input data type. If the input widths are not the same, SignalCompiler sign extends the buses so that they match the largest input width. The VHDL generated has an optimized, balanced adder tree.

The Parallel Adder Subtractor block has the inputs and outputs shown in Table 2–38.

Table 2–38. Parallel Adder Subtractor Block Inputs & Outputs

Signal Direction Description

<unnamed> Input 2–16 operands labeled + or -.

ena Input Optional clock enable.

rst Input Optional reset.

<unnamed> Output Result.

Page 62: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–26 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–39 shows the Parallel Adder Subtractor block parameters.

Table 2–40 shows the Parallel Adder Subtractor block I/O formats.

Table 2–39. Parallel Adder Subtractor Block Parameters

Name Value Description

Number of Inputs 2–16 Choose the number of inputs you wish to use.

Add (+) Sub (-) User Defined Specify addition or subtraction operation of each port with the characters (+) / (-). In other words, for 3 ports +-+ yields a - b + c. SignalCompiler will not accept two consecutive subtractions (for example, --); however, -+- is acceptable.

Pipeline On or Off When this option is turned on, the pipeline delay is equal to ceil(log2(number of inputs)), such that the pipeline register locations are balanced in the adder tree to ensure optimal timing.

Use Control Input On or Off Turn on if you would like to use additional clock enable and reset inputs (ena, rst).

Clock Phase Selection User Defined Phase selection. Indicate the phase selection with a binary string, where a 1 indicates the phase in which the block is enabled. For example:

1—The block is always enabled and captures all data passing through the block (sampled at the rate 1).10—The block is enabled every other phase and every other data (sampled at the rate 1) passes through.0100—The block is enabled on the second phase out of 4 and only the second data out of 4 (sampled at the rate 1) passes through. In other words, the data on phases 1, 3, and 4 do not pass through the block.

Table 2–40. Parallel Adder Subtractor Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]….

Ii[Li].[LiI]…

In[Ln].[Rn]

I(n+1)[1]

I(n+2)[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)…Ii: in STD_LOGIC_VECTOR({Li + Ri - 1} DOWNTO 0)….In: in STD_LOGIC_VECTOR({Ln + Rn - 1} DOWNTO 0)I(n+1): in STD_LOGICI(n+2): in STD_LOGIC

Implicit

Page 63: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–27January 2006 Preliminary DSP Builder Reference Manual

Pipelined Adder Block

Figure 2–10 shows an example using the Parallel Adder Subtractor block.

Figure 2–10. Parallel Adder Subtractor Block Example

Pipelined Adder Block

The Pipelined Adder block is a pipelined adder/subtractor which performs the following calculation:

r = a + b + cin (when ad_su = 1)

r = a - b + cin -1 (when ad_su = 0)

O O1[max(Li) + ceil(log2(n))].[max(Ri)] O1: out STD_LOGIC_VECTOR({max(Li) + ceil(log2(n)) + max(Ri) - 1} DOWNTO 0)

Implicit

Notes to Table 2–40:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 2–40. Parallel Adder Subtractor Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Page 64: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–28 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

The Pipelined Adder block has the inputs and outputs shown in Table 2–41.

Table 2–42 shows the Pipelined Adder block parameters.

Table 2–41. Pipelined Adder Block Inputs & Outputs

Signal Direction Description

A Input Operand a.

B Input Operand b.

cin Input Optional carry in.

ad_su Input Optional control (1= add, 0 = subtract).

ena Input Optional clock enable.

rst Input Optional reset.

R Output Result r.

ovl Output Optional overflow (carry out).

Table 2–42. Pipelined Adder Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format that you want to use for the counter.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point for the gain. (You can optionally enter the number as a MATLAB variable.)This option is only available when Signed Fractional is selected.

Pipeline 0–4 Choose the number of pipeline levels.

Direction ADD, SUB Choose whether the block is used as an adder or subtractor.

Use Control Signal On or Off When turned on, the reset, clock enable, carry in, add/sub (addition when logic value 1, subtraction when logic value 0), and overflow (carry out) ports are added to the block.

Page 65: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–29January 2006 Preliminary DSP Builder Reference Manual

Product Block

Table 2–43 shows the Pipelined Adder block I/O formats.

Product Block The Product block supports two scalar inputs (no multi-dimensional Simulink signals). There are two differences between the product block and the multiplier block:

■ The product block uses a clock phase selection while the multiplier block does not.

■ The product block uses implicit input port data widths that are inherited from the signals’ sources, whereas the multiplier block uses explicit input port data widths that need to be specified as parameters.

1 The Simulink software also provides a Product block. If you use the Simulink Product block in your model, you can only use it for simulation; SignalCompiler cannot convert it to HDL. If you try to use the Simulink Product block with SignalCompiler, SignalCompiler should generate an error.

Table 2–43. Pipelined Adder Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[ L ] . [ R ]

I2[ L ] . [ R ]

I3[1]

I4[1]

I5[1]

I6[1]

I1: in STD_LOGIC_VECTOR({L + R} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L + R} DOWNTO 0)I3: in STD_LOGICI4: in STD_LOGICI5: in STD_LOGICI6: in STD_LOGIC

ExplicitExplicitOptionalOptionalOptionalOptional

O O1[ L ] . [ R ]

O2[1]

O1: out STD_LOGIC_VECTOR({L + R} DOWNTO 0)O2: out STD_LOGIC

ExplicitOptional

Notes to Table 2–43:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 66: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–30 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

The Product block has the inputs and outputs shown in Table 2–44.

Table 2–45 shows the Product block parameters.

Table 2–44. Product Block Inputs & Outputs

Signal Direction Description

a Input Operand a.

b Input Operand b.

en Input Optional clock enable.

clr Input Optional reset.

<unnamed> Output Result r.

Table 2–45. Product Block Parameters

Name Value Description

Pipeline 0–8 The Pipeline value represents the delay.

Use LPM On or Off This parameter is used for synthesis. When turned on, the Product block is mapped to the LPM_MULT library of parameterized modules (LPM) function and the VHDL synthesis tool uses the Altera LPM_MULT implementation. If the option is turned off, the VHDL synthesis tool uses the native * operator to synthesize the product. If your design does not need arithmetic boundary optimization—such as connecting a multiplier to constant combinatorial logic or register balancing optimization—the LPM_MULT implementation generally yields a better result for both speed and area.

Use Dedicated Multiplier Circuitry

On or Off Turn on the Dedicated Multiplier Circuitry option if you want to use the dedicated multiplier circuitry in Mercury, Stratix II, Stratix, or Stratix GX devices. This option is ignored if you do not target one of these devices.

Use Control Inputs

On or Off Turn on if you would like to use additional clock enable and reset inputs. This option is available when the Pipeline value is set to 1 or more.

Clock Phase Selection

User Defined Phase selection. This option is only available when the Pipeline value is greater than 0. Specifies the phase selection with a binary string, where a 1 indicates the phase in which the block is enabled. For example:

1—The block is always enabled and captures all data passing through the block (sampled at the rate 1).10—The block is enabled every other phase and every other data (sampled at the rate 1) passes through.0100—The block is enabled on the second phase out of 4 and only the second data out of 4 (sampled at the rate 1) passes through. In other words, the data on phases 1, 3, and 4 do not pass through the block.

Page 67: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–31January 2006 Preliminary DSP Builder Reference Manual

Product Block

Table 2–46 shows the Product block I/O formats.

Figure 2–11 shows an example using the Product block.

Figure 2–11. Product Block Example

Table 2–46. Product Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[L2].[R2]

I3[1]

I4[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L2 + R2 - 1} DOWNTO 0)I3: in STD_LOGICI4: in STD_LOGIC

Implicit

O O1[L1 + L2].[2 x max(R1,R2)] O1: out STD_LOGIC_VECTOR({L1 + L2 + 2 x max(R1,R2) - 1} DOWNTO 0)

Implicit

Notes to Table 2–46:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 68: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–32 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

SOP TAP Block The SOP (Sum of Products) TAP block performs a sum of products for two or four taps. The block has the equations:

q = c0 × din(n) + c1 × din (n - 1)

when the number of taps is 2.

q = c0 × din(n) + c1 × din(n - 1) + c2 × din(n - 2) + c3 × din(n - 3)

when the number of taps is 4.

You can use this block to build two or four tap FIR filters. You can cascade SOP TAP blocks to create filters with more taps. The dout port is assigned the value of din(n-t) where t is the number of taps.

The SOP TAP block has the inputs and outputs shown in Table 2–47.

Table 2–48 shows the SOP TAP block parameters.

Table 2–47. SOP TAP Block Inputs & Outputs

Signal Direction Description

din Input Data input.

c0, c1, c2, c3 Input 2 or 4 tap coefficients.

ena Input Optional clock enable.

rst Input Optional reset.

q Output Result.

dout Output Shifted input data.

Table 2–48. SOP TAP Block Parameters

Name Value Description

Input Number of Bits 1–51 Specify the number of bits. (You can optionally enter the number as a MATLAB variable.)

Bus Type Signed Integer, Unsigned Integer

Choose the bus number format that you want to use for the counter.

Number of Taps 2 or 4 Choose the number of taps.

Page 69: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–33January 2006 Preliminary DSP Builder Reference Manual

Square Root Block

Table 2–49 shows the SOP TAP block I/O formats.

Square Root Block

The Square Root block returns the square root of unsigned input data.

Table 2–50 lists the parameters for the Square Root block.

Table 2–49. SOP TAP Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[ L ] . [ R ]

I2[ L ] . [ R ]

...Ii[ L ] . [ R ]

...In[ L ] . [ R ]

I(n+1)I(n+2)

I1: in STD_LOGIC_VECTOR({L + R -1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L + R -1} DOWNTO 0)...Ii: in STD_LOGIC_VECTOR({L + R -1} DOWNTO 0)...In: in STD_LOGIC_VECTOR({L + R -1} DOWNTO 0)I(n+1): STD_LOGICI(n+2): STD_LOGIC

Explicit

O O1[ 2 L + c e l l ( l o g 2 ( N + 1 ) ) ] . [ 2 R ]

O2

O1: out STD_LOGIC_VECTOR({2L + cell(log2(N + 1)) + 2R - 1} DOWNTO 0)O2: in STD_LOGIC_VECTOR({L + R -1} DOWNTO 0)

Explicit

Notes to Table 2–49:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 2–50. Square Root Block Parameters

Name Value Description

Input [number of bits].[] 1–51 Specify the number of bits of the unsigned input signal. (You can optionally enter the number as a MATLAB variable.)

Pipeline Level 0–12 Choose the number of levels of pipeline.

Page 70: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–34 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–51 shows the Square Root block I/O formats.

Figure 2–12 shows an example of the Square Root block in a CIC Interpolation design.

Figure 2–12. Square Root Block Example Design

Table 2–51. Square Root Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[ L ] . [ R ] I1: in STD_LOGIC_VECTOR({L + R} DOWNTO 0) Explicit

O O1[ L ] . [ R ] O1: out STD_LOGIC_VECTOR({L + R} DOWNTO 0) Explicit

Notes to Table 2–51:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 71: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 2–35January 2006 Preliminary DSP Builder Reference Manual

Sum of Products Block

Sum of Products Block

The Sum of Products block implements the following mathematical expression:

q = a(0)C0 + ... + a(i)Ci + ... + a(n)Cn

where:

■ q is the output result■ a(i) is the one-bit input data■ Ci are the signed integer fixed coefficients■ n is the number of coefficients in the range one to eight

The Sum of Products block has the inputs and outputs shown in Table 2–52.

Table 2–53 lists the parameters for the Sum of Products block.

Table 2–52. Sum of Products Block Inputs & Outputs

Signal Direction Description

a(0)—a(n) Input n ports labeled with the signed integer fixed coefficients specified in the block parameters.

q Output Result.

Table 2–53. Sum of Products Block Parameters (Part 1 of 2)

Name Value Description

Input Data Number of Bits 1–51 Specify the number of bits to the left of the binary point of all input signals. (You can optionally enter the number as a MATLAB variable.)

Number of Coefficients 1–8 Choose the number of coefficients.

Coefficients Number of Bits 1–51 Specify the number of bits to the left of the binary point of all non-variable coefficients represented as a signed integer. (You can optionally enter the number as a MATLAB variable.)

Signed Integer Fixed-Coefficient Values

Vector Specify the coefficient values as signed integers. For example: [-587 -844 -678 -100 367 362 71 -244]

Pipeline 0–8 Specify the number of levels of pipeline.

Full Resolution for Output Result On or Off When this parameter is turned on, the multiplier output bit width is full resolution. When turned off you can specify the number of bits in the output signal and the number of least significant bits truncated from the output signal.

Page 72: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

2–36 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Arithmetic Library

Table 2–54 shows the Sum of Product block I/O formats.

Output Number of Bits 1–51 Specify the number of bits in the output signal. (You can optionally enter the number as a MATLAB variable.)

Output Truncated LSB 0–51 Specify the number of least significant bits to be truncated from the output signal.

FPGA Implementation Distributed Arithmetic, Dedicated Multiplier Circuitry, Auto

Choose whether to use a distributed arithmetic, dedicated multiplier or automatically determined implementation.

Table 2–53. Sum of Products Block Parameters (Part 2 of 2)

Name Value Description

Table 2–54. Sum of Products Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[ L ] . [ 0 ]

...Ii[ L ] . [ 0 ]

...In[ L ] . [ 0 ]

I1: in STD_LOGIC_VECTOR({L - 1} DOWNTO 0)...Ii: in STD_LOGIC_VECTOR({L - 1} DOWNTO 0)...In: in STD_LOGIC_VECTOR({L - 1} DOWNTO 0)

Explicit

O O1[ 2 L + c e l l ( l o g 2 ( n + 1 ) ) ] . [ 2 R ] O1: out STD_LOGIC_VECTOR({2L + cell(log2(n + 1)) + 2R - 1} DOWNTO 0)

Explicit

Notes to Table 2–54:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 73: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–1January 2006 Preliminary DSP Builder Reference Manual

3. IO & Bus Library

The blocks in the IO & Bus library are used to manipulate signals and buses to perform operations such as truncation, saturation, bit extraction, or bus format conversion.

The IO & Bus library contains the following blocks:

Block Page

AltBus Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1Binary Point Casting Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6BusBuild Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7Bus Concatenation Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9BusConversion Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–10Constant Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12ExtractBit Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13GlobalRst Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14GND Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–15Input Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16Output Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–17Round Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18Saturate Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19VCC Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20

AltBus Block The AltBus block casts a floating-point Simulink bus to a fixed-point bus. You can insert AltBus into a data or I/O primary path for inputs and outputs.

When casting a signal to fixed point, you must specify the bit width. You have the option of truncating, saturating, or rounding the result. If you choose rounding or saturation, the appropriate logic is inserted.

You can use the AltBus block in a Simulink design in any of the following modes:

■ AltBus Block Input Port & Output Port Modes■ AltBus Block Internal Node Mode■ AltBus Black Box Input Output Mode■ AltBus Block Constant Mode

Page 74: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

Table 3–1 shows the AltBus block parameters.

Table 3–2 shows the AltBus block I/O formats.

Table 3–1. AltBus Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer, Single Bit

Choose the number format of the bus.

Node Type Internal Node, Input Port, Output Port, Constant, Black Box Input Output

Choose the type of node you wish to create.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Saturate On or Off When this option is turned on, if the output is greater than the maximum positive or negative value to be represented, the output is forced (or saturated) to the maximum positive or negative value, respectively. When this option is turned off, the MSB is truncated. This option is not valid for the input port or constant node types.

Bypass Bus Format On or Off Turn on this option if you wish to perform simulation in Simulink using floating-point numbers.

Constant Value Double Specify the constant value that will be formatted with the bus parameter specified.

Table 3–2. AltBus Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit - Optional

O O1[LP].[RP] O1: out STD_LOGIC_VECTOR({LP + RP - 1} DOWNTO 0) Explicit

Notes to Table 3–2:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 75: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–3January 2006 Preliminary DSP Builder Reference Manual

AltBus Block

AltBus Block Input Port & Output Port Modes

The Input Port and Output Port modes are used to define the boundaries of the hardware implementation as well as to cast floating-point Simulink signals (coming from generic Simulink blocks) to signed binary fractional format (feeding DSP Builder blocks). Table 3–3 and Figure 3–1 illustrate how a floating-point number (4/3 = 1.3333) is cast into SBF format with three different binary point locations.

Figure 3–1. Floating-Point Conversion

Table 3–3. Floating-Point Numbers Cast to SBF

Bus Notation Input Simulink VHDL

[4].[1] 4/3 1.00 2.00

[2].[3] 4/3 1.25 10.00

[1].[4] 4/3 -0.6875 (1) -11.00

Note to Table 3–3:(1) In this case, more bits are needed to represent the integer part of the number.

Page 76: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

AltBus Block Internal Node Mode

This mode is used to convert a Simulink signal from one SBF format to another. This mode is used to assign the bus width of an internal node that will be implemented in hardware. Figure 3–2 illustrates the usage of AltBus in Internal Node mode (blocks AltBus1, AltBus2, and AltBus3) and Input Port mode (block AltBus). In this example a 20-bit bus with a ([10].[10]) SBF format is converted to a 4-bit bus with a [2].[2] SBF format.

Figure 3–2. Block Internal Node

In VHDL, this operation results in extracting a 4-bit bus (AltBus(3 DOWNTO 0)) from a 20-bit bus (AltBus(19 DOWNTO 0)) with the assignment:

AltBus3(3 DOWNTO 0)) ≤ AltBus(11 DOWNTO 8))

You can also perform additional internal bus manipulation with the Altera® BusConversion, ExtractBit, or BuildBus blocks.

AltBus Black Box Input Output Mode

This AltBus mode is used for hierarchical designs. You should use this node type if you do not want SignalCompiler to translate the sub-level design to HDL (that is, only the top-level symbol appears in the HDL). This mode is useful when your model has a Simulink block that is associated with a separate HDL block.

1 The pin names of the HDL block must match the pin names of the Simulink block.

Page 77: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–5January 2006 Preliminary DSP Builder Reference Manual

AltBus Block

Figure 3–3 illustrates the Black Box Input Output mode.

Figure 3–3. Black Box Input Output Mode

AltBus Block Constant Mode

Use this mode when a bus or bit must be set to a static value. SignalCompiler translates the static value to a constant STD_LOGIC or STD_LOGIC_VECTOR in VHDL. During synthesis, the synthesis tool typically reduces the gate count of any logic fed by this constant signal.

1 If you use the Simulink Constant block in your Altera design, you can only use it for simulation. If you try to use the Simulink Constant block with SignalCompiler, SignalCompiler will either treat it as a black box or will generate an error.

Page 78: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

Binary Point Casting Block

The Binary Point Casting block moves the input bus binary point position. The output bit width remains equal to the input bit width.

Table 3–4 shows the Binary Point Casting block parameters.

Table 3–5 shows the Binary Point Casting block I/O formats.

Table 3–4. Binary Point Casting Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Output Binary Point Position

0–51 Specify the binary point location of the output.

Table 3–5. Binary Point Casting Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[Li].[Ri] I1: in STD_LOGIC_VECTOR({Li + Ri - 1} DOWNTO 0) Explicit

O O1[LO].[RO] O1: out STD_LOGIC_VECTOR({LO + RO - 1} DOWNTO 0) Explicit

Notes to Table 3–5:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 79: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–7January 2006 Preliminary DSP Builder Reference Manual

BusBuild Block

Figure 3–4 shows a design example using the Binary Point Casting block.

Figure 3–4. Binary Point Casting Block Example

BusBuild Block The BusBuild block is used to construct buses from single-bit inputs. The output bus is defined in signed binary fractional representation. You can choose the bus type that you wish to use, and specify the number of bits on either side of the binary point. The BusBuild and ExtractBit blocks are typically used when mixing bit-level Boolean operation with arithmetic operations. The HDL mapping of BusBuild is a simple wire.

The input MSB (which is the sign bit of the signed binary fractional bus) is shown at the bottom left of the symbol and the input LSB is displayed at the top left of the symbol.

Table 3–6 shows the BusBuild block parameters.

Table 3–6. BusBuild Block Parameters (Part 1 of 2)

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format of the bus.

Page 80: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

Figure 3–5 shows a design example using the BusBuild block.

Figure 3–5. BusBuild Block Example

Output [number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Output [].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed binary fractional buses.

Table 3–6. BusBuild Block Parameters (Part 2 of 2)

Name Value Description

Page 81: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–9January 2006 Preliminary DSP Builder Reference Manual

Bus Concatenation Block

Table 3–7 shows the BusBuild block I/O formats.

Bus Concatenation Block

This BusConcatenation block concatenates two buses.

The result is A + B bits wide, where A is the most significant bit (MSB) slice of the output bus and B is the least significant bit (LSB) slice of the output bus. The type A and B could be signed integer or unsigned integer, but could not be signed binary fractional.

Table 3–8 shows the BusConcatenation block parameters.

Table 3–7. BusBuild Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[1]

…Ii[1]

….In[1]

I1: in STD_LOGIC…Ii: in STD_LOGIC….In: in STD_LOGIC

Explicit

O O1[LP].[RP] with LP + RP = n

where n is the number of inputsO1: out STD_LOGIC_VECTOR({LP + RP - 1} DOWNTO 0) Explicit

Notes to Table 3–7:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 3–8. BusConcatenation Block Parameters

Name Value Description

Bus A Width 1–51 Specify the width of the first bus to concatenate. (You can optionally enter the number as a MATLAB variable.)

Bus B Width 1–51 Specify the width of the first bus to concatenate. (You can optionally enter the number as a MATLAB variable.)

Output Is Signed On or Off Turn on this option if the output bus is signed.

Page 82: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–10 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

Table 3–9 shows the BusConcatenation block I/O formats.

BusConversion Block

The BusConversion block extracts a subsection of a bus by specifying the bit widths and slice transferred to the output.

Table 3–10 shows the BusConversion block parameters.

Table 3–9. BusConcatenation Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[0]

I2[L2].[0]

I1: in STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L2 - 1} DOWNTO 0)

Explicit

O O1[L1 + L2].[0] O1: out STD_LOGIC_VECTOR({L1 + L2 - 1} DOWNTO 0) Explicit

Notes to Table 3–9:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 3–10. BusConversion Block Parameters (Part 1 of 2)

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the input bus type for the simulator, VHDL or both.

Input [number of bits].[] 1–51 Specify the number of bits to the left of the binary point including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Input [].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed binary fractional buses.

Output [number of bits].[] 1–51 Specify the number of bits to the left of the binary point. (You can optionally enter the number as a MATLAB variable.)

Output [].[number of bits] 0–51 Specify the number of bit on the right side of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed binary fractional buses.

Page 83: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–11January 2006 Preliminary DSP Builder Reference Manual

BusConversion Block

Figure 3–6 shows a design example using the BusConversion block.

Figure 3–6. BusConversion Block Example

Input Bit Connected to Output LSB

0–51 Specify which slice of the input bus to use. This parameter designates the ending point (MSB) of the slice which is transferred to the output LSB. This parameter only applies to signed or unsigned integer buses only.

Round On or Off When this option is turned on, the output is rounded away from zero. When this option is turned off, the LSM is truncated: <int>(input +0.5).

Saturate On or Off When this option is turned on, if the output is greater than the maximum positive or negative value to be represented, the output is forced (or saturated) to the maximum positive or negative value, respectively. When this option is turned off, the MSB is truncated.

Table 3–10. BusConversion Block Parameters (Part 2 of 2)

Name Value Description

Page 84: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–12 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

Table 3–11 shows the BusConversion block I/O formats.

Constant Block The Constant block is derived from the AtlBus block. This block performs a subset of the functionality of the AltBus block.

Table 3–12 shows the Constant block parameters.

Table 3–11. BusConversion Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[LPi].[RPi] I1: in STD_LOGIC_VECTOR({LPi + RPi - 1} DOWNTO 0) Explicit

O O1[LPO].[RPO] O1: out STD_LOGIC_VECTOR({LPO + LPO - 1} DOWNTO 0) Explicit

Notes to Table 3–11:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 3–12. Constant Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer, Single Bit

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Constant Value Double Specify the constant value that will be formatted with the bus parameter specified.

Sample Time > 0 Specify the required sample time.

Page 85: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–13January 2006 Preliminary DSP Builder Reference Manual

ExtractBit Block

Table 3–13 shows the Constant block I/O formats.

ExtractBit Block The ExtractBit block reads a Simulink bus in signed binary fractional format and outputs the bit specified with the Extracted Bit parameter. Table 3–14 shows the ExtractBit block parameters.

Figure 3–7 shows a design example using the ExtractBit block.

Figure 3–7. ExtractBit Block Example

Table 3–13. Constant Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

O O1[LP].[RP] O1: out STD_LOGIC_VECTOR({LP + RP - 1} DOWNTO 0) Explicit

Notes to Table 3–13:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 3–14. ExtractBit Block Parameters

Name Value Description

Input [number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Input [].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.)

Extracted Bit 0–51 Specify which input bit to extract.

Page 86: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–14 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

Table 3–15 shows the ExtractBit block I/O formats.

GlobalRst Block The GlobalRst (or SCLR) block provides a single bit signal for RTL implementation and synthesis directives to the SignalCompiler block. All input pins driven by the block get connected to the global reset of the VHDL or Verilog HDL models created by the SignalCompiler block.

Table 3–16 shows the GlobalRst block parameters.

Table 3–17 shows the GlobalRst block I/O formats.

Table 3–15. ExtractBit Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

O O1[1] O1: out STD_LOGIC Explicit

Notes to Table 3–15:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 3–16. GlobalRst Block Parameters

Name Value Description

Sample Time > 0 Specify the required sample time.

Table 3–17. GlobalRst Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

O O1[1].[0] O1: out STD_LOGIC Explicit

Notes to Table 3–17:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 87: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–15January 2006 Preliminary DSP Builder Reference Manual

GND Block

GND Block The GND block is a single bit that outputs a constant 0.

Table 3–18 shows the GND block parameters.

Table 3–19 shows the GND block I/O formats.

Table 3–18. GND Block Parameters

Name Value Description

Sample Time > 0 Specify the required sample time.

Table 3–19. GND Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

O O1[1].[0] O1: out STD_LOGIC Explicit

Notes to Table 3–19:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 88: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–16 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

Input Block The Input block is derived from the AltBus block. This block performs a subset of the functionality of the AltBus block.

1 This is the same block as the input port in a HDL Subsystem and can be used interchangeably.

Table 3–20 shows the Input block parameters.

Table 3–21 shows the Input block I/O formats.

Table 3–20. Input Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer, or Single Bit

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Table 3–21. Input Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit - Optional

O O1[LP].[RP] O1: out STD_LOGIC_VECTOR({LP + RP - 1} DOWNTO 0) Explicit

Notes to Table 3–21:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 89: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–17January 2006 Preliminary DSP Builder Reference Manual

GND Block

Output Block The Output block is derived from the AltBus block. This block performs a subset of the functionality of the AltBus block.

Output blocks map to output ports in VHDL and so they mark the edge of the generated system. You would normally connect these blocks to simulation blocks (that is, Simulink blocks) for your testbench. Their outputs should not be connected to other Altera blocks.

1 This is the same block as the output port in a HDL Subsystem and can be used interchangeably.

Table 3–22 shows the Output block parameters.

Table 3–23 shows the Output block I/O formats.

Table 3–22. Output Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer, or Single Bit

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Table 3–23. Output Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit - Optional

O O1[LP].[RP] O1: out STD_LOGIC_VECTOR({LP + RP - 1} DOWNTO 0) Explicit

Notes to Table 3–23:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 90: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–18 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

Round Block The Round block rounds the output away from zero. You can indicate how many LSB bits to remove and whether to round or truncate the output, such that output = fix(input/2(LSB bits)) + 0.5).

Table 3–24 shows the Round block parameters.

Table 3–25 shows the Round block I/O formats.

Table 3–24. Round Block Parameters

Name Value Description

Input Bus Type Signed Integer, Signed Fractional, or Unsigned Integer

Choose the number format of the bus.

Input [number of bits].[] 2–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

Input [].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Number of LSB Bits to Remove

0–51 Specify how many bits to remove. (You can optionally enter the number as a MATLAB variable.)

Rounding Type Round or Truncate Choose whether to round or truncate the output.

Pipeline On or Off Turn on if you would like to pipeline the function.

Table 3–25. Round Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

O O1[LP].[RP] O1: out STD_LOGIC_VECTOR({LP + RP - 1} DOWNTO 0) Explicit

Notes to Table 3–25:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 91: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 3–19January 2006 Preliminary DSP Builder Reference Manual

Round Block

Saturate Block When you use the Saturate block, if the output is greater than the maximum positive or negative value to be represented, the output is forced (or saturated) to the maximum positive or negative value, respectively. Alternatively, you can choose to truncate the MSB.

Table 3–26 shows the Saturate block parameters.

Table 3–27 shows the Saturate block I/O formats.

Table 3–26. Saturate Block Parameters

Name Value Description

Input Bus Type Signed Integer, Signed Fractional, or Unsigned Integer

Choose the number format of the bus.

Input [number of bits].[] 2–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

Input [].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Number of MSB Bits to Remove 0–51 Specify how many bits to remove. (You can optionally enter the number as a MATLAB variable.)

Saturation Type Saturate, Truncate MSB or Enter saturation limits

Choose whether to saturate, truncate, or specify a saturation limit for the output.

Upper Saturation Limit Integer Specify the upper saturation limit when Saturation Type is set to Enter saturation limits.

Lower Saturation Limit Integer Specify the lower saturation limit when Saturation Type is set to Enter saturation limits.

Pipeline On or Off Turn on if you would like to pipeline the function.

Table 3–27. Saturate Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

Page 92: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

3–20 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

IO & Bus Library

VCC Block The VCC block is a single bit that outputs a constant 1.

Table 3–28 shows the VCC block parameters.

Table 3–29 shows the VCC block I/O formats.

O O1[LP].[RP] O1: out STD_LOGIC_VECTOR({LP + RP - 1} DOWNTO 0) Explicit

Notes to Table 3–27:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 3–27. Saturate Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Table 3–28. VCC Block Parameters

Name Value Description

Sample Time > 0 Specify the required sample time.

Table 3–29. VCC Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

O O1[1] O1: out STD_LOGIC Explicit

Notes to Table 3–29:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 93: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 4–1January 2006 Preliminary DSP Builder Reference Manual

4. Complex Type Library

Like Simulink, DSP Builder supports native complex signal types. Using complex number notation simplifies the design of applications such as FFT, I-Q modulation, and complex filters.

1 When connecting DSP Builder blocks to blocks from the Complex Type library (for example, connecting AltBus to Complex AddSub), you must use Real-Imag to Complex or Complex to Real-Imag blocks between the blocks. See Figure 4–2 on page 4–4 for an example.

The Complex Type library contains the following blocks:

Block Page

Butterfly Operator Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1Complex AddSub Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4Complex Conjugate Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–5Complex Constant Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6Complex Delay Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7Complex Multiplexer Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8Complex Product Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8Complex to Real-Imag Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–9Real-Imag to Complex Block . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11

Butterfly Operator Block

The Butterfly Operator block performs the following arithmetic operation on complex signed integer numbers:

A = a + bWB = a - bW

where a, b, W, A, and B are complex numbers (type signed integer) such as:

a = x + jXb = y+ jYW = v + jVA = (x + yv) - YV + j(X + Yv + yV)B = (x - yv) + YV + j(X - Yv - yV)

Page 94: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

4–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Complex Type Library

This function operates with full bit width precision. The full bit width precision of A and B is 2 × [input bit width] + 2. The output bit width and output LSB bit parameters are used to specify the bit slice used for the output ports A and B. For example, if the input bit width is 16, the output bit width is 16, and the output LSB is 4, the full precision is 34 bits and the output ports are A[19:4] and B[19:4]

Table 4–1 shows the Butterfly Operator block parameters.

Table 4–2 shows the Butterfly Operator block I/O formats.

Table 4–1. Butterfly Operator Block Parameters

Name Value Description

Input Bit Width (a, b, W) 4–51 Specify the bit width of the complex signed integer inputs a, b, and W.

Full Output Bit Width Resolution

On or Off When this option is turned on, full output bit width resolution is enabled. When turned off, you can separately specify the output bit width and least significant bit of the output.

Output Bit Width (A, B) 4–51 Specify the bit width of the complex signed integer outputs A and B. This option is available when Full Output Bit Width Resolution is turned off.

Output LSB Bit 4–51 Specify the LSB bit of the output bus slice of the full resolution computation. This option is available when Full Output Bit Width Resolution is turned off.

Latency 3–10 Choose the required number of latency cycles.

W is constant On or Off When this option is turned on, you can specify the real and imaginary values for W.

W Real User Defined Specify the value of the real part of the constant W

W Imaginary User Defined Specify the value of the imaginary part of the constant W.

Dedicated Multiplier Circuitry AUTO, YES, NO

For HardCopy®, Stratix® II, and Stratix® GX devices, a value of AUTO specifies that the choice is based on the width of the multiplier. For Mercury™ devices, a value of AUTO defaults to no dedicated multiplier circuitry.

Table 4–2. Butterfly Operator Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1Real([Li].[0])Imag([Li].[0])

I2Real([Li].[0])Imag([Li].[0])

I3Real([Li].[0])Imag([Li].[0])

I1Real: in STD_LOGIC_VECTOR({Li - 1} DOWNTO 0)I1Imag: in STD_LOGIC_VECTOR({Li - 1} DOWNTO 0)I2Real: in STD_LOGIC_VECTOR({Li - 1} DOWNTO 0)I2Imag: in STD_LOGIC_VECTOR({Li - 1} DOWNTO 0)I3Real: in STD_LOGIC_VECTOR({Li - 1} DOWNTO 0)I3Imag: in STD_LOGIC_VECTOR({Li - 1} DOWNTO 0)

Explicit

Page 95: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 4–3January 2006 Preliminary DSP Builder Reference Manual

Butterfly Operator Block

Figure 4–1 shows a design example using the Butterfly Operator block.

Figure 4–1. Butterfly Operator Block Example

O O1Real([Lo].[0])Imag([Li].[0])

O2Real([Lo].[0])Imag([Li].[0])

O1Real: in STD_LOGIC_VECTOR({Lo - 1} DOWNTO 0)O1Imag: in STD_LOGIC_VECTOR({Lo - 1} DOWNTO 0)O2Real: in STD_LOGIC_VECTOR({Lo - 1} DOWNTO 0)O2Imag: in STD_LOGIC_VECTOR({Lo - 1} DOWNTO 0)

Explicit

Notes to Table 4–2:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 4–2. Butterfly Operator Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Page 96: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

4–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Complex Type Library

Complex AddSub Block

The Complex AddSub block performs output addition or subtraction of two scalar complex inputs.

Table 4–3 shows the Complex AddSub block parameters.

Figure 4–2 shows a design example using the Complex Add Sub block.

Figure 4–2. Complex Add Sub Block Example

Table 4–4 shows the Complex AddSub block I/O formats.

Table 4–3. Complex AddSub Block Parameters

Name Value Description

Arithmetic Operation Add or Subtract Choose which operation to perform.

Table 4–4. Complex AddSub Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1Real([L1].[R1])Imag([L1].[R1])

I2Real([L2].[R2])Imag([L2].[R2])

I1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I2Real: in STD_LOGIC_VECTOR({LP2 + RP2 - 1} DOWNTO 0)I2Imag: in STD_LOGIC_VECTOR({LP2 + RP2 - 1} DOWNTO 0)

Implicit

Page 97: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 4–5January 2006 Preliminary DSP Builder Reference Manual

Complex Conjugate Block

Complex Conjugate Block

The Complex Conjugate block outputs the conjugate or the inverse of the scalar complex inputs.

Table 4–5 shows the Complex Conjugate block parameters.

Table 4–6 shows the Complex Conjugate block I/O formats.

O O1Real(max(L1,L2) + 1),(max(RI,R2) + 1)Imag(max(L1,L2) + 1),(max(RI,R2) + 1)

O1Real: in STD_LOGIC_VECTOR({max(LI,L2) + max(RI,R2)} DOWNTO 0)O1Imag: in STD_LOGIC_VECTOR({max(LI,L2) + max(RI,R2)} DOWNTO 0)

Implicit

Notes to Table 4–4:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 4–4. Complex AddSub Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Table 4–5. Complex Conjugate Block Parameters

Name Value Description

Operation Conjugate, Invert Choose which operation to perform.

Table 4–6. Complex Conjugate Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1Real([L1].[R1])Imag([L1].[R1]) I1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)

Implicit

O O1Real([L1] + 1.[R1])Imag([L1] + 1.[R1]) O1Real: in STD_LOGIC_VECTOR({LP1 + RP1} DOWNTO 0)O1Imag: in STD_LOGIC_VECTOR({LP1 + RP1} DOWNTO 0)

Implicit

Notes to Table 4–6:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 98: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

4–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Complex Type Library

Figure 4–3 shows a design example using the Complex Conjugate block.

Figure 4–3. Complex Conjugate Block Example

Complex Constant Block

The Complex Constant block outputs a fixed-point complex constant value.

Table 4–7 shows the Complex Constant block parameters.

Table 4–8 shows the Complex Constant block I/O formats.

Table 4–7. Complex Constant Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, or Unsigned Integer

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Real Value User Defined Specify the value of the real part of the constant.

Imaginary Value User Defined Specify the value of the imaginary part of the constant.

Page 99: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 4–7January 2006 Preliminary DSP Builder Reference Manual

Complex Constant Block

Complex Delay Block

The Complex Delay block delays the incoming data by the amount specified by the Depth parameter. The input must be a complex number.

Table 4–9 shows the Complex Delay block parameters.

Table 4–10 shows the Complex Delay block I/O formats.

Table 4–8. Complex Constant Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

O O1Real([L1].[R1])Imag([L1].[R1]) O1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)O1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)

Explicit

Notes to Table 4–8:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 4–9. Complex Delay Block Parameters

Name Value Description

Depth 1–1000 Specify the delay length of the block.

Table 4–10. Complex Delay Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1Real([L1].[R1])Imag([L1].[R1]) I1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)

Implicit

O O1Real([L1].[R1])Imag([L1].[R1]) O1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)O1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)

Implicit

Notes to Table 4–10:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 100: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

4–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Complex Type Library

Complex Multiplexer Block

The Complex Multiplexer block is a 2 to 1 multiplexer for complex numbers. The select line (port number 3) is a non-complex scalar.

The Complex Multiplexer block has no parameters.

Table 4–11 shows the Complex Multiplexer block I/O formats.

Complex Product Block

The Complex Product block performs output multiplication of two scalar complex inputs.

Table 4–12 shows the Complex Product block parameters.

Table 4–11. Complex Multiplexer Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1Real([L1].[R1])Imag([L1].[R1])

I2Real([L2].[R2])Imag([L2].[R2])

I3[1]

I1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I2Real: in STD_LOGIC_VECTOR({LP2 + RP2 - 1} DOWNTO 0)I2Imag: in STD_LOGIC_VECTOR({LP2 + RP2 - 1} DOWNTO 0)I3: in STD_LOGIC

Implicit

O O1Real(max(L1,L2)),(max(RI,R2) )Imag(max(L1,L2)),(max(RI,R2))

O1Real: in STD_LOGIC_VECTOR({max(LI,L2) + max(RI,R2) - 1} DOWNTO 0)O1Imag: in STD_LOGIC_VECTOR({max(LI,L2) + max(RI,R2) - 1} DOWNTO 0)

Implicit

Notes to Table 4–11:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 4–12. Complex Product Block Parameters

Name Value Description

Arithmetic Operation Multiply This option is always set to Multiply.

Page 101: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 4–9January 2006 Preliminary DSP Builder Reference Manual

Complex to Real-Imag Block

Table 4–13 shows the Complex Product block I/O formats.

Figure 4–2 on page 4–4 shows a design example using the Complex Product block.

Complex to Real-Imag Block

The Complex to Real-Imag block constructs a fixed-point real and fixed-point imaginary output from a complex input.

Table 4–14 shows the Complex to Real-Imag block parameters.

Table 4–13. Complex Product Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1Real([L1].[R1])Imag([L1].[R1])

I2Real([L2].[R2])Imag([L2].[R2])

I1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I2Real: in STD_LOGIC_VECTOR({LP2 + RP2 - 1} DOWNTO 0)I2Imag: in STD_LOGIC_VECTOR({LP2 + RP2 - 1} DOWNTO 0)

Implicit

O O1Real(2 x max(LI,L2)),(2 x max(RI,R2))Imag(2 x max(LI,L2)),(2 x max(RI,R2))

O1Real: in STD_LOGIC_VECTOR({(2 x max(LI,L2)) + (2 x max(RI,R2)) -1} DOWNTO 0)O1Imag: in STD_LOGIC_VECTOR({(2 x max(LI,L2)) + (2 x max(RI,R2)) -1} DOWNTO 0)

Implicit

Notes to Table 4–13:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 4–14. Complex to Real-Imag Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format you wish to use for the bus.

Inputs [number of bits].[] 1–51 Select the number of data input bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Inputs [].[number of bits] 0–51 Select the number of data input bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This option is only available when Signed Fractional is selected.

Page 102: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

4–10 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Complex Type Library

Table 4–15 shows the Complex to Real-Imag block I/O formats.

Figure 4–4 shows a design example using the Complex to Real-Imag block.

Figure 4–4. Complex to Real-Imag Block Example

Table 4–15. Complex to Real-Imag Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1Real([L1].[R1])Imag([L1].[R1]) I1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)

Implicit

O O1Real([L1].[R1])

O2Imag([L1].[R1])

O1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)O2Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)

Explicit

Notes to Table 4–15:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 103: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 4–11January 2006 Preliminary DSP Builder Reference Manual

Complex to Real-Imag Block

Real-Imag to Complex Block

The Real-Imag to Complex block constructs a fixed-point complex output from real and imaginary inputs.

Table 4–16 shows the Real-Imag to Complex block parameters.

Table 4–17 shows the Real-Imag to Complex block I/O formats.

Table 4–16. Real-Imag to Complex Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format you wish to use for the bus.

Inputs [number of bits].[] 1–51 Select the number of data input bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Inputs [].[number of bits] 0–51 Select the number of data input bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This option is only available when Signed Fractional is selected.

Table 4–17. Real-Imag to Complex Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1Real([L1].[R1])

I2Imag([L1].[R1])

I1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)I1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)

Implicit

O O1Real([L1].[R1])Imag([L1].[R1]) O1Real: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)O1Imag: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0)

Explicit

Notes to Table 4–17:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 104: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

4–12 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Complex Type Library

Page 105: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 5–1January 2006 Preliminary DSP Builder Reference Manual

5. Boards Library

The blocks in the Boards library support development platforms for a number of prototype boards.

The Boards library supports the following boards:

Board Page

Cyclone II EP2C35 DSP Development Board . . . . . . . . . . . . . 5–1Stratix EP1S25 DSP Development Board . . . . . . . . . . . . . . . . . 5–3Stratix EP1S80 DSP Development Board . . . . . . . . . . . . . . . . . 5–6Stratix II EP2S60 DSP Development Board . . . . . . . . . . . . . . . 5–8Stratix II EP2S180 DSP Development Board . . . . . . . . . . . . . 5–11

Cyclone II EP2C35 DSP Development Board

The Cyclone™ II EP2C35 DSP Development board is a prototyping platform that provides system designers with an economical solution for hardware and software verification.

This rapid prototyping board enables the user to debug and verify both functionality and design timing. With two analog input and output channels per board and the ability to combine boards easily with right angle connectors, the board can be used to construct an extremely powerful processing system. When combined with DSP intellectual property (IP) from Altera® and the Altera® Megafunction Partners Program (AMPPSM) partners, you can solve design problems that formerly required custom hardware and software solutions.

f For information on setting up the board and connecting it to your PC, refer to the DSP Development Kit, Cyclone II Getting Started User Guide.

The blocks in this library provide a connection to analog-to-digital (A/D) converters, digital-to-analog (D/A) converters, LEDs, and switches on the development board. By using these blocks, you do not have to make pin assignments to connect to the board components.

When targeting the Cyclone II EP2C35 DSP development board, the design must contain the Altera Cyclone II EP2C35 DSP Development Board configuration block at the top hierarchical level, to specify global clock and reset board connections.

Page 106: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

5–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Boards Library

This library contains the following blocks (see Figure 5–1 on page 5–2):

■ Altera Cyclone II EP2C35 DSP Development Board configuration■ A2D_1 12 Bit Signed—Controls A/D converter (U26)■ D2A_1 14 Bit Unsigned—Controls D/A converter (U25)■ LED7 through LED0—Controls user-definable LEDs D2 through D9,

respectively■ S1—Controls user-definable dipswitch■ USER_RESETN—Controls push-button “User Reset” (SW6)■ Dual user-definable seven-segment LEDs (U32, U33)■ SW2 through SW5—Controls user-definable push-buttons PB3

through PB0, respectively

f For more information on this development board, refer to the Cyclone II EP2C35 DSP Development Board Reference Manual.

Figure 5–1. Cyclone II EP2C35 DSP Development Board Blocks

Page 107: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 5–3January 2006 Preliminary DSP Builder Reference Manual

Cyclone II EP2C35 DSP Development Board

Stratix EP1S25 DSP Development Board

The Stratix® EP1S25 DSP Development board is a prototyping platform that provides system designers with an economical solution for hardware and software verification.

This rapid prototyping board enables the user to debug and verify both functionality and design timing. With two analog input and output channels per board and the ability to combine boards easily with right angle connectors, the board can be used to construct an extremely powerful processing system. When combined with DSP IP from Altera® and AMPPSM partners, you can solve design problems that formerly required custom hardware and software solutions.

f For information on setting up the board and connecting it to your PC, refer to the DSP Development Kit, Stratix & Stratix Professional Edition Getting Started User Guide.

The blocks in this library provide a connection to analog-to-digital (A/D) converters, digital-to-analog (D/A) converters, LEDs, and switches on the development board. By using these blocks, you do not have to make pin assignments to connect to the board components.

When targeting the Stratix EP1S25 DSP development board, the design must contain the Stratix DSP Board EP1S25 configuration block at the top hierarchical level, to specify global clock and reset board connections.

This library contains the following blocks (see Figure 5–2 on page 5–4):

■ Stratix DSP Board EP1S25 Configuration■ A2D_1 12 Bit Signed—Controls A/D converter 1 (U10)■ A2D_2 12 Bit Signed—Controls A/D converter 2 (U30)■ D2A_1 14 Bit Unsigned—Controls D/A converter 1 (U21)■ D2A_2 14 Bit Unsigned—Controls D/A converter 2 (U23)■ LED0—Controls user LED 0 (D6)■ LED1—Controls user LED 1 (D7)■ BUTTON SW0—Controls push-button switch 0 (SW0)■ BUTTON SW1—Controls push-button switch 1 (SW1)■ BUTTON SW2—Controls push-button switch 2 (SW2)■ SW3—8-bit dipswitch (SW3)■ DEBUG A—Controls debugging port A■ DEBUG B—Controls debugging port B■ PROTO—Controls the prototyping area I/O■ EVALIO_IN—Controls the evaluation I/O input■ EVALIO_OUT—Controls the evaluation I/O output■ RS2323 TIN—RS-232 serial port transmit input■ RS2323 ROUT—RS-232 serial port receive output■ Dual user-definable seven-segment LEDs

Page 108: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

5–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Boards Library

f For more information on this development board, refer to the Stratix EP1S25 DSP Development Board Data Sheet.

Figure 5–2. Stratix EP1S25 DSP Development Board Blocks

Page 109: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 5–5January 2006 Preliminary DSP Builder Reference Manual

Cyclone II EP2C35 DSP Development Board

Figure 5–3 shows an example switch controller design using the SignalTap® II and board blocks. Based on the user-controlled switches and the value of the incrementer, an LED on the Stratix EP1S25 DSP Development Board turns on or off.

Figure 5–3. Switch Controller Using the Stratix DSP Development Board Blocks

Page 110: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

5–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Boards Library

Stratix EP1S80 DSP Development Board

The Stratix® EP1S80 DSP Development board is a prototyping platform that provides system designers with an economical solution for hardware and software verification.

This rapid prototyping board enables the user to debug and verify both functionality and design timing. With two analog input and output channels per board and the ability to combine boards easily with right angle connectors, the board can be used to construct an extremely powerful processing system. When combined with DSP IP from Altera® and AMPPSM partners, you can solve design problems that formerly required custom hardware and software solutions.

f For information on setting up the board and connecting it to your PC, refer to the DSP Development Kit, Stratix & Stratix Professional Edition Getting Started User Guide.

The blocks in this library provide a connection to analog-to-digital (A/D) converters, digital-to-analog (D/A) converters, LEDs, and switches on the development board. By using these blocks, you do not have to make pin assignments to connect to the board components.

When targeting the Stratix EP1S80 development board, the design must contain the Stratix DSP Board EP1S80 configuration block at the top hierarchical level, to specify global clock and reset board connections.

This library contains the following blocks (see Figure 5–4 on page 5–7):

■ Stratix DSP Board EP1S80 configuration■ A2D_1 12 Bit Signed—Controls A/D converter 1 (U10)■ A2D_2 12 Bit Signed—Controls A/D converter 2 (U30)■ D2A_1 14 Bit Unsigned—Controls D/A converter 1 (U21)■ D2A_2 14 Bit Unsigned—Controls D/A converter 2 (U23)■ LED0—Controls user LED 0 (D6)■ LED1—Controls user LED 1 (D7)■ BUTTON SW0—Controls push-button switch 0 (SW0)■ BUTTON SW1—Controls push-button switch 1 (SW1)■ BUTTON SW2—Controls push-button switch 2 (SW2)■ SW3—8 bit dipswitch (SW3)■ DEBUG_A—Controls debugging port A■ DEBUG_B—Controls debugging port B■ PROTO—Controls the prototyping area I/O■ EVALIO_IN—Controls the evaluation I/O input■ EVALIO_OUT—Controls the evaluation I/O output■ RS2323 TIN—RS-232 serial port transmit input■ RS2323 ROUT—RS-232 serial port receive output■ Dual user-definable seven-segment LEDs

Page 111: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 5–7January 2006 Preliminary DSP Builder Reference Manual

Cyclone II EP2C35 DSP Development Board

f For more information on this development board, refer to the Stratix EP1S80 DSP Development Board Data Sheet.

Figure 5–4. Stratix DSP Development Board EP1S80 Blocks

Page 112: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

5–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Boards Library

Stratix II EP2S60 DSP Development Board

The Stratix® II EP2S60 DSP Development board is a prototyping platform that provides system designers with an economical solution for hardware and software verification.

This rapid prototyping board enables the user to debug and verify both functionality and design timing. With two analog input and output channels per board and the ability to combine boards easily with right angle connectors, the board can be used to construct an extremely powerful processing system. When combined with DSP IP from Altera® and AMPPSM partners, you can solve design problems that formerly required custom hardware and software solutions.

For information on setting up the board and connecting it to your PC, refer to the DSP Development Kit, Stratix II Edition Getting Started User Guide.

The blocks in this library provide a connection to analog-to-digital (A/D) converters, digital-to-analog (D/A) converters, LEDs, and switches on the development board. By using these blocks, you do not have to make pin assignments to connect to the board components.

When targeting the Stratix II EP2S60 DSP development board, the design must contain the Stratix II DSP Board EP2S60 configuration block at the top hierarchical level, to specify global clock and reset board connections.

This library contains the following blocks (see Figure 5–5 on page 5–9):

■ Stratix II DSP Board EP2S60 Configuration■ A2D_1 12 Bit Signed—Controls A/D converter 1 (Labeled A2D_A on

the board.)■ A2D_2 12 Bit Signed—Controls A/D converter 2 (Labeled A2D_B on

the board.)■ D2A_1 14 Bit Unsigned—Controls D/A converter 1 (Labeled D2A_A

on the board.)■ D2A_2 14 Bit Unsigned—Controls D/A converter 2 (Labeled D2A_B

on the board.)■ LED0 through LED7—Controls user LEDs (D1-D8)■ SW4—Controls push-button switch SW4■ SW5—Controls push-button switch SW5■ SW6—Controls push-button switch SW6■ SW7—Controls push-button switch SW7■ IO_DEV_CLRn—Controls push-button switch SW8■ PROTO and PROTO1—Two Santa Cruz connectors controlling the

prototyping area I/O (J23-J25, J26-J28)■ PROTO2— Controls debug port Mictor connector (J20)■ PROTO3—Controls the external ADI connectors (J5, J6)■ Dual user-definable seven-segment LEDs

Page 113: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 5–9January 2006 Preliminary DSP Builder Reference Manual

Cyclone II EP2C35 DSP Development Board

f For more information on this development board, refer to the Stratix II EP2S60 DSP Development Board Data Sheet.

Figure 5–5. Stratix II EP2S60 DSP Development Board Blocks

Page 114: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

5–10 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Boards Library

Figure 5–6 shows a test design using the SignalTap II and EP2S60 DSP board blocks. The 7-segment display and 8 LEDs on the Stratix II EP2S60 DSP Development Board turn on or off in response to user-controlled switches and the value of the incrementer.

Figure 5–6. Test Design Using the Stratix II DSP Development Board Blocks

Page 115: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 5–11January 2006 Preliminary DSP Builder Reference Manual

Stratix II EP2S180 DSP Development Board

Stratix II EP2S180 DSP Development Board

The Stratix® II EP2S180 DSP Development board is a prototyping platform that provides system designers with an economical solution for hardware and software verification.

This rapid prototyping board enables the user to debug and verify both functionality and design timing. With two analog input and output channels per board and the ability to combine boards easily with right angle connectors, the board can be used to construct an extremely powerful processing system. When combined with DSP IP from Altera® and AMPPSM partners, you can solve design problems that formerly required custom hardware and software solutions.

f For information on setting up the board and connecting it to your PC, refer to the DSP Development Kit, Stratix II Edition Getting Started User Guide.

The blocks in this library provide a connection to analog-to-digital (A/D) converters, digital-to-analog (D/A) converters, LEDs, and switches on development board. By using these blocks, you do not have to make pin assignments to connect to the board components.

When targeting the EP2S180 DSP development board, the design must contain the Stratix II DSP Board EP2S180 configuration block at the top hierarchical level, to specify global clock and reset board connections.

This library contains the following blocks (see Figure 5–7 on page 5–12):

■ Stratix II DSP Board EP2S180 Configuration■ A2D_1 12 Bit Signed—Controls A/D converter 1 (Labeled A2D_A on

the board.)■ A2D_2 12 Bit Signed—Controls A/D converter 2 (Labeled A2D_B on

the board.)■ D2A_1 14 Bit Unsigned—Controls D/A converter 1 (Labeled D2A_A

on the board.)■ D2A_2 14 Bit Unsigned—Controls D/A converter 2 (Labeled D2A_B

on the board.)■ LED0 through LED7—Controls user LEDs (D1-D8)■ SW4—Controls push-button switch SW4■ SW5—Controls push-button switch SW5■ SW6—Controls push-button switch SW6■ SW7—Controls push-button switch SW7■ IO_DEV_CLRn—Controls push-button switch SW8■ PROTO and PROTO1—Two Santa Cruz connectors controlling the

prototyping area I/O (J23-J25, J26-J28)■ PROTO2— Controls debug port Mictor connector (J20)■ PROTO3—Controls the external ADI connectors (J5, J6)■ Dual user-definable seven-segment LEDs

Page 116: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

5–12 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Boards Library

Figure 5–7. Stratix II EP2S180 DSP Development Board Blocks

Page 117: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 5–13January 2006 Preliminary DSP Builder Reference Manual

Stratix II EP2S180 DSP Development Board

Figure 5–8 shows a test design using the SignalTap II and EP2S180 DSP board blocks. The 7-segment display and 8 LEDs on the Stratix II EP2S180 DSP Development Board turn on or off in response to user-controlled switches and the value of the incrementer.

Figure 5–8. Test Design Using the Stratix II DSP Development Board Blocks

Page 118: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

5–14 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Boards Library

Page 119: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–1January 2006 Preliminary DSP Builder Reference Manual

6. Gate & Control Library

The blocks in the Gate and Control library support gate and other related control functions.

The Gate & Control library contains the following blocks:

Block Page

1-to-n Demux Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1Binary to Seven Segments Block . . . . . . . . . . . . . . . . . . . . . . . . 6–2Bitwise Logical Bus Operator Block . . . . . . . . . . . . . . . . . . . . . 6–3Case Statement Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–4Decoder Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–6Flip Flop Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–7If Statement Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–8Logical Bit Operator Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–11Logical Bus Operator Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–12LUT Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14n-to-1 Multiplexer Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–15NOT Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17One-to-n Demux Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17Single Pulse Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–18

f Refer to Chapter 10, Storage Library for information about the “LFSR Sequence Block” and “Pattern Block” which are also available in this library.

1-to-n Demux Block

The 1-to-n Demux block is deprecated and should not be used in new designs. Please refer to the “One-to-n Demux Block” on page 6–17.

Page 120: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

Binary to Seven Segments Block

The Binary to Seven Segments block converts a 4-bit unsigned input bus into a 7-bit bus used for seven segment displays.

Table 6–1 shows the 4-bit to 7-bit conversion performed by the Binary to Seven Segments block.

Table 6–2 shows the Binary to Seven Segments block I/O formats.

Table 6–1. Binary to Seven Segments

Input(4-bits)

Output(7-bits)

123456789AbCdEF0

79 (1001111)18 (0010010)

6 (0000110)76 (1001100)36 (0100100)32 (0100000)15 (0001111)

0 (0000000)4 (0000100)8 (0001000)

96 (1100000)49 (0110001)66 (1000010)48 (0110000)56 (0111000)

1 (0000001)

Table 6–2. Binary to Seven Segments Display Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[4].[0] I1: in STD_LOGIC_VECTOR(3 DOWNTO 0) Explicit

O O1[7].[0] O1: in STD_LOGIC_VECTOR(6 DOWNTO 0) Explicit

Notes to Table 6–2: (1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 121: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–3January 2006 Preliminary DSP Builder Reference Manual

Bitwise Logical Bus Operator Block

Bitwise Logical Bus Operator Block

The Bitwise Logical Bus Operator block performs logical operations such as AND, OR, or XOR across two buses.

Table 6–3 shows the Bitwise Logical Bus Operator block parameters.

Table 6–4 shows the Bitwise Logical Bus Operator block I/O formats.

Table 6–3. Bitwise Logical Bus Operator Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format that you want to use.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Input [].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.)

Logic Operation AND, OR, XOR Choose the logical operation to perform.

Table 6–4. Bitwise Logical Bus Operator Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[L1].[R1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)

Explicit

O O1[L1].[R1] O1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

Notes to Table 6–4: (1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 122: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

Case Statement Block

This Case Statement block contains boolean operators, which you can use for combinatorial functions.

The Case Statement block compares the input signal (which must be a signed or unsigned integer) with a set of case values. For each case, a single-bit output is generated. You can implement as many cases as you wish. Use a comma (,) to separate each case. A comma at the end of the case values is ignored.

Additionally, you can have multiple conditions for each case; use a pipe (|) to separate the conditions. For example, for four cases with the first of which having two conditions, you would enter 1|2,3,4,5 in the Case Values box.

Table 6–5 shows the Case Statement block parameters.

Table 6–6 shows the Case Statement block I/O formats.

Table 6–5. Case Statement Block Parameters

Name Value Description

Default Case On or Off Turn on this option if you want the others output signal to go high when all the other outputs are false.

Case Values User Specified

Specify the values with which you want to compare the input. Include a comma after each value.

Register Outputs On or off Turn on this option if you would like to register the output result.

Table 6–6. Case Statement Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: in STD_LOGIC_VECTOR({LP1 + RP1 - 1} DOWNTO 0) Implicit

O O1[1]

…Oi[1]

….On[1]

O1: out STD_LOGIC…Oi: out STD_LOGIC….On: out STD_LOGIC

Explicit

Notes to Table 6–6:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 123: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–5January 2006 Preliminary DSP Builder Reference Manual

Case Statement Block

Figure 6–1 shows an example model using the Case Statement block.

Figure 6–1. Case Statement Block Example

The following VHDL code is generated by SignalCompiler from the model in Figure 6–1:

p0:process(A6W)begin

case A1W is when "000001"|"000010"|"000011" =>

A0W <= '1';A1W <= '0';A2W <= '0';A3W <= '0';A4W <= '0';A5W <= '0';

when "000100" =>A0W <= '0';A1W <= '1';A2W <= '0';A3W <= '0';A4W <= '0';A5W <= '0';

when "000100"|"000110" =>A0W <= '0';A1W <= '0';

Page 124: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

A2W <= '1';A3W <= '0';A4W <= '0';A5W <= '0';

when "000111" =>A0W <= '0';A1W <= '0';A2W <= '0';A3W <= '1';A4W <= '0';A5W <= '0';

when "001000"|"001001"|"001010"|"001011" =>A0W <= '0';A1W <= '0';A2W <= '0';A3W <= '0';A4W <= '1';A5W <= '0';

when others=> A0W <= '0';A1W <= '0';A2W <= '0';A3W <= '0';A4W <= '0';A5W <= '1';

end case;end process;

1 In Simulink, each wire is named A<number>W where <number> is auto-generated.

Decoder Block The Decoder block is a bus decoder that reads the input and outputs as a single bit. The outputs returns a one when the data input equals the decoded value.

Table 6–7 shows the Decoder block parameters.

Table 6–7. Decoder Block Parameters

Name Value Description

Input Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format that you want to use for the counter.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point for the gain. (You can optionally enter the number as a MATLAB variable.) This option is zero (0) unless Signed Fractional is selected.

Decoded Value User defined Specify the decoded value.

Register Output On or off Turn this option on if you would like to register the output result.

Page 125: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–7January 2006 Preliminary DSP Builder Reference Manual

Flip Flop Block

Table 6–8 shows the Decoder block I/O formats.

Flip Flop Block The Flip Flop block is configured by default as a 1-bit D-type flipflop with enable (DFFE) or T-type flipflop with enable (TFFE). If the number of bits is set to more than 1, the block behaves as single-bit flipflops for each bit.

The Flip Flop block has the inputs and outputs shown in Table 6–9.

DFFE mode:if (0 == clrn) Q = 0;else if (0 == prn) Q = 1;else if (1 == ena) Q = D

TFFE mode:if (0 == clrn) Q = 0;else if (0 == prn) Q = 1; else if (1 == ena) and (1 == T) Q = toggle

1 Note that (clrn == 0) and (prn == 0) are not supported.

Table 6–8. Decoder Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

O O1[1].[0] O1: in STD_LOGIC Explicit

Notes to Table 6–8: (1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 6–9. Flip Flop Block Inputs & Outputs

Signal Direction Description

D or T Input Data or togggle port.

ena Input Enable port.

prn Input Preset port.

clrn Input Clear port.

Q Output Output port.

Page 126: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

Table 6–10 shows the Flip Flop block parameter.

Table 6–11 shows the Flip Flop block I/O formats.

If Statement Block

The If Statement block returns a boolean result based on the IF condition equation. The input arguments—a, b, c, d, e, f, g, h, i, or j—must be signed or unsigned integers. You can use any number of parentheses.

The If Statement block has the inputs and outputs shown in Table 6–9.

Table 6–10. Flip Flop Block Parameters

Name Value Description

Mode DFFE or TFFE Choose which type of flip flop to implement.

Number of bits 1–51 Specify the number of bits for the data input and output. (You can optionally enter the number as a MATLAB variable.)

Table 6–11. Flip Flop Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[0]

I2[1].[0]

I3[1].[0]

I4[1].[0]

I1: in STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0)I2: in STD_LOGICI3: in STD_LOGICI4: in STD_LOGIC

Explicit

O O1[L1].[0] O1: in STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0) Explicit

Notes to Table 6–11: (1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 6–12. If Statement Block Inputs & Outputs

Signal Direction Description

a–j Input Input ports

n Input Optional ELSE IF input port.

true Output Output port (High when true).

false Output Optional ELSE output port (High when false).

Page 127: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–9January 2006 Preliminary DSP Builder Reference Manual

If Statement Block

The permitted operators are given in Table 6–13.

Table 6–14 shows the If Statement block parameters.

Table 6–15 shows the If Statement block I/O formats.

Table 6–13. Supported If Statement Block Operators

Operator Operation

& AND

| OR

$ XOR

= Equal To

~ Not Equal To

> Greater Than

< Less Than

Table 6–14. If Statement Block Parameters

Name Value Description

Number of Inputs 2–10 Choose the number of inputs to the If Statement.

IF User Defined Specify the if condition using any of the following operators: &, |, $, =, ~, >, or < and the variables a, b, c, d, e, f, g, h, i, or j.

ELSE Output On or Off This option turns on the false output signal, which goes high if the condition evaluated by the If Statement block is false.

ELSE IF Input On or Off This option turns on the n input signal (where n is the ELSE IF input), which you can use to cascade multiple IF Statement blocks together.

Support Signed Fractional Inputs

On or Off Turn on this option if you want to use signed fractional inputs.

Maximum [].[number of bits] of inputs

0–51 Specify the number of bits to the right of the binary point when you are using signed fractional inputs. (You can optionally enter the number as a MATLAB variable.)

Table 6–15. If Statement Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]….

Ii[LI].[RI]…

In[LN].[RN]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)…Ii: in STD_LOGIC_VECTOR({LI + RI - 1} DOWNTO 0)….In: in STD_LOGIC_VECTOR({LN + RN - 1} DOWNTO 0)

Implicit

Page 128: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–10 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

Figure 6–2 shows an example using the If Statement block.

Figure 6–2. If Statement Block Example

O O1[1]

O2[1]

O1: out STD_LOGICO2: out STD_LOGIC

Explicit

Notes to Table 6–15:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 6–15. If Statement Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Page 129: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–11January 2006 Preliminary DSP Builder Reference Manual

Logical Bit Operator Block

Logical Bit Operator Block

The Logical Bit Operator block performs logical operation on single-bit inputs. You can specify a variable number of inputs. If the integer is positive, it is interpreted as a boolean 1, otherwise it is interpreted as 0. The number of inputs is variable.

Table 6–16 shows the Logical Bit Operator block parameters.

Figure 6–3 shows an example using the Logical Bit Operator block.

Figure 6–3. Logical Bit Operator Block Example

Table 6–16. Logical Bit Operator Block Parameters

Name Value Description

Logical Operator AND, OR, XOR, NAND, NOR, or NOT Choose which operator you wish to use.

Number of Inputs 1–16 Specify the number of inputs. This parameter defaults to 1 if the NOT logical operator is selected.

Page 130: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–12 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

Table 6–17 shows the Logical Bit Operator block I/O formats.

Logical Bus Operator Block

The Logical Bus Operator block performs logical operations on a bus such as AND, OR, XOR, and invert. You can perform masking by entering a mask value in decimal notation, or a shift (or rotate) operation by entering a number of bits. Note that the shifting operation is a logical shift and not a arithmetic shift. that is, the shifting operation does not preserve the input data sign.

Table 6–18 shows the Logical Bus Operator block parameters.

Table 6–17. Logical Bit Operator Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[1]

…Ii[1]

….In[1]

I1: in STD_LOGIC…Ii: in STD_LOGIC….In: in STD_LOGIC

Explicit

O O1[1] O1: out STD_LOGIC Explicit

Notes to Table 6–17:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 6–18. Logical Bus Operator Block Parameters (Part 1 of 2)

Name Value Description

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.)

Logic Operation AND, OR, XOR, Invert, Shift Left, Shift Right, Rotate Left, Rotate Right

Choose the logical operation to perform.

Page 131: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–13January 2006 Preliminary DSP Builder Reference Manual

Logical Bus Operator Block

Table 6–19 shows the Logical Bus Operator block I/O formats.

Figure 6–4 shows an example using the Logical Bus Operator block.

Figure 6–4. Logical Bus Operator Block Example

Mask Value Integer Specify the mask value for an AND, OR, or XOR operation as an unsigned integer representing the required mask which must have the same number of bits as the input.

Number of Bits to Shift

User Defined Specify how many bits you want to shift when a shift or rotate operation has been chosen.

Table 6–18. Logical Bus Operator Block Parameters (Part 2 of 2)

Name Value Description

Table 6–19. Logical Bus Operator Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

O O1[L1].[R1] O1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

Notes to Table 6–19: (1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 132: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–14 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

LUT Block The LUT (Look-Up Table) block stores data as 2 (address width) words of data in a look-up table. The values of the words are specified in the data vector field as a MATLAB array.

Depending on the look-up table size, the synthesis tool may use logic cells or embedded array blocks (EABs)/embedded system blocks (ESBs)/TriMatrix™ memory. You should use a manual synthesis and compilation flow (see Manual Synthesis & Compilation in the DSP Builder Tutorial chapter in the DSP Builder User Guide) if you want to control the memory implementation.

1 If you want to use a Hexadecimal File (.hex) to store data, use the ROM EAB block not the LUT block.

Table 6–20 shows the LUT block parameters.

Table 6–20. LUT Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus number format that you want to use for the counter.

Output [number of bits].[]

1–51 Specify the number of data bits stored on the left side of the binary point including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Output [].[number of bits]

0–51 Specify the number of data bits stored on the right side of the binary point. (You can optionally enter the number as a MATLAB variable.)

LUT Address Width 2–16 Choose the address width.

MATLAB Array User Defined This field must be a one-dimensional MATLAB array with a length smaller than 2 to the power of the address width. (You can optionally specify the array using a MATLAB variable.)

Use LPM On or Off If you turn on this option, SignalCompiler implements the look-up table using the lpm_rom library of parameterized modules (LPM) function. If you turn off this option, the look-up table is implemented using Case conditions.Altera recommends that you turn on the Use LPM option for large look-up tables, for example, greater than 8 bits.

Register Address On of Off When register address is turned on, the input address bus is generated. If you are targeting Stratix® II, Stratix, Stratix GX, or Cyclone™ devices and using the Use LPM option, you must turn on the register address option.

Register Data On or Off Turn on this option if you would like to register the output result.

Clock Enable On or Off Turn on this option if you want to use the clken port.

Page 133: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–15January 2006 Preliminary DSP Builder Reference Manual

n-to-1 Multiplexer Block

Table 6–21 shows the LUT block I/O formats.

n-to-1 Multiplexer Block

The n-to-1 Multiplexer block is a n-to-1 full binary bus multiplexer with one select control. The output width of the multiplexer is equal to the maximum width of the input data lines. The block works on any data type and sign extends the inputs if there is a bit width mismatch.

Table 6–22 shows the n-to-1 Multiplexer block parameters.

Table 6–21. LUT Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[0]

I2[1]

I1: in STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0)I2: in STD_LOGIC

Explicit

O O1[LPO].[RPO] O1: out STD_LOGIC_VECTOR({LPO + LPO - 1} DOWNTO 0)

Notes to Table 6–21:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 6–22. n-to-1 Multiplexer Block Parameters

Name Value Description

Number of Input Data Lines

An integer greater than 1 Specify how many inputs you want the multiplexer to have.

One Hot Select Bus On or Off Turn on this option if you want to use one-hot selection for the bus select signal instead of full binary.

Pipeline 0–6 Choose the number of levels of pipeline

Use Control Inputs On or Off Turn on this option if you would like to use additional control inputs (clock enable and reset). This option is only available when Pipeline level is greater than zero.

Page 134: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–16 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

Table 6–23 shows the n-to-1 Multiplexer block I/O formats.

Figure 6–5 shows an example using the n-to-1 Multiplexer block.

Figure 6–5. n-to-1 Multiplexer Block Example

Table 6–23. n-to-1 Multiplexer Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[LS].[0] (select input)I2[L2].[R2]….

Ii[Li].[Ri]

…In[Ln].[Rn]In+1[1]In+2[1](n = number of inputs)

I1: in STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L2 + R2 - 1} DOWNTO 0)…Ii: in STD_LOGIC_VECTOR({Li + Ri - 1} DOWNTO 0)….In: in STD_LOGIC_VECTOR({Ln + Rn - 1} DOWNTO 0) In+1: STD_LOGICIn+2: STD_LOGIC

Implicit

O O1[max(Li)].[max(Ri)]

with (0 < I < i + 1)O1: out STD_LOGIC_VECTOR({max(Li)) + max(Ri) - 1} DOWNTO 0) Implicit

Notes to Table 6–23:(1) For signed integers and signed binary fractional numbers, the MSB is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 135: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–17January 2006 Preliminary DSP Builder Reference Manual

NOT Block

NOT Block The NOT block is a single-bit inverter. Table 6–24 shows the NOT block parameter.

Table 6–25 shows the NOT block I/O formats.

One-to-n Demux Block

The one-to-n Demux block is a demultiplexer which uses full encoded binary values. The sel input is an unsigned bus.

1 This block is equivalent to the 1-to-n Demux which is now deprecated.

The one-to-n Demux block has the inputs and outputs shown in Table 6–9.

Table 6–24. NOT Block Parameters

Name Value Description

Logical Operator NOT This option is always set to NOT.

Table 6–25. NOT Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[ 1 ] . [ 0 ] I1: in STD_LOGIC Explicit

O O1[ 1 ] . [ 0 ] O1: out STD_LOGIC Explicit

Notes to Table 6–25:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 6–26. one-to-n Demux Block Inputs & Outputs

Signal Direction Description

d Input Data input port.

sel Input Select control port.

ena Input Optional enable control port.

rst Input Optional reset control port.

0–n Output Output ports.

Page 136: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–18 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

Table 6–27 describes the parameters for the one-to-n Demux block.

Table 6–28 shows the one-to-n Demux block I/O formats.

Single Pulse Block

The Single Pulse block generates a single pulse output signal. The output signal is a single bit that takes only the values 1 or 0.

The Single Pulse block has the inputs and outputs shown in Table 6–9.

Table 6–27. one-to-n Demux Block Parameters

Name Value Description

Number of Output Data Lines

An integer greater than 1 Specify how many outputs you want the demultiplexer to have.

Use Control Inputs On or Off Turn on this option if you want to use additional control inputs (clock enable and reset).

Table 6–28. one-to-n Demux Block I/O Formats Note (2)

I/O Simulink (3), (4) VHDL Type (5)

I I1[L].[R]

I2[L].[R]

I3[1]

I4[1]

I1: in STD_LOGIC_VECTOR({L + R1 - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L - 1} DOWNTO 0)I3: in STD_LOGICI4: in STD_LOGIC

Implicit

O O1[L].[R]

...On[L].[R] (1)

O1: out STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)...On: out STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0)

Implicit

Notes to Table 6–28:(1) Where I is the number of outputs to the demultiplexer.(2) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(3) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(4) I1[L].[R] is an input port. O1[L].[R] is an output port.(5) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 6–29. Single Pulse Block Inputs & Outputs (Part 1 of 2)

Signal Direction Description

trig Input Optional trigger port.

Page 137: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 6–19January 2006 Preliminary DSP Builder Reference Manual

Single Pulse Block

The signal generation type could be a step (0 to 1), a step (1 to 0), or an impulse, as shown in Figure 6–6.

Figure 6–6. Single Pulse Output Signal Types

Table 6–30 shows the Single Pulse block parameters.

reset Input Optional reset port.

<unnamed> output Output port.

Table 6–29. Single Pulse Block Inputs & Outputs (Part 2 of 2)

Signal Direction Description

Table 6–30. Single Pulse Block Parameters

Name Value Description

Signal Generation Type Step (0 to 1), Step (1 to 0), or Impulse

Choose the type of single pulse.

Use Control Inputs On or Off Turn this option on if you would like to use additional control inputs:

trig: trigger the signal generation when equal to one.reset: reset the output.

Step Delay Integer Specify the number of sampling periods which occur before the step transition. This parameter is valid when Signal Generation Type is set to Step (0 to 1) or Step (1 to 0).

Page 138: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

6–20 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Gate & Control Library

Table 6–31 shows the Single Pulse block I/O formats.

Impulse Width Integer Specify the number of sampling periods for which the output signal is transitional from 0 to 1. This parameter is valid when Signal Generation Type is set to Impulse.

Impulse Delay Integer Specify the number of sampling periods for which the output signal is high. This parameter is only valid when the Signal Generation Type is set to Impulse.

Sample Time Integer Specify the sample time period in seconds.

Table 6–30. Single Pulse Block Parameters

Name Value Description

Table 6–31. Single Pulse Block I/O Formats

I/O Simulink (1) VHDL Type

I I1[1]

I2[1]

I1: in STD_LOGICI2: in STD_LOGIC

Optional triggerOptional reset

O O1[1] O1: out STD_LOGIC —

Notes to Table 6–31:(1) I1[1] is an input port. O1[1] is an output port.

Page 139: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 7–1January 2006 Preliminary DSP Builder Reference Manual

7. Rate Change Library

The Rate Change library contains the following blocks that allow you to control the clock assignment to registered DSP Builder blocks, such as Delay or Increment Decrement blocks:

Block Page

ClockAltr Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–2Multi-Rate DFF Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–2PLL Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3Tsamp Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–5

To maintain cycle accuracy between Simulink and the VHDL domain, make the following settings in the Solver page (Figure 7–1) of the Configuration Parameters dialog box:

● Choose Fixed-step from the Type list under Solver options.● Choose discrete (no continuous state) under Solver options.● Choose Single Tasking from the Mode list.

Figure 7–1. Set the Simulation Parameters

Page 140: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

7–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Rate Change Library

ClockAltr Block Use the ClockAltr block to set additional hardware clock domains.

To create new clock domains when the source clock is set to Input Pin:

■ If the clock divider ratio is equal to 1, the ClockAltr block creates one additional clock domain. The Simulink variable name is the same as the block name.

■ If the clock divider ratio is greater than 1, the ClockAltr block creates two additional clock domains. The second Simulink variable name is <block name>_<div> where div is the selected clock divider ratio.

The input clock period must be specified as a positive value in seconds.

When the source clock is set to Pll output clock<N>, ClockAltr creates one additional clock domain if the clock divider ratio is greater than 1. The Simulink variable name is <block name> _<div>.

Table 7–1 lists the parameters for the ClockAltr block:

Multi-Rate DFF Block

DSP Builder uses the Multi-Rate DFF block to synchronize data path intersections involving multiple rates.

The Multi-Rate DFF block has the inputs and outputs shown in Table 7–2.

Table 7–1. ClockAltr Block Parameters

Name Value Description

Source Input Pin, PLL output ClockN (where N = 0–5)

Choose the clock source: directly from a pin or from a PLL output.

Input Clock Period Value (second)

Double Specify the clock period value in seconds. This option is only available when the Input Pin is chosen as the Source.

Addition Clock divider 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1028, 2048

Choose the clock divider ratio value.

Table 7–2. Multi-Rate DFF Block Inputs & Outputs

Signal Direction Description

<unnamed> Input Input data port.

<unnamed> Output Output data port.

Page 141: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 7–3January 2006 Preliminary DSP Builder Reference Manual

PLL Block

Table 7–3 shows the Multi-Rate DFF block parameters.

Table 7–4 shows the Multi-Rate DFF block I/O formats.

PLL Block DSP Builder uses the PLL block to synthesize a clock signal that is based on a reference clock. Phase-locked loops (PLL) have become an important building block of most high-speed digital systems today. Their use ranges from improving timing as zero delay lines to full-system clock synthesis. Cyclone™ II, Cyclone, Stratix® II, Stratix, and Stratix GX device families offer the most advanced on-chip PLL features, which were previously offered only by the most complex discrete devices.

Each PLL has multiple outputs that can source any of the 40 system clocks in the devices to give you complete control over your clocking needs. The PLLs offer full frequency synthesis capability (the ability to multiply up or divide down the clock frequency) and phase shifting for optimizing I/O timing. Additionally, the PLLs have high-end features such as programmable bandwidth, spread spectrum, and clock switchover.

Table 7–3. Multi-Rate DFF Block Parameters

Name Value Description

Clock Source PLL CLOCKN (where N = 0–5), or INHERITED SAMPLE TIME

Choose the PLL output clock source for the clock pin of the Multi-Rate DFF block. When the design does not contain PLLs, DSP Builder connects the multi-rate DFF block clock pin to the main single clock.

Table 7–4. Multi-Rate DFF Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L].[R] I1: in STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0) Implicit

O O1[L].[R] O1: out STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0) Implicit

Notes to Table 7–4:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 142: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

7–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Rate Change Library

The PLL block generates internal clocks that operate at frequencies that are multiples of the frequency of the system clock. Cyclone II, Cyclone, Stratix II, Stratix, and Stratix GX PLLs can simultaneously multiply and divide the reference clock. The PLL block checks the validity of the parameters.

When you add the PLL block to your Simulink design, DSP Builder creates global MATLAB variables in the base MATLAB workspace.

These variables have the format:

pll_output_clockN = Period of PLL output clock

where the period value of each output clock is calculated from the input clock frequency by applying a specified multiplication or division factor.

For example:

pll_output_clock0 = 6.666e-009pll_output_clock1 = 4.9995e-007

You can use these global variables to specify the sampling period of DSP Builder blocks, such as the Constant or Increment Decrement blocks. When you change the PLL parameters, these global variables and the sampling period of all blocks (including any blocks that are set to inherit their sampling period) using these variables, are updated dynamically.

The PLL block supports up to two internal clocks when you are using Cyclone II, or Cyclone and up to six internal clocks when you are using Stratix II, Stratix, or Stratix GX device families.

f For more information on the built-in PLLs, refer to the device handbook for the device family you are targeting.

1 When you add the PLL block to your design, SignalCompiler has an additional option, PLL Output Clocks, on the Main Clock tab under Project Setting Options. You can use this option to specify whether to keep the clock internal or whether to output it to the pins.

The following restrictions apply when you are using a PLL block:

■ The design must contain a single PLL instance at the top level■ Each output clock of the PLL has a zero degree phase shift and 50%

duty cycle■ All DSP Builder block Simulink sample times must equal one of the

PLL’s output clock periods

Page 143: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 7–5January 2006 Preliminary DSP Builder Reference Manual

Tsamp Block

Table 7–5 shows the PLL block parameters.

Tsamp Block DSP Builder uses the Tsamp block to specify the sample time period of the internal data path source.

The Tsamp block has the inputs and outputs shown in Table 7–6.

Table 7–7 shows the Tsamp block parameters.

Table 7–8 shows the Tsamp block I/O formats.

Table 7–5. PLL Block Parameters

Name Value Description

Input Clock Frequency (1) Specify the Input reference clock.

Units Mhz, ns, ps Choose MegaHertz, nano-seconds or picoseconds.

Number of Output Clocks 1–6 Choose the number of PLL clock outputs.

Clock Frequency Multiplication Factor (1) Multiply the reference clock by this value.

Clock Frequency Division Factor (1) Divide the reference clock by this value.

Note to Table 7–5:(1) See the device documentation for the device family you are targeting.

Table 7–6. Tsamp Block Inputs & Outputs

Signal Direction Description

<unnamed> Input Input data port.

<unnamed> Output Output data port.

Table 7–7. Tsamp Block Parameters

Name Value Description

Sample Time Any Specify the sample time period in seconds.

Table 7–8. Tsamp Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L].[R] I1: in STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0) Implicit

Page 144: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

7–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Rate Change Library

Figure 7–2 shows an example design with the Tsamp block.

Figure 7–2. Tsamp Block Example

This example design is available in the <DSP Builder install path>\ DesignExamples\Demos\Filters\Filters\CicFilter directory.

Figure 7–3 shows the Quartus® II Tsamp block example design in the Quartus II RTL viewer.

Figure 7–3. Representation of the Tsamp Block Example in Quartus II RTL Viewer

O O1[L].[R] O1: out STD_LOGIC_VECTOR({L + R - 1} DOWNTO 0) Implicit

Notes to Table 7–8:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 7–8. Tsamp Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Page 145: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 8–1January 2006 Preliminary DSP Builder Reference Manual

8. SOPC Builder LinksLibrary

You can use the blocks in the SOPC Builder Links library to build a custom logic block that works with the SOPC Builder and optionally Nios® II embedded processor designs.

DSP Builder provides the following custom logic blocks:

Blocks Page

Avalon Master Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–4Avalon Slave Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–6Avalon Read FIFO Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–9Avalon Write FIFO Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–10Avalon Port Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–12Custom Instruction Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–13

These blocks support the following features:

■ Configurable master and slave blocks which contain the ports required to connect peripherals that use the Avalon™ bus

■ Wrapped versions of the Avalon slave which implement an Avalon Read FIFO and Avalon Write FIFO

■ Individual ports for connections to the Avalon bus■ Custom instructions that extend the function of the Nios II arithmetic

logic unit (ALU) and instruction set

Avalon Blocks The Avalon Blocks automate the process of specifying slave ports that are compatible with the Avalon bus. After you build a model of your DSP Builder peripheral, you can add blocks to control the peripheral’s inputs and outputs.

When you convert your model to VHDL, SignalCompiler creates a text file, class.ptf that describes:

■ Parameters that define the peripheral’s structure and/or functionality

■ The peripheral’s master or slave role■ The peripheral’s ports (such as read enable, read data, write enable,

write data)■ The arbitration mechanism for each slave port that can be accessed

by multiple master ports

Page 146: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

8–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

SOPC Builder Links Library

f For more information on the Avalon bus and PTF files, refer to the Avalon Bus Specification Reference Manual.

After you synthesize your model and compile it in the Quartus® II software, you can add it to your Nios II system using the SOPC Builder. Your peripheral appears in the SOPC Builder peripherals listing. Figure 8–1 shows the SOPC Builder with a Nios II CPU, a DSP Builder created peripheral named topach_0, and a DMA peripheral that connects to topach_0.

Figure 8–1. SOPC Builder with DSP Builder Peripheral

1 For the peripheral to appear in the SOPC Builder, the working directory for your SOPC Builder project must be the same as your DSP Builder working directory or you can move the class.ptf and the VHDL files to the SOPC Builder working directory.

f Refer to the Nios II Hardware Development Tutorial for information on using the SOPC Builder to create Nios II designs.

Page 147: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 8–3January 2006 Preliminary DSP Builder Reference Manual

Avalon Blocks

Figure 8–2 shows the design flow using DSP Builder and SOPC Builder.

Figure 8–2. DSP Builder & SOPC Builder Design Flow

Figure 8–3 shows an example model using Avalon blocks.

Figure 8–3. Avalon Blocks Example

Page 148: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

8–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

SOPC Builder Links Library

Avalon Master Block

The Avalon Master block supports the following Avalon signals:

■ Clock■ Wait Request■ Address

The following additional Avalon signals can be enabled by setting Avalon Master block parameters:

■ Read (when Read or Read/Write access type is chosen)■ Read Data (when Read or Read/Write access type is chosen)■ Write (when Write or Read/Write access type is chosen)■ Write Data (when Write or Read/Write access type is chosen)■ End Of Packet (when Allow Flow Control is turned on)■ Read Data Valid (when Allow Pipeline Transfers is turned on)■ Flush (when Allow Pipeline Transfers is turned on)■ Burst Count (when Allow Burst Transfers is turned on)■ Interrupt Request (when Receive IRQ is turned on)■ IRQ Number (when Receive IRQ is turned on and IRQ mode is set to

Prioritized)

Table 8–4 shows the Avalon Master block parameters.

Table 8–1. Avalon Master Block Parameters (Part 1 of 2)

Name Value Description

Clock Name String Specify the name of the clock signal.

Address Width 1–32 Specify the number of address bits.

Access Type Read, Write, Read/Write Choose the access type for the bus.

Data Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) Read and write buses must have the same number of bits.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Allow Flow Control On or Off Turn on this option to enable flow control. Flow control allows a slave port to regulate incoming transfers from a master port, so that a transfer only begins when the slave port indicates that it has valid data or is ready to receive data.

Page 149: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 8–5January 2006 Preliminary DSP Builder Reference Manual

Avalon Blocks

Figure 8–4 shows an Avalon Master block with all signals enabled.

Figure 8–4. Avalon Master Block with All Signals Enabled

Allow Pipeline Transfers On or Off Turn on this option to allow pipeline transfers. Pipeline transfers increase the bandwidth for synchronous slave peripherals that require several cycles to return data for the first access, but can return data every cycle thereafter. This option is only available when the access type is Read or Read/Write.

Allow Burst Transfers On or Off Turn on this option to allow burst transfers. A burst executes multiple transfers as a unit, and maximize the throughput for slave ports that will achieve the greatest efficiency when handling multiple units of data from one master port at a time.

Maximum Burst Size 2–32 Specify the maximum width of a burst transfer. This option is only available when Allow Burst Transfers is turned on.

Receive IRQ On or Off Turn on this option to enable interrupt requests from the slave port.

IRQ Mode Prioritized, Individual Signals Choose the interrupt request mode. This option is only available when Receive IRQ is turned on.

Table 8–1. Avalon Master Block Parameters (Part 2 of 2)

Name Value Description

Page 150: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

8–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

SOPC Builder Links Library

Avalon Slave Block

The Avalon Slave block supports the following Avalon signals:

■ Clock■ Address

The following additional Avalon signals can be enabled by setting Avalon Slave block parameters:

■ Write (when Write or Read/Write access type is chosen)■ Write Data (when Write or Read/Write access type is chosen)■ Read (when Read or Read/Write access type is chosen)■ Read Data (when Read or Read/Write access type is chosen)■ End Of Packet (when Allow Flow Control is turned on)■ Wait Request (when Variable wait-state format is chosen)■ Data Available (when Read or Read/Write access is chosen and

Allow Flow Control is turned on)■ Byte Enable (when Allow Byte Enable is turned on)■ Ready For Data (when Write or Read/Write access is chosen and

Allow Flow Control is turned on)■ Read Data Valid (when Allow Pipeline Transfers is turned on)■ Begin Burst Transfer (when Allow Burst Transfers is turned on)■ Burst Count (when Allow Burst Transfers is turned on)■ Interrupt Request (when Output IRQ is turned on)■ Begin Transfer (when Receive Begin Transfer is turned on)

Table 8–2 shows the Avalon Slave block parameters.

Table 8–2. Avalon Slave Block Parameters (Part 1 of 3)

Name Value Description

Clock Name String Specify the name of the clock signal.

Address Width 1–32 Specify the number of address bits.

Address Alignment Native, Dynamic Choose whether to use native address alignment or dynamic bus sizing.

Access Type Read, Write, Read/Write Choose the access type for the bus.

Data Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) Read and write buses must have the same number of bits.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Page 151: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 8–7January 2006 Preliminary DSP Builder Reference Manual

Avalon Blocks

Allow Byte Enable On or Off Turn on this option if you want to use the Byte Enable signal. This option is only available when the access type is set to Write or Read/Write.

Allow Flow Control On or Off Turn on this option to enable flow control. Flow control allows a slave port to regulate incoming transfers from a master port, so that a transfer only begins when the slave port indicates that it has valid data or is ready to receive data.

Allow Pipeline Transfers On or Off Turn on this option to allow pipeline transfers. Pipeline transfers increase the bandwidth for synchronous slave peripherals that require several cycles to return data for the first access, but can return data every cycle thereafter. This option is only available when the access type is set to Read or Read/Write.

Wait-State Format Fixed, Variable Choose the required wait-state format.

Read Wait State Cycles 0–255 Specify the number of read wait-state cycles. This option is only available when the wait-state format is set to Fixed.

Write Wait State Cycles 0–255 Specify the number of write wait state cycles. This option is only available when the wait-state format is set to Fixed.

Read Latency Format Fixed, Variable Choose the required read latency format. This option is only available when Allow Pipeline Transfers is turned on.

Read Latency Cycles 0–8 Specify the pipeline read latency. Latency determines the length of the data phase, independently of the address phase. For example, a pipelined slave port (with no wait-states) can sustain one transfer per cycle, even though it may require several cycles of latency to return the first unit of data. This option is only available when Allow Pipeline Transfers is turned on and Fixed read latency format is chosen.

Allow Burst Transfers On or Off Turn on this option to allow burst transfers. A burst executes multiple transfers as a unit, and maximize the throughput for slave ports that will achieve the greatest efficiency when handling multiple units of data from one master port at a time.

Maximum Burst Size 2–32 Specify the maximum width of a burst transfer. This option is only available when Allow Burst Transfer is turned on.

Table 8–2. Avalon Slave Block Parameters (Part 2 of 3)

Name Value Description

Page 152: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

8–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

SOPC Builder Links Library

Figure 8–5 shows an Avalon Slave block with all signals enabled.

Figure 8–5. Avalon Slave Block with All Signals Enabled

Output IRQ On or Off Turn on this option to enable interrupt requests from the slave port.

Receive BeginTransfer On or Off Turn on this option to receive begintransfer signals.

Table 8–2. Avalon Slave Block Parameters (Part 3 of 3)

Name Value Description

Page 153: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 8–9January 2006 Preliminary DSP Builder Reference Manual

Avalon Blocks

Avalon Read FIFO Block

The Avalon Read FIFO block is essentially an Avalon Slave block configured to implement a Read FIFO.

f Refer to “Avalon Slave Block” on page 8–6 for information about the Avalon Slave block.

Figure 8–6 shows an Avalon Read FIFO block.

Figure 8–6. Avalon Read FIFO

Figure 8–7 shows the content of the Avalon Read FIFO block.

Figure 8–7. Avalon Read FIFO Content

1 You can customize the functionality of an Avalon Read FIFO block using the Mask Editor.

Page 154: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

8–10 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

SOPC Builder Links Library

Table 8–3 shows the Avalon Read FIFO block parameters.

Avalon Write FIFO Block

The Avalon Write FIFO block is essentially an Avalon Slave block configured to implement a Write FIFO.

f Refer to “Avalon Slave Block” on page 8–6 for information about the Avalon Slave block.

Figure 8–8 shows an Avalon Write FIFO block.

Figure 8–8. Avalon Write FIFO

Table 8–3. Avalon Read FIFO Block Parameters

Name Value Description

Data Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

FIFO Depth > 2 Specify the depth of the FIFO.

Page 155: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 8–11January 2006 Preliminary DSP Builder Reference Manual

Avalon Write FIFO Block

Figure 8–9 shows the content of the Avalon Write FIFO block.

Figure 8–9. Avalon Write FIFO Content

1 You can customize the functionality of an Avalon Write FIFO block using the Mask Editor.

Table 8–4 shows the Avalon Write FIFO block parameters.

Table 8–4. Avalon Write FIFO Block Parameters

Name Value Description

Data Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format of the bus.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

[].[number of bits] 0–51 Specify the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

FIFO Depth > 2 Specify the depth of the FIFO.

Page 156: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

8–12 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

SOPC Builder Links Library

Avalon Port Blocks

The Avalon Port blocks are supported for backwards compatibility. In general, it is more efficient to use an Avalon block although it is often possible to construct the same interface using individual Avalon port blocks. However, only a single slave interface can be constructed using Avalon Ports.

Figure 8–10 shows the blocks in the Avalon Ports library.

Figure 8–10. Avalon Ports Library

Table 8–5 shows the Avalon Address Port block parameters.

The CS (chip select), read, write, Dval (data available), Eop (end of packet), IRQ and Rdt (ready for data) ports have Single Bit bus type and no other configurable parameters.

Table 8–5. Avalon Address Port Block Parameters

Name Value Description

Bus Type Unsigned Integer The Address bus always has Unsigned Integer type.

[number of bits].[] 1–51 Specify the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

Address Alignment Native, Dynamic Choose whether to use native address alignment or dynamic bus sizing.

Page 157: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 8–13January 2006 Preliminary DSP Builder Reference Manual

Custom Instruction Blocks

Table 8–6 shows the parameters available for the Avalon DataIn and DataOut port blocks.

f Refer to “Avalon Blocks” on page 8–1 for general information about using Avalon blocks and Avalon ports.

Custom Instruction Blocks

You use the Custom Instruction blocks to build custom instructions for Nios II systems. The Custom Instruction blocks automate the process of specifying ports that are compatible with SOPC Builder: the blocks correspond to the custom instruction ports used by SOPC Builder. After you build a model of your custom instruction, add blocks from the Custom Instruction library to control the instruction’s inputs and outputs.

1 DSP Builder does not support the Nios II custom instruction prefix port. All other ports are supported.

Figure 8–11 shows the blocks in the Custom Instruction library.

Figure 8–11. Custom Instruction Library

Table 8–6. Avalon DataIn and DataOut Port Block Parameters

Name Value Description

Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the number format of the bus.

[number of bits].[] 1–51 Indicate the number of bits to the left of the binary point, including the sign bit. (You can optionally enter the number as a MATLAB variable.) This parameter does not apply to single-bit buses.

[].[number of bits] 0–51 Indicate the number of bits to the right of the binary point. (You can optionally enter the number as a MATLAB variable.) This parameter only applies to signed fractional buses.

Number of Wait States 0–255 Indicate the number of wait state cycles.

Page 158: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

8–14 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

SOPC Builder Links Library

1 For non-combinatorial custom instructions, you must include the start and clk_en blocks as inputs at the top level

With custom instructions, system designers can add custom-defined functionality to the Nios II embedded processor’s arithmetic logic unit (ALU) and instruction set. Custom instructions consist of two essential elements:

■ Custom logic block—Hardware that performs the operation. The Nios II embedded processor can include up to five user-defined custom logic blocks. The blocks become part of the Nios II microprocessor’s ALU.

■ Software macro—Allows the system designer to access the custom logic through software code.

f For more information on using Nios II embedded processor custom instructions, refer to AN 188: Custom Instructions for the Nios Embedded Processor.

Figure 8–12 shows an example model using blocks from the Avalon Ports library.

Figure 8–12. Custom Instruction Block Example

When you generate VHDL of your model that uses Custom Instruction blocks, SignalCompiler creates a wrapper file for use with SOPC Builder. See Figure 8–13 on page 8–15 for an example wrapper file.

Page 159: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 8–15January 2006 Preliminary DSP Builder Reference Manual

Custom Instruction Blocks

Figure 8–13. Example Wrapper File for Use with SOPC Builder

You can specify that the Nios II embedded processor use this wrapper file as a custom instruction. Refer to AN 188: Custom Instructions for the Nios Embedded Processor for instructions on how to specify the file as a custom instruction.

Figure 8–14 on page 8–16 shows the a custom instruction model in the Custom Instructions tab of the Nios II wizard.

1 When you import the custom instruction in SOPC Builder, you must specify the number of clock cycles that your design uses.

Page 160: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

8–16 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

SOPC Builder Links Library

Figure 8–14. Importing a Nios II Custom Instruction

Page 161: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 9–1January 2006 Preliminary DSP Builder Reference Manual

9. State Machine FunctionsLibrary

The State Machine Functions library contains a block which supports using a state transition table to build a Moore style state machine.

State Machine Table Block

The State Machine Table block represents a one-hot Moore style state machine where the output is equal to the current state (see Figure 9–1).

Figure 9–1. Moore Style State Machine

The default State Machine Table symbol is shown in Figure 9–2.

Figure 9–2. Default State Machine Table Block

The default state machine has five inputs and five states. Each state is represented by an output. You must connect each output to a DSP Builder Output block (from the IO/Bus library).

While the state machine is operating, an output is assigned a logic level 1 if its respective state is equal to the current state. All other outputs are assigned a logic level 0. The inputs and outputs are represented as signed integers in Simulink. In VHDL, the input and output are represented as standard logic vectors.

Page 162: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

9–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

State Machine Functions Library

The State Machine Builder dialog box allows you to specify the inputs, states, and conditional statements which control the transitions between the states.

Table 9–1 shows the controls available in the State Machine Builder dialog box.

Table 9–2 shows the conditional operators that can be used to define a conditional expression.

Table 9–1. State Transition Table Block Controls

Name Value Description

Add — Adds the specified input name, state name or conditional statement to the table.

Change — Allows you to change the selected state name or conditional statement. This option cannot be used in the Inputs tab. You cannot change an input name or state name that is being used in a conditional statement.

Delete — Deletes the selected input name, state name or conditional statement. You cannot delete an input or state that is being used in a conditional statement.

Reset State state name This option is available in the States tab and allows you to choose the reset state from a list of specified state names. You can change the reset state but you cannot delete or change the name of the reset state.

Move UpMove Down

— These buttons are available in the Conditional Statements tab and allow you to change the transition priority when there is more than one condition leaving a state by moving the conditional statement up or down the list.

Analyze — This button is available in the Design Rule Check tab and can be used to validate your state machine table.

Table 9–2. Comparison Operators Supported in Conditional Expressions

Operator Description Priority Example

- (unary) Negative 1 -1

(...) Brackets 1 (1)

= Numeric equality 2 in1=5

!= Not equal to 2 in1!=5

> Greater than 2 in1>in2

>= Greater than or equal to 2 in1>=in2

< Less than 2 in1<in2

<= Less than or equal to 2 in1<=in2

& AND 2 (in1=in2)&(in3>=4)

| OR 2 (in1=in2)|(in1>in2)

Page 163: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 9–3January 2006 Preliminary DSP Builder Reference Manual

State Machine Table Block

A conditional statement consists of a current state, a condition that causes a transition to take place, and the next state to which the state machine transitions. The current state and next state values must be state names defined in the States tab and can be selected from drop down list in the dialog box.

1 To indicate in a conditional statement that a state machine always transitions from the current state to the next state, specify the conditional expression to be one.

Figure 9–3 shows the dialog box used to specify a simple state transition table using the default inputs and states.

Figure 9–3. Simple State Transition Table

f Refer to “Using the State Machine Library” in the DSP Builder User Guide for an example of how to use the State Machine Table block.

Design Rule Checks

The Analyze button in the Design Rule Checks tab of the State Machine Builder dialog box performs the following checks:

■ At least two states must be defined■ At least one conditional statement must be defined■ All input port names must be unique■ All state names must be unique

Page 164: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

9–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

State Machine Functions Library

■ A single reset state must exist■ A reset input port must exist■ All current state and next state values must be valid■ All conditional statements must be syntactically correct

Page 165: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–1January 2006 Preliminary DSP Builder Reference Manual

10. Storage Library

The Storage library contains the following blocks which support a number of storage and associated control functions:

Block Page

Delay Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–1Down Sampling Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–3Dual-Port RAM Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–4FIFO Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–7LFSR Sequence Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–8Memory Delay Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–11Multi Rate FIFO Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–12Parallel to Serial Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–14Pattern Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–15ROM EAB Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–17Serial to Parallel Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–19Shift Taps Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–21Up Sampling Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–23

f Refer to Chapter 6, Gate & Control Library for information about the “LUT Block” which is also available in this library.

Delay Block The Delay block delays the incoming data by the amount specified by the Depth parameter. The block accepts any data type as inputs.

The Delay block has the inputs and outputs shown in Table 10–1.

Table 10–1. Delay Block Inputs & Outputs

Signal Direction Description

<unnamed> Input Input data port.

ena Input Optional clock enable port.

rst Input Optional reset port.

<unnamed> Output Output data port.

Page 166: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Table 10–2 shows the Delay block parameters.

Table 10–3 shows the Delay block I/O formats.

Figure 10–1 on page 10–3 shows an example using the Delay block.

Table 10–2. Delay Block Parameters

Name Value Description

Depth User Defined Specify the delay length of the block.

Use Control Inputs On or Off Turn this option on if you want to use the additional clock enable and reset control inputs.

OR rst with the global reset

On or Off Turn this option on if you want to OR the rst control input with the global reset signal (sclrp).

Clock Phase Selection

User Defined Phase selection. Specify the phase selection with a binary string, where a 1 indicates the phase in which the block is enabled. For example:

1—The delay block is always enabled and captures all data passing through the block (sampled at the rate 1).10—The delay block is enabled every other phase and every other data (sampled at the rate 1) passes through.0100—The delay block is enabled on the second phase out of 4 and only the second data out of 4 (sampled at the rate 1) passes through. In other words, the data on phases 1, 3, and 4 do not pass through the delay block.

Table 10–3. Delay Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[1]

I3[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGICI3: in STD_LOGIC

Implicit

O O1[L1].[R1] O1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit

Notes to Table 10–3:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 167: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–3January 2006 Preliminary DSP Builder Reference Manual

Down Sampling Block

Figure 10–1. Delay Block Example

Down Sampling Block

The Down Sampling block decreases the output sample rate from the input sample rate. The output data is sampled at every mth cycle where m is equal to the down sampling rate.

The input sample rate is normalized to one in Simulink (see Frequency Design Rule in Chapter 3 of the DSP Builder User Guide for a description of how to normalize the frequency).

The Down Sampling block has the inputs and outputs shown in Table 10–4.

Table 10–5 shows the Down Sampling block parameters.

Table 10–4. Down Sampling Block Inputs & Outputs

Signal Direction Description

<unnamed> Input Input data port.

<unnamed> Output Output data port.

Table 10–5. Down Sampling Block Parameters

Name Value Description

Down Sampling Rate Positive integer Specify the down sampling rate.

Page 168: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Table 10–6 shows the Down Sampling block I/O formats.

Figure 10–2 shows an example using the Down Sampling block.

Figure 10–2. Down Sampling Block Example

Dual-Port RAM Block

When you use the Dual-Port RAM block, SignalCompiler maps data to the embedded RAM (embedded array block, EAB; or embedded system block, ESB) in Altera® devices.

The contents of the RAM are pre-initialized to zero. The Dual-Port RAM block accepts any data type as input. All input and output ports are registered.

Table 10–6. Down Sampling Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit

O O1[L1].[R1] O1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit

Notes to Table 10–6:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 169: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–5January 2006 Preliminary DSP Builder Reference Manual

Dual-Port RAM Block

The Dual-Port RAM block has the inputs and outputs shown in Table 10–7.

Table 10–8 shows the Dual-Port RAM block parameters.

Table 10–9 shows the Dual-Port RAM block I/O formats.

Table 10–7. Dual-Port RAM Block Inputs & Outputs

Signal Direction Description

d Input Input data port.

rdad Input Read address bus.

wrad Input Write address bus.

wren Input Write enable.

q Output Output data port.

Table 10–8. Dual-Port RAM Block Parameters

Name Value Description

Address Width 2–20 Specify the address width.

Clock Phase Selection

User Defined Phase selection. Specify the phase selection with a binary string, where a 1 indicates the phase in which the block is enabled. For example:

1—The block is always enabled and captures all data passing through the block (sampled at the rate 1).10—The block is enabled every other phase and every other data (sampled at the rate 1) passes through.0100—The block is enabled on the second phase out of 4 and only the second data out of 4 (sampled at the rate 1) passes through. In other words, the data on phases 1, 3, and 4 do not pass through the delay block.

Ram Block Type AUTO, M512, M4K, M-RAM, or None

Choose the RAM block type.

Table 10–9. Dual-Port RAM Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[L2].[0]

I3[L2].[0]

I4[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGIC_VECTOR({L2 - 1} DOWNTO 0)I3: in STD_LOGIC_VECTOR({L3 - 1} DOWNTO 0)I4: in STD_LOGIC

Explicit

Page 170: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Figure 10–3 shows an example using the Dual-Port RAM block.

Figure 10–3. Dual-Port RAM Block Example

O O1[L1].[R1] O1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

Notes to Table 10–9:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 10–9. Dual-Port RAM Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Page 171: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–7January 2006 Preliminary DSP Builder Reference Manual

Dual-Port RAM Block

FIFO Block The FIFO block implements a parameterized, single-clock FIFO buffer.

The FIFO block has the inputs and outputs shown in Table 10–10.

Table 10–11 shows the FIFO block parameters.

Table 10–10. FIFO Block Inputs & Outputs

Signal Direction Description

d Input Data input to the FIFO buffer.

wrreq Input Write request control. The d[] port is written to the FIFO buffer.

rreq Input Read request control. The oldest data in the FIFO buffer goes to the q[] port.

sclr Input Optional port which resets the FIFO to empty.

q Output Data output from the FIFO buffer.

full Output Indicates that the FIFO buffer is full and disables the wrreq port.

empty Output Indicates that the FIFO buffer is empty and disables the rreq port.

usdw Output Indicates the number of words that are currently in the FIFO buffer.

Table 10–11. FIFO Block Parameters

Name Value Description

Number of Words in the FIFO

User Defined Specify how many words you would like in the FIFO buffer. The default is 64.

Input Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus type format.

Input [number of bits].[] 1–51 Specify the number of bits stored on the left side of the binary point including the sign bit. (You can optionally enter the number as a MATLAB variable.)

Input [].[number of bits] 0–51 Specify the number of bits stored on the right side of the binary point. (You can optionally enter the number as a MATLAB variable.) This option only applies to signed fractional formats.

RAM Block Type AUTO, M512, M4K, M-RAM

Choose the RAM block type.

Add Input Port to reset the FIFO to empty

On or Off When this option is turned on, an sclr input port is added which can be used to reset the FIFO.

Page 172: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Table 10–12 shows the FIFO block I/O formats.

LFSR Sequence Block

The LFSR Sequence block implements a linear feedback shift register, which shifts one bit across L registers. The register output bits are shifted from least significant bit (LSB) to most significant bit (MSB). According to the LFSR polynomial, the register output bits are XORed together.

For example, when choosing an LFSR sequence of length eight, the default polynomial is x8 + x4 + x3 + x2 + 1 with the circuitry shown in Figure 10–4.

Figure 10–4. Default LFSR Sequence Block with Length 8 Circuitry

Table 10–12. FIFO Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[1]

I3[1]

I4[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGICI3: in STD_LOGICI4: in STD_LOGIC

Explicit

O O1[L1].[R1]

O2[1]

O3[1]

O4[L2].[0]

O1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)O2: out STD_LOGICO3: out STD_LOGICO4: out STD_LOGIC_VECTOR({L2 - 1} DOWNTO 0)

Explicit

Notes to Table 10–12:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 173: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–9January 2006 Preliminary DSP Builder Reference Manual

LFSR Sequence Block

In this default structure:

■ The polynomial is a primitive or maximal-length polynomial■ All registers are initialized to one■ The feedback gate type is XOR■ The feedback structure is an external n-input gate or many to one

To modify the LFSR sequence implemented by the block, you change the block’s default parameter values. For instance, changing the feedback structure to an internal 2-input gate or one to many, DSP Builder implements the circuitry shown in Figure 10–5.

Figure 10–5. Internal 2-Input Gate Circuitry

This circuitry changes the sequence from

1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1

to

1 1 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0

The LFSR Sequence block has the inputs and outputs shown in Table 10–13.

Table 10–13. LFR Sequence Block Inputs & Outputs

Signal Direction Description

ena Input Optional clock enable port.

rst Input Optional reset port.

sout Output Serial output port for MSB of the LFSR.

p Output Optional parallel output port for LFSR unsigned value.

Page 174: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–10 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Table 10–14 shows the LFSR Sequence block parameters.

Table 10–15 shows the LFSR Sequence block I/O formats.

Table 10–14. LFSR Sequence Block Parameters

Name Value Description

LFSR Length User Defined Specify the LFSR length as an integer.

Sampling Time User Defined Specify the block sampling period.

Use Control Inputs On or Off When you turn on this option, the optional clock enable and reset input control ports are available.

Default LFSR Setting

On or Off When you turn on this option, the default structure is implemented as shown in Figure 10–4 on page 10–8.When this option is turned off, this option allows you to customize the setting by enabling the Feedback Structure, Feedback Gate Type, Initial Register Values (Hex), and Primitive Polynomial Tap Sequence options.

Use Parallel Output

On or Off When you turn on this option, an additional parallel output signal, p is implemented.

Feedback Structure

Internal two-inputs gate (one-to-many), or External n-inputs gate (many-to-one)

Choose whether you want an internal or external structure.

Feedback Gate Type

XOR or XNOR Choose the type of feedback gate to implement.

Initial Register Values (Hex)

Any Hexadecimal Number

Specify the initial values in the register.

Primitive Polynomial Tap Sequence

User-Defined Array of Polynomial Coefficients

Specify the sequence. The numbers should be in square brackets. For example, [ 0 3 10 ].

Table 10–15. LFSR Sequence Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type

I I1[1].[0]

I2[1].[0]

I1: in STD_LOGICI2: in STD_LOGIC

——

O O1[1].[0]

O2[L].[0]

O1: out STD_LOGICO2: out STD_LOGIC_VECTOR(L-1 DOWNTO 0)

——

Notes to Table 10–15:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.

Page 175: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–11January 2006 Preliminary DSP Builder Reference Manual

LFSR Sequence Block

Memory Delay Block

The Memory Delay block implements a shift register that uses the Altera device’s embedded memory blocks, when possible. You should typically use this block for delays greater than 3.

The Memory Delay block has the inputs and outputs shown in Table 10–16.

Table 10–17 shows the Memory Delay block parameters.

Table 10–18 shows the Memory Delay block I/O formats.

Table 10–16. Memory Delay Block Inputs & Outputs

Signal Direction Description

<unnamed> Input Input data port.

ena Input Optional clock enable port.

<unnamed> Output Output data port.

Table 10–17. Memory Delay Block Parameters

Name Value Description

Use Clock Enable On or Off Turn on this option if you want to use the clock enable input.

RAM Block Type AUTO, M512, M4K, M-RAM Choose the RAM block type.

Delay Value User Defined Specify how much of a delay to implement.

Table 10–18. Memory Delay Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGIC

Implicit

O O1[L1].[R1] O1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit

Notes to Table 10–18:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 176: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–12 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Multi Rate FIFO Block

The Multi Rate FIFO block implements a parameterized, dual-clock FIFO buffer.

The Multi Rate FIFO block has the inputs and outputs shown in Table 10–19.

Table 10–20 shows the Multi Rate FIFO block I/O formats

Table 10–19. Multi Rate FIFO Block Inputs & Outputs

Signal Direction Description

d Input Data input to the FIFO buffer.

wrreq Input Write request control. The d[] port is written to the FIFO buffer.

rdreq Input Read request control. The oldest data in the FIFO buffer goes to the q[] port.

q Output Data output from the FIFO buffer.

wrfull Output Indicates that the FIFO buffer is full and disables the wrreq port.

wrempty Output Indicates that the FIFO buffer is empty and disables the rdreq port.

wrusdw Output Indicates the number of words that are currently in the FIFO buffer with respect to the write side sampling rate.

rdfull Output Indicates that the FIFO buffer is full and disables the wrreq port.

rdempty Output Indicates that the FIFO buffer is empty and disables the rdreq port.

rdusdw Output Indicates the number of words that are currently in the FIFO buffer with respect to the read side sampling rate.

Table 10–20. Multi Rate FIFO Block Parameters (Part 1 of 2)

Name Value Description

Number of Words in the FIFO

Integer Specify the FIFO depth

Input Bus Type Signed Integer, Signed Fractional, or Unsigned Integer

Choose the bus type format.

Input Bus [number of bits].[] 1–51 Specify the number of bits stored on the left side of the binary point. (You can optionally enter the number as a MATLAB variable.)

Write Side Sampling Period (second)

Double Specify the sample time period in seconds of the write side of the FIFO block.

Read Side Sampling Period (second)

Double Specify the sample time period in seconds of the read side of the FIFO block.

Page 177: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–13January 2006 Preliminary DSP Builder Reference Manual

Multi Rate FIFO Block

Table 10–21 shows the Multi Rate FIFO block I/O formats.

Use Outputs usedw[] On or off Turn on this option if you would like to use the additional control outputs: wrusedw and rdusedw.

Ram Block Type AUTO, M512, M4K, or M-RAM

Choose the FPGA RAM type used for the Multi-rate FIFO block.

Table 10–20. Multi Rate FIFO Block Parameters (Part 2 of 2)

Name Value Description

Table 10–21. Multi Rate FIFO Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[1]

I3[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)

I2: in STD_LOGIC

I3: in STD_LOGIC

ExplicitExplicitExplicit

O O1[L1].[R1]

O2[1]

O3[1]

O4[1]

O5[1]

O6[L2].[0]

O7[L2].[0]

O1: out STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)

O2: out STD_LOGIC

O3: out STD_LOGIC

O4: out STD_LOGIC

O5: out STD_LOGIC

O6: out STD_LOGIC_VECTOR({L2 - 1} DOWNTO 0)

O7: out STD_LOGIC_VECTOR({L2 - 1} DOWNTO 0)

ExplicitExplicitExplicitExplicitExplicitExplicit-optionalExplicit-optional

Notes to Table 10–21:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 178: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–14 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Parallel to Serial Block

The Parallel to Serial block implements a parallel (input d) to serial bus conversion (output sd).

The Parallel to Serial block has the inputs and outputs shown in Table 10–22.

Table 10–23 shows the Parallel to Serial block parameters.

Table 10–24 shows the Parallel to Serial block I/O formats.

Table 10–22. Parallel to Serial Block Inputs & Outputs

Signal Direction Description

d Input Parallel input port.

ena Input Clock enable port.

load Input Load port.

sd Output Serial output port.

Table 10–23. Parallel to Serial Block Parameters

Name Value Description

Data Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus type format.

[number of bits].[] 1–51 Specify the number of bits stored on the left side of the binary point. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits stored on the right side of the binary point. (You can optionally enter the number as a MATLAB variable.) This option only applies to signed fractional formats.

Serial Bit Order MSB First, LSB First Choose whether the MSB or LSB should be transmitted first.

Table 10–24. Parallel to Serial Block I/O Formats (Part 1 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[1]

I3[1]

I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGICI3: in STD_LOGIC

Explicit

Page 179: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–15January 2006 Preliminary DSP Builder Reference Manual

Pattern Block

Figure 10–6 shows an example using the Parallel to Serial block.

Figure 10–6. Parallel to Serial Block Example

Pattern Block The Pattern block generates a repeating periodic bit sequence in time.

For example, 01100 yields 0110001100011000110001100011000110001100 in time.

You can change the output data rate for a registered block by feeding the clock enable input with the output of the Pattern block.

O O1[1] O1: out STD_LOGIC Explicit

Notes to Table 10–24:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Table 10–24. Parallel to Serial Block I/O Formats (Part 2 of 2)Note (1)

I/O Simulink (2), (3) VHDL Type (4)

Page 180: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–16 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

The Pattern block has the inputs and outputs shown in Table 10–25.

Table 10–26 shows the Pattern block parameters.

Table 10–27 shows the Pattern block I/O formats.

Table 10–25. Pattern Block Inputs & Outputs

Signal Direction Description

ena Input Optional clock enable port.

rst Input Optional reset port.

<unnamed> Output Output data port.

Table 10–26. Pattern Block Parameters

Name Value Description

Binary Sequence User Defined Specify the sequence that you wish to use.

Use Control Inputs On or Off Turn on this option if you want to use the additional clock enable and reset control inputs.

Sample time Any Specify the required sample time period in seconds (-1 for inherited).

Table 10–27. Pattern Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[1]

I2[1]

I1: in STD_LOGICI2: in STD_LOGIC

Explicit - optionalExplicit - optional

O O1[1] O1: out STD_LOGIC Explicit

Notes to Table 10–27:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 181: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–17January 2006 Preliminary DSP Builder Reference Manual

ROM EAB Block

Figure 10–7 shows an example using the Pattern block.

Figure 10–7. Pattern Block Example

ROM EAB Block The ROM EAB block is used to read out pre-loaded data. The data input must be specified as an Intel-format Hexadecimal (HEX) file. To use embedded array block memory in an Altera device as ROM, use the ROM EAB block to read in a HEX File (.hex) containing the ROM data.

You can use the Quartus® II software to generate a Hex File. Search for “Creating a Memory Initialization File or Hexadecimal (Intel-Format) File” in Quartus II Help for instructions on creating this file. You must save the HEX File in your DSP Builder working directory.

1 The data in a standard HEX file is formatted in multiples of 8 and the output bit width should also be in multiples of 8. The Quartus software does allow you to create non-standard HEX files but pads 1's to the front for negative numbers to make them multiples of 8. Thus, large numbers with less bits may be treated as negative numbers. A warning is issued if a non-standard HEX file is used. If you require a different bit width, you should set the output bit width to the same as that in the HEX file but use an AltBus block to convert to the required bit width.

The ROM EAB block has the inputs and outputs shown in Table 10–28.

Table 10–28. ROM EAB Block Inputs & Outputs

Signal Direction Description

<unnamed> Input Input data port.

<unnamed> Output Output data port.

Page 182: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–18 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Table 10–29 shows the ROM EAB block parameters.

Table 10–30 shows the ROM EAB block I/O formats.

Table 10–29. ROM EAB Block Parameters

Name Value Description

Data Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus type format.

[number of bits].[] 1–51 Specify the number of bits stored on the left side of the binary point including the sign bit. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 1–51 Specify the number of bits stored on the right side of the binary point. (You can optionally enter the number as a MATLAB variable.) This option only applies to signed fractional formats.

Address Width 2–20 Specify the address width.

Clock Phase Selection

User Defined Phase selection. Specify the phase selection with a binary string, where a 1 indicates the phase in which the block is enabled. For example:

1—The block is always enabled and captures all data passing through the block (sampled at the rate 1).10—The block is enabled every other phase and every other data (sampled at the rate 1) passes through.0100—The block is enabled on the second phase out of 4 and only the second data out of 4 (sampled at the rate 1) passes through. In other words, the data on phases 1, 3, and 4 do not pass through the delay block.

Input Hex File User Defined; <filename>.hex

Specify the name of the HEX File to use.

Table 10–30. ROM EAB Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[0] I1: in STD_LOGIC_VECTOR({L1 - 1} DOWNTO 0) Explicit

O O1[LPO].[RPO] O1: out STD_LOGIC_VECTOR({LPO + RPO - 1} DOWNTO 0) Explicit

Notes to Table 10–30:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 183: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–19January 2006 Preliminary DSP Builder Reference Manual

Serial to Parallel Block

Figure 10–8 shows an example using the ROM EAB block which reads a 256×8 ramp waveform HEX file.

Figure 10–8. ROM EAB Block Example

Serial to Parallel Block

The Serial to Parallel block implements a serial (input sd) to parallel bus conversion (output d).

The Serial to Parallel block has the inputs and outputs shown in Table 10–31.

Table 10–32 shows the Serial to Parallel block parameters.

Table 10–31. Serial to Parallel Block Inputs & Outputs

Signal Direction Description

sd Input Serial input port.

ena Input Clock enable port.

rst Input Reset port.

d Output Parallel output port.

Table 10–32. Serial to Parallel Block Parameters

Name Value Description

Data Bus Type Signed Integer, Signed Fractional, Unsigned Integer

Choose the bus type format.

Page 184: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–20 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Table 10–33 shows the Serial to Parallel block I/O formats.

[number of bits].[] 1–51 Specify the number of bits stored on the left side of the binary point including the sign bit. (You can optionally enter the number as a MATLAB variable.)

[].[number of bits] 0–51 Specify the number of bits stored on the right side of the binary point. (You can optionally enter the number as a MATLAB variable.) This option only applies to signed fractional formats.

Serial Bit Order MSB First, LSB First Choose whether the MSB or LSB should be transmitted first.

Table 10–32. Serial to Parallel Block Parameters

Name Value Description

Table 10–33. Serial to Parallel Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[1]

I2[1]

I3[1]

I1: in STD_LOGICI2: in STD_LOGICI3: in STD_LOGIC

Explicit

O O1[L1].[R1] O1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Explicit

Notes to Table 10–33:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 185: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–21January 2006 Preliminary DSP Builder Reference Manual

Shift Taps Block

Figure 10–9 shows an example using the Serial to Parallel block.

Figure 10–9. Serial to Parallel Block Example

Shift Taps Block The Shift Taps block implements a shift register that you can use for filters or convolution.

In the Stratix® II, Stratix, Cyclone™ II, and Cyclone devices, the block implements a RAM-based shift register that is useful for creating very large shift registers efficiently. The block outputs occur at regularly spaced points along the shift register (that is, taps).

In Stratix devices, this block is implemented in the small memory.

The Shift Taps block has the inputs and outputs shown in Table 10–34.

Table 10–34. Shift Taps Block Inputs & Outputs

Signal Direction Description

d Input Data input port.

ena Input Optional clock enable port.

t0–tn Output Output ports for taps 0–n.

sout Output Optional shift out port.

Page 186: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–22 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Table 10–35 shows the Shift Taps block parameters.

Table 10–36 shows the Shift Taps block I/O formats.

Table 10–35. Shift Taps Block Parameters

Name Value Description

Number of Taps User Defined Specifies the number of regularly spaced taps along the shift register.

Distance Between Taps User Defined Specifies the distance between the regularly spaced taps in clock cycles. This number translates to the number of RAM words that will be used.

Use Shift Out On or Off Turn this option on if you want to create an output from the end of the shift register for cascading.

Use Clock Enable On or Off Turn this option on if you want to use an additional clock enable control input.

Ram Block Type None, Auto, M4k Memory Block, M512 Memory Block

If you are targeting Stratix II, Stratix, or Stratix GX devices, you can choose the type of RAM block. This option is only available when the Distance Between Taps is greater than 2.

Table 10–36. Shift Taps Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1]

I2[1]I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)I2: in STD_LOGIC

ImplicitExplicit

O O1[L1].[R1]….

Oi[L1].[R1] …

On[L1].[R1]

On+1[1]

O1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)….Oi: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)….On: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0)On+1: out STD_LOGIC

Implicit

Explicit

Notes to Table 10–36:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 187: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 10–23January 2006 Preliminary DSP Builder Reference Manual

Up Sampling Block

Figure 10–10 shows an example using the Shift Taps block.

Figure 10–10. Shift Taps Block Example

Up Sampling Block

The Up Sampling block increases the output sample rate from the input sample rate. The output data is sampled every l cycles where l is equal to the up sampling rate.

The Up Sampling block has the inputs and outputs shown in Table 10–37.

Table 10–37. Up Sampling Block Inputs & Outputs

Signal Direction Description

<unnamed> Input Input data port.

<unnamed> Output Output data port.

Page 188: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

10–24 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Storage Library

Table 10–38 shows the Up Sampling block parameter.

Table 10–39 shows the Up Sampling block I/O formats.

Figure 10–11 shows an example using the Up Sampling block.

Figure 10–11. Up Sampling Block Example

Table 10–38. Up Sampling Block Parameter

Name Value Description

Up Sampling Rate An integer greater than 0 Indicate the up sampling rate.

Table 10–39. Up Sampling Block I/O Formats Note (1)

I/O Simulink (2), (3) VHDL Type (4)

I I1[L1].[R1] I1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit

O O1[L1].[R1] O1: in STD_LOGIC_VECTOR({L1 + R1 - 1} DOWNTO 0) Implicit

Notes to Table 10–39:(1) For signed integers and signed binary fractional numbers, the MSB bit is the sign bit.(2) [L] is the number of bits on the left side of the binary point; [R] is the number of bits on the right side of the binary

point. For signed or unsigned integers R = 0, that is, [L].[0]. For single bits, R = 0, that is, [1] is a single bit.(3) I1[L].[R] is an input port. O1[L].[R] is an output port.(4) Explicit means that the port bit width information is a block parameter. Implicit means that the port bit width

information is set by the data path bit width propagation mechanism. If you want to specify the bus format of an implicit input port, use a BusConversion block to set the width.

Page 189: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 11–1January 2006 Preliminary DSP Builder Reference Manual

11. Example Designs

The Altera® DSP Builder provides a variety of example designs, which you can use to learn from or as a starting point for your own design.

This section describes the available designs.

Example Design Page

DSP Builder Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–3Hardware in the Loop, Frequency Sweep . . . . . . . . . . . . . . . 11–3CIC Interpolation (3 Stages x75) . . . . . . . . . . . . . . . . . . . . . . . 11–3CIC Decimation (3 Stages x75) . . . . . . . . . . . . . . . . . . . . . . . . . 11–3Convolution Interleaver Deinterleaver. . . . . . . . . . . . . . . . . . 11–4SOPC Builder Peripheral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–4IIR Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–432 Tap Serial FIR Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–4MAC based 32 Tap FIR Filter . . . . . . . . . . . . . . . . . . . . . . . . . . 11–5Color Space Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–5Farrow Based Resampler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–5Cordic, 20 bits Rotation Mode . . . . . . . . . . . . . . . . . . . . . . . . . 11–6Imaging Edge Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–6Quartus II Assignment Setting Example . . . . . . . . . . . . . . . . 11–6SignalTap II Filtering Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–6SignalTap II Filtering Lab with DAC to ADC Loopback . . . 11–7Cyclone II EP2C35 DSP Board . . . . . . . . . . . . . . . . . . . . . . . . . 11–7Stratix EP1S25 DSP Board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–7Stratix EP1S80 DSP Board 11–7Stratix II EP2S60 DSP Board 11–7Stratix II EP2S180 DSP Board. . . . . . . . . . . . . . . . . . . . . . . . . . 11–8

To view all the example designs, type demo at the MATLAB command prompt. The Demos tab opens Help window displaying a list of the available example designs.

You can choose DSP Builder in the Help window to expand the list as shown in Figure 11–1 on page 11–2 and click on an entry to display an overview of each example design.

Some of the example designs are used as walkthrough examples in the DSP Builder User Guide. If there is a corresponding section in the DSP Builder User Guide you can access the relevant pages directly by clicking on the Tutorial button in the right hand pane of the Help window.

Page 190: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

11–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Example Designs

Figure 11–1. DSP Builder Design Example Demos

You can display the model corresponding to each example design by clicking the Model button in the Help window.

For example, if you select the Model button for the Hardware in the loop example, the model design window opens displaying the HIL frequency sweep model as shown in Figure 11–2.

Figure 11–2. Hardware in the Loop Example Model

Page 191: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 11–3January 2006 Preliminary DSP Builder Reference Manual

DSP Builder Tutorial

You can also page forwards or backwards through the overview descriptions in the right hand pane of the Help window by clicking the Next or Previous buttons.

DSP Builder Tutorial

The main DSP Builder tutorial uses an example amplitude modulation design to demonstrate the DSP Builder design flow. The amplitude modulator design example is a modulator that has a sine wave generator, a quadrature multiplier, and a delay element.

The example file is named singen.mdl.

f For detailed information on this example, refer to the DSP Builder Tutorial chapter in the DSP Builder User Guide.

Hardware in the Loop, Frequency Sweep

This HIL (Hardware in the Loop) design is an example of a low-pass filter applied on the output of a modulated sine wave generation created using the Cordic algorithm.

The example file is named FreqSweep_HIL.mdl.

f For detailed information on this example, refer to the Using Hardware in the Loop (HIL) chapter in the DSP Builder User Guide.

CIC Interpolation (3 Stages x75)

CIC (cascaded integrator and comb) structures are an economical way to implement high sample rate conversion filters. This example implements a 3-stage interpolating CIC filter with a rate change factor of 75, therefore, the output is 75 times faster than the input. The design uses Stratix® or Cyclone™ device PLLs. The input frequency is 2 MHz and the output is 150 MHz.

The example file is named CiCInterpolator75.mdl.

CIC Decimation (3 Stages x75)

CIC (cascaded integrator and comb) structures are an economical way to implement high sample rate conversion filters. This example implements a 3-stage decimating CIC filter with a rate change factor of 75, therefore, the output is 75 times slower than the input. This design is typically used in digital down-conversion applications. The design uses Stratix or Cyclone device PLLs. The input frequency is 150 MHz and the output is 2 MHz.

The example file is named CicDecimator75.mdl.

Page 192: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

11–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Example Designs

Convolution Interleaver Deinterleaver

Convolutional interleaver deinterleavers are typically used on the transmission side for forward error correction. It provides an example of how the interleaver and deinterleaver work together. The example uses a Memory Delay block for the interleaver FIFO buffers.

The example file is named top12x17.mdl.

SOPC Builder Peripheral

The example consists of a 4-tap FIR (finite impulse response) filter with variable coefficients. The coefficients are loaded using the Nios® embedded processor while the input data is supplied by an off-chip source through an A/D converter. The filtered output data is sent off-chip through a D/A converter. The design is included as a peripheral to the Avalon™ bus.

The example file is named topavalon.mdl.

f For detailed information on this example, refer to the Using the SOPC Builder Links Library chapter in the DSP Builder User Guide.

IIR Filter This example illustrates how to implement an order 2 IIR filter using a Direct Form two structure. The coefficients are computed using the MATLAB function butter, which implements a Butterworth filter, with an order of two and a cutoff frequency of 0.4. This function creates floating-point coefficients, which are scaled in the design using the Gain block.

The example file is named topiir.mdl.

32 Tap Serial FIR Filter

This example illustrates how to implement a low pass 32 tap FIR (finite impulse response) filter using a 4-8 look-up table (LUT) for partial product pre-computation. This design requires the Mathworks Signal Processing ToolBox to calculate the coefficient using the FIR1 function:

FilterOrder = 32InputBitWidth = 8LowPassFreqBand = [0 0.1 0.2 1];LowPassMagnBand = [1 0.9 0.0001 0.0001];FlCoef =

firls(FilterOrder,LowPassFreqBand,LowPassMagnBand);CoefBitWidth = InputBitWidth + ceil(log2((max(abs(FlCoef))/min(abs(FlCoef)))))ScalingFactor = (2^(CoefBitWidth-1))-1;FpCoef = fix(ScalingFactor * FlCoef);plot(FpCoef,'o');title('Fixed-point scaled coefficient value');ImpulseData = zeros(1,1000);

Page 193: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 11–5January 2006 Preliminary DSP Builder Reference Manual

MAC based 32 Tap FIR Filter

ImpulseData(1) = 100;h = conv(ImpulseData,FpCoef);fftplot(h);title('FIR Frequency response');FirSamplingPeriod=1;

The example file is named AltrFir32.mdl.

MAC based 32 Tap FIR Filter

This example illustrates how to implement a MAC-based fixed coefficient 32 tap low pass FIR (finite impulse response) filter using a single Multiply Accumulate block and a single memory element for the TAP delay line. This design requires the MathWorks Signal Processing ToolBox to calculate the coefficient using the fir1 function:

coef = fix(fir1(32,3/8)*2^16-1);Impulse = zeros(1,1000);Impulse(1) = 1;h = conv(coef,Impulse);plot(coef,'o');title('Fixed-point scaled coefficient value');fftplot(h);title('Impulse Frequency response');

The example file is named FIR_MAC32.mdl.

Color Space Converter

This example illustrates how to implement a color space converter which converts R'G'B to Y'C'bCr.

The example file is named TopCsc.mdl.

Farrow Based Resampler

This example illustrates how to implement a Farrow based decimating sample rate converter.

Many integrated systems, such as software defined radios (SDR), require data to be resampled so that a unit can comply with communication standards where the sample rates are different. In some cases, where one clock rate is a simple integer multiple of another clock rate, resampling can be accomplished using interpolating and decimating FIR filters. However, in most cases the interpolation and decimation factors are so high that this approach is impractical. Farrow resamplers offer an efficient way to resample a data stream at a different sample rate. The underlying principle is that the phase difference between the current input and wanted output is determined on a sample by sample basis. This phase difference is then used to combine the phases of a polyphase filter in such a way that a sample for the wanted output phase is generated.

Page 194: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

11–6 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Example Designs

This design demonstrates a Farrow resampler. You can simulate its performance in MATLAB, change it as required for your application, generate a VDHL version and synthesize it to Altera devices. The example design has an input clock rate identical to the system clock. For applications where the input rate is much lower than the system clock, time sharing should be implemented to achieve a cost effective solution.

The example file is named FarrowResamp.mdl.

f For more information about this design, click on the Doc symbol in the design model window.

Cordic, 20 bits Rotation Mode

This example illustrates an iterative 20 bit rotation mode which computes sine and cosine angles and is implemented using the Cordic algorithm.

The example file is named DemoCordic.mdl.

Imaging Edge Detection

This example illustrates an edge detection design.

The example file is named Edge_detector.mdl.

f Refer to AN364: Edge Detection Reference Design for a full description of the edge detector design.

Quartus II Assignment Setting Example

This example illustrates Quartus II assignment setting from DSP Builder. You can launch the SignalCompiler block to compile the design and launch the DeviceProgrammer block to program the Stratix® EP2S60 DSP development board.

The example file is named Top_2s60Board.mdl.

SignalTap II Filtering Lab

Two numerically-controlled oscillators generate a 833.33kHz sinusoidal signal and a 83.33kHz sinusoidal signal. The signals are added together. The resulting signal is looped back to a low-pass 34 Tap filter using 14 bit fixed-point coefficients. The low-pass filter removes the 833.33kHz sinusoidal signal and allows the 83.33kHz sinusoidal signal through to the fir_result output.

The example file is named FilteringLab.mdl.

Page 195: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) 11–7January 2006 Preliminary DSP Builder Reference Manual

SignalTap II Filtering Lab with DAC to ADC Loopback

SignalTap II Filtering Lab with DAC to ADC Loopback

Two numerically-controlled oscillators generate a 833.33kHz sinusoidal signal and a 83.33kHz sinusoidal signal. The signals are added together on chip before they pass through a digital-to-analog converter on the Stratix DSP board. The resulting analog signal is looped back to an analog-to-digital converter on the board and then passed to an on-chip, low-pass filter. The low-pass filter removes the 833.33kHz sinusoidal signal and allows the 83.33kHz sinusoidal signal through to the fir_result output.

The example file is named StFilteringLab.mdl.

Cyclone II EP2C35 DSP Board

This example illustrates how to use the Cyclone™ II EP2C35 DSP development board.

The example file is named test2c35board.mdl.

f Refer to “Cyclone II EP2C35 DSP Development Board” on page 5–1 for a description of this board.

Stratix EP1S25 DSP Board

This example illustrates how to use the Stratix® EP1S25 DSP development board.

The example file is named Test1S25Board.mdl.

f Refer to “Stratix EP1S25 DSP Development Board” on page 5–3 for a description of this board.

Stratix EP1S80 DSP Board

This example illustrates how to use the Stratix® EP1S80 DSP development board.

The example file is named Test1S80Board.mdl.

f Refer to “Stratix EP1S80 DSP Development Board” on page 5–6 for a description of this board.

Stratix II EP2S60 DSP Board

This example illustrates how to use the Stratix® II EP2S60 DSP development board.

The example file is named Test2S60Board.mdl.

f Refer to “Stratix II EP2S60 DSP Development Board” on page 5–8 for a description of this board.

Page 196: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

11–8 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Example Designs

Stratix II EP2S180 DSP Board

This example illustrates how to use the Stratix® II EP2S180 DSP development board.

The example file is named Test2S180Board.mdl.

f Refer to “Stratix II EP2S180 DSP Development Board” on page 5–11 for a description of this board.

Page 197: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) A–1January 2006 Preliminary DSP Builder Reference Manual

Appendix A. Example TclScripts

This appendix contains example Tcl scripts created by the SignalCompiler block for the amplitude modulation design example. See the DSP Builder Tutorial chapter in the DSP Builder User Guide for information on how these files were generated.

The following is an example of a Tcl script for synthesis using Quartus® II synthesis:

# TCL Script for the Quartus II software

# Packagespackage require ::quartus::project

# Directory Variables set workdir "C:/DSPBuilder/designexamples/Tutorials/GettingStartedSinMdl"set libdir "c:/DSPBuilder/Altlib"set megadir "c:/DSPBuilder/MegaCoreLib"

# Change to working directory cd $workdir

# Create Quartus II project project_new singen -overwriteset_global_assignment -name "VHDL_FILE" "$libdir/DSPBUILDERPACK.VHD"set_global_assignment -name "VHDL_FILE" "$libdir/DSPBUILDER.VHD"set_global_assignment -name "VHDL_FILE" "$workdir/singen.vhd";set_global_assignment -name "SIMULATOR_SETTINGS" "singen"set_global_assignment -name "COMPILER_SETTINGS" "singen"set_global_assignment -name "USER_LIBRARIES" "$megadir"

# Set Compiler assignements set_global_assignment -name "FAMILY" "stratix";set_global_assignment -name "APEX20K_OPTIMIZATION_TECHNIQUE" "SPEED"set_global_assignment -name "MERCURY_OPTIMIZATION_TECHNIQUE" "SPEED"set_global_assignment -name "FLEX10K_OPTIMIZATION_TECHNIQUE" "SPEED"set_global_assignment -name "FLEX6K_OPTIMIZATION_TECHNIQUE" "SPEED"set_global_assignment -name "MAX7000_OPTIMIZATION_TECHNIQUE" "SPEED"set_global_assignment -name "STRATIX_OPTIMIZATION_TECHNIQUE" "SPEED"set_global_assignment -name "STRATIXII_OPTIMIZATION_TECHNIQUE" "SPEED"set_global_assignment -name "DEVICE" "AUTO";set_global_assignment -name "LOGICLOCK_INCREMENTAL_COMPILE_ASSIGNMENT" "ON";set_global_assignment -name "LOGICLOCK_INCREMENTAL_COMPILE_FILE" "atom_netlists/singen.vqm";

# Simulator Assignments for testset_project_settings -sim "singen"set_global_assignment -name "USE_COMPILER_SETTINGS" "singen"set_global_assignment -name "VECTOR_INPUT_SOURCE" "singen.vec"

project_close

Page 198: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

A–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

The following is an example of a Tcl script for synthesis using the LeonardoSpectrum™ synthesis tool:

# TCL Script for LeonardoSpectrum

# Set synthesis parameters set ec_tech stratixload_library $ec_techset target $ec_techset chip TRUEset macro FALSEset_working_dir "C:/DSPBuilder/designexamples/Tutorials/GettingStartedSinMdl"

# Load VHDL design files set DSPbuilderFileList [list "c:/DSPBuilder/Altlib/220pack.vhd"]lappend DSPbuilderFileList "c:/DSPBuilder/Altlib/altera_mf_components.vhd"lappend DSPbuilderFileList "c:/DSPBuilder/Altlib/dspbuilderpack.vhd"lappend DSPbuilderFileList "c:/DSPBuilder/Altlib/dspbuilder.vhd"lappend DSPbuilderFileList "C:/DSPBuilder/designexamples/Tutorials/GettingStartedSinMdl/singen.vhd"read $DSPbuilderFileList

# Synthesis optimization optimize -ta $ec_tech -delay -effort standard -chip -hierarchy autoset_attribute -port {clock} -name clock_cycle -value 40optimize_timing -force

# Write-out edif netlist for Quartus II Compilation auto_write "C:/DSPBuilder/designexamples/Tutorials/GettingStartedSinMdl/singen.edf"

The following is an example of a Tcl script for synthesis using the Synplicity synthesis tool:

TCL Script for Synplify

# Change to working directory cd "C:/DSPBuilder/designexamples/Tutorials/GettingStartedSinMdl"

# Load VHDL librariesadd_file -vhdl -lib dspbuilder "c:/DSPBuilder/Altlib/dspbuilderpack.vhd"add_file -vhdl -lib dspbuilder "c:/DSPBuilder/Altlib/dspbuilder.vhd"

# Load VHDL design filesadd_file -vhdl -lib work "C:/DSPBuilder/designexamples/Tutorials/GettingStartedSinMdl/singen.vhd"

# Set synthesis optionsset_option -technology stratixset_option -write_apr_constraint 1set_option -resource_sharing 0project -result_file "C:/DSPBuilder/designexamples/Tutorials/GettingStartedSinMdl/singen.vqm"

# Run synthesisproject -run

project -close

Page 199: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) A–3January 2006 Preliminary DSP Builder Reference Manual

The following is an example Tcl script for the ModelSim® simulator:

# TCL Script for ModelSim

# Set Simulation timing parameters set SimTime 4000set TimeResolution 1ps

# Directory Variables set workdir "C:/DSPBuilder/designexamples/Tutorials/GettingStartedSinMdl"set libdir "c:/DSPBuilder/Altlib"set megadir "c:/DSPBuilder/MegaCoreSimLib"set bForceRecompile 1

# Close existing ModelSim simulation quit -sim

# Create ModelSim project if {[file exist [project env]] > 0} {project close}cd $workdirif {[file exist "$workdir/singenDspBuilder.mpf"] == 0} {

project new $workdir singenDspBuilder work } else {

project open singenDspBuilder}

# Compile LPM VHDL library if {([file exist lpm] ==0)||($bForceRecompile>0)} {

exec vlib lpmvcom -93 -explicit -work lpm "$libdir/220pack.vhd"vcom -93 -explicit -work lpm "$libdir/220model.vhd"}

exec vmap lpm lpm

# Compile Megafunction VHDL library if {([file exist altera_mf] ==0)||($bForceRecompile>0)} {

exec vlib altera_mfexec vmap altera_mf altera_mfvcom -93 -explicit -work altera_mf "$libdir/altera_mf_components.vhd"vcom -93 -explicit -work altera_mf "$libdir/altera_mf.vhd"}

exec vmap altera_mf altera_mf# Compile dspbuilder VHDL library if {([file exist dspbuilder] ==0)||($bForceRecompile>0)} {

exec vlib dspbuilder vcom -93 -explicit -work dspbuilder "$megadir/SignalTapNode.vhd" vcom -93 -explicit -work dspbuilder "$libdir/dspbuilderpack.vhd" vcom -93 -explicit -work dspbuilder "$libdir/dspbuilder.vhd" }exec vmap dspbuilder dspbuilder

# Create work lib if {[file exist work] ==0} {exec vlib work}

# Compile VHDL design files vcom -93 -explicit -work work "$workdir/singen.vhd"vcom -93 -explicit -work work "$workdir/tb_singen.vhd"

Page 200: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

A–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

# load simulation vsim -t $TimeResolution work.tb_singen

# Set waveform display add wave -label clock /tb_singen/clockadd wave -label "global reset (sclrp)" /tb_singen/SystemResetadd wave /tb_singen/iNoisesadd wave -radix dec /tb_singen/iSinInsadd wave -radix dec /tb_singen/oSinDelaysadd wave -radix dec /tb_singen/oStreamMods

# Run simulation run $SimTime ns

Page 201: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) Index–1January 2006 Preliminary DSP Builder Reference Manual

Index

1-to-n Demux block 6–1

AAltBus block 3–1AltLab library 1–1Arithmetic library 2–1Avalon Master block 8–4Avalon Port blocks 8–12Avalon Read FIFO block 8–9Avalon Slave block 8–6Avalon Write FIFO block 8–10

BBarrel Shifter block 2–2Binary Point Casting block 3–6Binary to Seven Segments block 6–2Bit Level Sum of Products block 2–3Bitwise Logical Bus Operator block 6–3Boards library 5–1BP (Bus Probe) block 1–1BusBuild block 3–7BusConcatenation block 3–9BusConversion block 3–10Butterfly Operator block 4–1

CCase Statement block 6–4ClockAltr block 7–2Comparator block 2–5Complex AddSub block 4–4Complex Conjugate block 4–5Complex Constant block 4–6Complex Delay block 4–7Complex Multiplexer block 4–8Complex Product block 4–8Complex to Real-Imag block 4–9Complex Type library 4–1Constant block 3–12

Counter block 2–7Custom Instruction blocks 8–13Cyclone II EP2C35 DSP board 5–1

DDecoder block 6–6Delay block 10–1Device Programmer block 1–2Differentiator block 2–8Divider block 2–9Down Sampling block 10–3Dual-Port RAM block 10–4

EExample designs

32 tap FIR filter 11–4CIC decimation 11–3CIC interpolation 11–3Color space converter 11–5Convolution interleaver deinterleaver 11–4Cordic, 20 bits rotation mode 11–6Cyclone II EP2C35 DSP board 11–7DSP Builder tutorial 11–3Farrow based resampler 11–5HIL, frequency sweep 11–3IIR filter 11–4Imaging edge detection 11–6MAC based 32 tap FIR filter 11–5Quartus II assignment setting 11–6SignalTap II filtering lab 11–6SignalTap II filtering lab with DAC to ADC

loopback 11–7SOPC Builder Peripheral 11–4Stratix EP1S25 DSP board 11–7Stratix EP1S80 DSP board 11–7Stratix II EP2S180 DSP board 11–8Stratix II EP2S60 DSP board 11–7

Example Tcl scripts A–1ExtractBit block 3–13

Page 202: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Index–2 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Index

FFIFO block 10–7Flip Flop block 6–7

GGain block 2–11Gate and Control library 6–1GlobalRst (or SCLR) block 3–14GND block 3–15

HHDL Import block 1–3HDL SubSystem block 1–6HIL (Hardware In the Loop) block 1–8

IIf Statement block 6–8Increment Decrement block 2–13Input block 3–16Integrator block 2–16IO & Bus library 3–1

LLFSR Sequence block 10–8Library

AltLab 1–1Arithmetic 2–1Boards 5–1Complex Type 4–1Gate & Control 6–1IO & Bus 3–1Rate Change 7–1SOPC Builder Links 8–1State Machine Functions 9–1Storage 10–1

Logical Bit Operator block 6–11Logical Bus Operator block 6–12LUT (Look-Up Table) block 6–14

MMagnitude block 2–18

Memory Delay block 10–11Multi Rate FIFO block 10–12Multiplier block 2–19Multiply Accumulate block 2–20Multiply Add block 2–23Multi-Rate DFF block 7–2

NNode block 1–11NOT block 6–17n-to-1 Multiplexer block 6–15

Oone-to-n Demux block 6–17Output block 3–17

PParallel Adder Subtractor 2–25Parallel to Serial block 10–14Pattern block 10–15, 10–16Pipelined Adder block 2–27PLL block 7–3Product block 2–29

QQuartus II Project Global Assignment

block 1–11Quartus II Project Pinout Assignment

block 1–12

RRate Change library 7–1Real-Imag to Complex block 4–11ROM EAB block 10–17Round block 3–18

SSaturate block 3–19Serial to Parallel block 10–19Shift Taps block 10–21SignalCompiler block 1–14

Page 203: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Altera Corporation DSP Builder Version 5.1 (SP1) Index–3January 2006 Preliminary DSP Builder Reference Manual

Index

SignalTap II Analysis block 1–18Single Pulse block 6–18SOP (Sum of Products) TAP block 2–32SOPC Builder Links library 8–1Square Root block 2–33State Machine Functions library 9–1State Machine Table block 9–1Storage library 10–1Stratix EP1S25 DSP board 5–3Stratix EP1S80 DSP board 5–6Stratix II EP2S180 DSP board 5–11Stratix II EP2S60 DSP board 5–8SubSystemBuilder block 1–24Sum of Products block 2–35Sum of Products TAP block 2–32

TTsamp block 7–5

TutorialDSP Builder 11–3

Typographic Conventions 1–viii

UUp Sampling block 10–23

VVCC block 3–20VCDSink block 1–26

WWalkthrough

Hardware in the loop 11–3SOPC Builder peripheral 11–4

Page 204: DSP Builder Reference Manual - altera.co.jp · Quartus II Global Project Assignment Block ... 2–2 Bit Level Sum of Products Block ... Comparator Block ...

Index–4 DSP Builder Version 5.1 (SP1) Altera CorporationDSP Builder Reference Manual Preliminary January 2006

Index