Exercise 1 In this exercise you will review the DSSS modem design using the Quartus II software.

Similar documents
Simple Excalibur System

White Paper. Floating-Point FFT Processor (IEEE 754 Single Precision) Radix 2 Core. Introduction. Parameters & Ports

Estimating Nios Resource Usage & Performance

Table 1 shows the issues that affect the FIR Compiler v7.1.

Simulating the PCI MegaCore Function Behavioral Models

DSP Development Kit, Stratix II Edition

Simulating Visual IP Models with the NC-Verilog, Verilog-XL, VCS, or ModelSim (UNIX) Simulators

Introduction. Design Hierarchy. FPGA Compiler II BLIS & the Quartus II LogicLock Design Flow

Using the Serial FlashLoader With the Quartus II Software

DSP Builder. DSP Builder v6.1 Issues. Error When Directory Pathname is a Network UNC Path

Simulating the Reed-Solomon Model

Introduction to Simulation of VHDL Designs Using ModelSim Graphical Waveform Editor. 1 Introduction. For Quartus Prime 16.1

FPGA Design Security Solution Using MAX II Devices

Nios Soft Core Embedded Processor

Simulating the PCI MegaCore Function Behavioral Models

Video and Image Processing Suite

Design Verification Using the SignalTap II Embedded

FFT MegaCore Function User Guide

Table 1 shows the issues that affect the FIR Compiler, v6.1. Table 1. FIR Compiler, v6.1 Issues.

Debugging Nios II Systems with the SignalTap II Logic Analyzer

White Paper Configuring the MicroBlaster Passive Serial Software Driver

AN 547: Putting the MAX II CPLD in Hibernation Mode to Achieve Zero Standby Current

DDR and DDR2 SDRAM Controller Compiler User Guide

University Program 3 Kit

Introduction to the Altera SOPC Builder Using Verilog Design

SignalTap II with Verilog Designs. 1 Introduction. For Quartus II 13.1

ZBT SRAM Controller Reference Design

Stratix II vs. Virtex-4 Performance Comparison

UTOPIA Level 2 Slave MegaCore Function

24K FFT for 3GPP LTE RACH Detection

White Paper Taking Advantage of Advances in FPGA Floating-Point IP Cores

Simulating Nios II Embedded Processor Designs

Nios Embedded Processor Development Board

CORDIC Reference Design. Introduction. Background

Nios Soft Core. Development Board User s Guide. Altera Corporation 101 Innovation Drive San Jose, CA (408)

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction

ByteBlaster II Parallel Port Download Cable

Design Guidelines for Optimal Results in High-Density FPGAs

PCI Express Compiler. System Requirements. New Features & Enhancements

Error Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide

White Paper Using the MAX II altufm Megafunction I 2 C Interface

Disassemble the machine code present in any memory region. Single step through each assembly language instruction in the Nios II application.

FFT/IFFT Block Floating Point Scaling

Nios II Embedded Design Suite 7.1 Release Notes

Excalibur Solutions DPRAM Reference Design

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0

Excalibur Solutions Using the Expansion Bus Interface. Introduction. EBI Characteristics

FPGAs Provide Reconfigurable DSP Solutions

SERDES Transmitter/Receiver (ALTLVDS) Megafunction User Guide

T3 Framer MegaCore Function (T3FRM)

Using Flexible-LVDS I/O Pins in

altshift_taps Megafunction User Guide

DDR & DDR2 SDRAM Controller

DDR & DDR2 SDRAM Controller Compiler

POS-PHY Level 4 POS-PHY Level 3 Bridge Reference Design

Stratix FPGA Family. Table 1 shows these issues and which Stratix devices each issue affects. Table 1. Stratix Family Issues (Part 1 of 2)

Arria II GX FPGA Development Board

Using MAX 3000A Devices as a Microcontroller I/O Expander

Arria II GX FPGA Development Kit HSMC Loopback Tests Rev 0.1

Matrices in MAX II & MAX 3000A Devices

E3 Mapper MegaCore Function (E3MAP)

Cyclone II FFT Co-Processor Reference Design

Using Verplex Conformal LEC for Formal Verification of Design Functionality

DDR & DDR2 SDRAM Controller Compiler

Using ModelSim to Simulate Logic Circuits for Altera FPGA Devices

DDR & DDR2 SDRAM Controller Compiler

Stratix vs. Virtex-II Pro FPGA Performance Analysis

Quartus II Introduction Using Schematic Design

DDR & DDR2 SDRAM Controller

DSP Builder Release Notes

Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim

Supporting Custom Boards with DSP Builder

2.5G Reed-Solomon II MegaCore Function Reference Design

PCI Express Multi-Channel DMA Interface

Toolflow for ARM-Based Embedded Processor PLDs

POS-PHY Level 4 MegaCore Function

Design Guidelines for Using DSP Blocks

System-on-a-Programmable-Chip (SOPC) Development Board

Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V and Cyclone V Devices

Design Guidelines for Using DSP Blocks

Using Library Modules in Verilog Designs

Using Library Modules in VHDL Designs

Implementing LED Drivers in MAX Devices

Using MAX II & MAX 3000A Devices as a Microcontroller I/O Expander

Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide

DSP Development Kit, Stratix & Stratix Professional Edition Getting Started User Guide

AN 370: Using the Serial FlashLoader with the Quartus II Software

Using Library Modules in VHDL Designs

Using Library Modules in VHDL Designs. 1 Introduction. For Quartus II 12.1

December 2002, ver. 1.3 Application Note 191. Six individual interrupts Six-bit priority scheme Five-bit priority scheme plus one individual interrupt

Implementing FIR Filters

Using Flexible-LVDS Circuitry in Mercury Devices

White Paper AHB to Avalon & Avalon to AHB Bridges

System Debugging Tools Overview

Nios II Embedded Design Suite 6.1 Release Notes

Using Library Modules in Verilog Designs. 1 Introduction. For Quartus II 13.0

Quartus II Introduction Using Verilog Design

AN 549: Managing Designs with Multiple FPGAs

AIRbus Interface. Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width. Functional Description. General Arrangement

FPGA Co-Processing Architectures for Video Compression

Transcription:

White Paper DSSS Modem Lab Background The direct sequence spread spectrum (DSSS) digital modem reference design is a hardware design that has been optimized for the Altera APEX DSP development board (starter version), which features an APEX EP20K200E device. The reference design is a spread spectrum modulator/demodulator subsystem that can be used as a starting point for a complete 3G or fixed wireless modem. The design highlights the ease of use, performance, and efficiency of implementing a design using Altera devices and DSP intellectual property (IP) cores. The design uses the correlator, FIR compiler, and NCO compiler MegaCore functions, and uses 7,183 logic cells and achieves 100-MHz performance. A parameterizable UART and a Windows application enables communication between the APEX DSP development board and a PC via the board s RS-232 interface, yielding a true development platform for intermediate frequency (IF) modem designs. The reference design includes VHDL source code (except for the IP cores), and a simulation library and test bench for simulation in ModelSim simulators. Altera provides a Windows application that graphically displays the input and resulting output data from the modem. Using the application, you can examine the effects of random channel phase and the demodulator s ability to re-synchronize itself. You can also investigate the effects of using non-identical spreading codes or complex codes with poor orthogonality. For technical specifications of the reference design and a brief overview of spread spectrum communications, refer to FS 14: Direct Sequence Spread Spectrum (DSSS) Modem Reference Design. In this lab you will use an Altera-provided SRAM Object File (.sof) for the pre-compiled DSSS modem reference design to confirm the valid operation of the modem. The design files and Windows application are installed when you install the software on the APEX DSP Development Kit CD-ROM. This lab includes the following exercises: Exercise 1 In this exercise you will review the DSSS modem design using the Quartus II software. Exercise 2 In this exercise you will configure the APEX device with the DSSS modem design. Exercise 3 In this exercise you will use a Windows application to view a graphical display of the input and resulting output data from the modem. Before You Begin These instructions assume that you have already installed the software provided with the APEX DSP development kit onto your PC. If you have not done so, refer to the APEX DSP Development Kit Getting Started User Guide for installation instructions. You must also have the following software installed on your PC: Quartus II version 1.1 (limited edition or a purchased version) 1 This white paper assumes that you have installed the software into the default locations. A-WP-DSPREFLAB-1.0 September 2001, ver. 1.0 1

Before performing the exercises, you must connect cables to the AEPX DSP board. Refer to the APEX DSP Development Kit Getting Started User Guide for detailed instructions on how to connect the cables to the board. Perform the following steps to connect the cables: 1. Connect the power adapter cable to the board and plug it into a power outlet. 2. Connect the ByteBlasterMV cable to your PC and to the board s 10-pin JTAG header for APEX configuration. 3. Connect the RS-232 cable to your PC and to the board. Exercise 1: Review the DSSS Modem Design Review the filtering design by perform the following steps: 1. Run the Quartus II software. 2. Choose Open Project (File menu). 3. Browse to the directory c:\megacore\dsp_development_kit-v1.0.0\reference_design\dsss\quartus. 4. Select the project file top_level_dsss.quartus. 5. Click Open. The schematic file top_level_dsss.bdf opens. 6. Add the FIR compiler and NCO compiler user libraries to the project. a. Choose General Settings (Project menu). b. Click the User Libraries tab. c. Click Add. d. Browse to the directory in which the FIR compiler was installed. The default installation directory is c:\megacore\fir_compiler-v2.3.1\lib. e. Click Open. f. Repeat steps a through e for the NCO compiler. The default installation directory is c:\megacore\nco-v1.3.0\lib. 7. Choose Save As (File menu). 8. Click Save. 9. A message appears that the file already exists and you are asked if you want to replace it. Click Yes. 10. Review the schematic design. You can view the reference design as a schematic by browsing the hierarchy tree in the Quartus II Project Navigator and clicking on the sub-level designs. The top-level design file, top_level_dsss.bdf instantiates the DSSS modem, PLL,UART, and UART interface. a. Browse to the right side of the schematic to the DSSS modem symbol. b. Right-click the symbol and choose Open Selected Entity. The modem schematic, dsss.bdf, opens in a new window. 2

The modem design file instantiates the pilot sequence generator, the modulator, the channel model, and the demodulator. The pilot generator generates the pilot channel data; the modem receives the data channel from the Windows application via the UART interface. c. Right-click the modulator symbol and choose Open Selected Entity. The modulator schematic, named modulator.bdf, opens in a new window. d. Scroll the modulator.bdf window from left to right to view the modulator design entities. The design contains a combination of MegaCore functions, library of parameterized modules (LPM) functions, and custom logic. The 2-channel interpolating FIR filter is to the right of the complex spreader and FSM. e. Double-click the FIR filter symbol to launch the FIR compiler wizard. The FIR compiler wizard can generate a variety of filters, including this 67-tap root-raised cosine filter with an excess bandwidth of 22%. This design uses a serial, polyphase-decomposed interpolating filter with a cut-off frequency of 4 MHz. f. Click Cancel to close the FIR compiler wizard. g. The up-converting mixer follows the buffering FIFO symbols. Double-click the nco_mod symbol to launch the NCO compiler wizard. The design uses a small ROM implementation and an output precision of 12 bits from a 24-bit phase accumulator. The quadrature outputs from the NCO are modulated with the output of the pulse-shaping filter using multipliers and added to form the digital IF signal. Both arithmetic functions were implemented using multiplier and adder LPM functions. The IF output passes to the channel model. h. Click Cancel to close the NCO compiler wizard. i. Close the modulator.bdf window and return to the DSSS modem schematic dsss.bdf. The channel model follows the modulator and uses the IF signal from the modulator as input. The channel also uses a signal channel select as an input. This input is tied to push-button switch SW2 on the APEX DSP development board and introduces random data as input to the demodulator when you press the switch. The output from the channel is passed to the demodulator. j. Right-click the demodulator symbol and choose Open Selected Entity. The demodulator schematic opens in a new window named demodulator.bdf. k. Scroll the demodulator.bdf window from left to right to view the demodulator design entities. The input signal passes through an initial symbol recovery circuit before being down-converted by multipliers and a demodulating NCO, identical to the modulator NCO. The resulting output is filtered by two FIR filters. Following down-conversion, the signals are decimated being despread by the oversampling complex-mode correlator, which was designed using the correlator MegaCore function, and a peak-detection circuit. The synchronization block below the correlator monitors the despread pilot channel output of the peak-detection circuit and feeds control information back to the symbol recovery block at the beginning of the demodulator. It also outputs a lock signal, indicating whether the receiver has acquired synchronization. l. Close the demodulator.bdf window and the DSSS modem schematic dsss.bdf. m. In the top-level design schematic, top_level_dsss.bdf, observe the modem output. It outputs a synchronization lock signal (from the synchronization monitor), which sent to LED D6 on the APEX DSP development board. When the LED is off, the demodulator is synchronized to the modulator. The modem also outputs the despread data channel and passes it back to the UART interface where it is transmitted to the PC for viewing in the waveform viewer application. 11. Choose Close Project (File menu) when you are done reviewing the file. 3

Exercise 2: Configure the APEX Device Perform the following steps to configure the device: 1. Choose Programs > Altera > Quartus II 1.1 Limited Edition (Windows Start Menu) or Programs > Altera > Quartus II 1.1 (Windows Start Menu). 2. Choose Open Programmer (Processing menu). 3. Click Add File. 4. Browse to the c:\megacore\dsp_development_kit-v1.0.0\reference_design\dsss\quartus directory. 5. Select the file top_level_dsss200e.sof if you are using the APEX DSP development board starter version; select the file top_level_dsss1500e.sof if you are using the professional version. 6. Click Open. 7. Turn on the Program/Configure option. 8. Click Start to configure the APEX device. Exercise 3. Run the Windows Application The windows application displays the results of the filtering design. Run the Windows Application To run the Windows application, perform the following steps: 1. Choose Run (Windows Start menu). 2. Click Browse. 3. Browse to the c:\megacore\dsp_development_kit-v1.0.0\reference_design\dsss\application directory. 4. Select the file dsss.exe. 5. Click Open. 6. Click OK. The Altera DSSS Reference Design window opens. Enter Modem & Waveform Viewer Initialization Data & Parameters To initialize the DSSS modem reference design and parameterize the waveform viewer, perform the following steps: 1. Select the PC serial port through which you want to communicate to the APEX DSP development board under PC Port Selection in the application. 2. Type the name of the input source file you want to download as binary data input to the modem in the Input Data File box under Input File. 1 Altera provides two source data files with the reference design, which you can use as the input source file. The file count.txt contains data forms a modulo-8 counter and the file uniform.txt is a repeating 8-bit sequence. These data streams have been chosen to illustrate the operation of the modem in the 4

event of channel phase shifts and/or unmatched spreading codes. However, you can also use your own data file. The application reads data from the file as a long binary string (2,048 bits) before outputting it to the serial port. Therefore, your input file should contain a binary string without newline characters. 3. Select the length-16 spreading and despreading codes you wish to use in the modulator and demodulator for the data channel component of the channelization codes under Channelization Code Selection. (The pilot channel component of the complex spreading codes is fixed on both sides of the channel. Its channelization code is set as 1010101010101010.) For correct operation, the Despreading Code and Spreading Code selections must be identical. However, you can experiment with different codes to monitor the effects of using non-identical codes. 4. Select the duration for which you want to plot the input and output data streams in the Plot results for box under Run-Length. The modem operates continuously and does not stop after this interval. However, due to the high data rates of the input and corresponding output sequences only portions of the data are displayed in the application waveform viewer at a time. Selecting a given time interval (<500 seconds) allows you to reset the device and re-run the application with a new set of channelization codes and/or input data sequences. 5. Reset the APEX device by pressing the push-button switch SW0 (the master reset) on the APEX DSP development board. The SW0 switch is tied to the APEX device DEVCLRn pin. Therefore, your should press down on the switch for at least 3 seconds to that the design operates properly. Start the DSSS Modem Operation When you finish setting the parameters and initialization data, perform the following steps to start the modem. 1. Click Start under Data Flow Control. The selected codes and input binary stream are downloaded to internal memory in the APEX 20KE device via the RS-232 port. The waveform viewer displays the modem input and resulting output waveforms. You can use the Zoom In and Zoom Out buttons under Zoom Control to adjust the window size over which data is plotted. See Figure 1. 1 You can stop the waveform viewer at any time by clicking Stop under Data Flow Control. To continue viewing the results, click Continue. Click Exit to close the application. 5

Figure 1. DSSS Reference Design Windows Application 2. Press the push-button switch SW2 on the APEX DSP development board, holding it down for a short period of time. While the switch is pressed, the channel passes random data to the demodulator forcing it to lose synchronization and the output no longer matches the input. When you release the switch, the modulated data is passed to the receiver again. You can observe synchronization lock by watching LED D6 on the board. When the receiver loses lock, LED D6 turns on. When the modulator reacquires synchronization the LED turns off. To operate the modem with new channelization codes and input data sequences, you must reset the modem by pressing SW0 on the APEX DSP development board before clicking Start again. 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com Copyright 2001 Altera Corporation. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. All rights reserved. 6