Fpga Implementation of Direct Sequence Spread Spectrum

download Fpga Implementation of Direct Sequence Spread Spectrum

of 29

Transcript of Fpga Implementation of Direct Sequence Spread Spectrum

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    1/29

    FPGA IMPLEMENTATION OF DIRECT SEQUENCE

    SPREAD SPECTRUM

    AIM

    The main aim of this project is to design Spread spectrum that enables a signal to be transmitted

    across a frequency band that is much wider than the minimum bandwidth required by the

    information signal. In this project we design and develop a transmitter and receiver for spread

    spectrum transmission. A transmitter generates a spread spectrum signal using a specified algorithm,

    which can be either random or preplanned. The transmitter operates in synchronization with a

    receiver, which has the same coding as the transmitter. A short burst of narrowband data is

    transmitted on a broad band. Then, the transmitter tunes to another frequency and transmits again.

    The transmitter comprises of The Shifter Unit that gets the 8 bit data, which is to be transmitted,

    separates that into Odd and Even samples and segregates it as four Di bits. The Di bits are now to be

    given to the respective Wave generator units. The Multiplexer unit serves as the output unit of the

    Modulator Section. It gives the eight bit samples as its output. This Units selection line continuously

    gets the input from the shifter unit (DI-bits) and the selection line selects the corresponding wave

    generator unit to the DAC to see the change of Phase shift. The demodulator consists of the

    Multiplier, Adder and comparator block the first sample in each signal message is first multiplied to

    the first reference signal and then added which in turn is given to comparator to find which message

    is in phase with reference signal.

    The VHDL coding has been written with ModelSim software and the synthesis is done using XilinxProject Navigator in the FPGA using the SPARTAN 3E Board .

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    2/29

    CHAPTER 2

    INTRODUCTION TO DIRECT SEQUENCE-SPREAD SPECTRUM

    USING QPSK

    SPREAD SPECTRUM

    SPREAD SPECTRUM is the transmission in which the data of interest occupies a bandwidth in

    excess than necessary to send the data. The two types of spread spectrum are.

    Direct Sequence Spread Spectrum

    Frequency Hopping Spread Spectrum

    Secure communication is indispensable for many applications especially in defense so that

    intrude rs cant use it illegally. For the purpose, the message to be transmitted is digitized and

    mixed with a pseudo-Random sequence, which is many times the rate of the information signal.

    Many modulation techniques have been adopted to achieve this objective of secure

    communication but these commonly adopted techniques suffer from high signal interference, low

    data transfer rate, large bandwidth consumption and less privacy. Feasible solution to eliminate

    these drawbacks is to use Direct sequence -Spread spectr um Quadrature Phase Shift Keying

    method of modulation.

    In this method involves two modulation, first the data is been modulated by mixing it with the

    random sequence then it is modulated using a phase shift keying method. In frequency hopping

    us first modulate the data using a modulation technique and then it is transmitted by randomly

    hoping frequency. In both the cases the random sequence is called pseudo-noise or pseudo-

    random sequence.

    FREQUENCY AND BANDWIDTH USED

    Bandwidth is the maximum possible range of frequencies that can be used for transmission. It is

    usually the frequency range between the upper cut off frequencies and lower cut off frequencies

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    3/29

    Frequency used in Direct Sequence Spread Spectrum:

    The frequency bandwidth used in the Direct sequence spread spectrum is similar to that of the

    frequency used in CDMA. Here the data rate is high as in HDR capable CDMA and the data rate

    is of 1.25 MHz 4.9xN Mbit/s and uplink (reverse link) data rates up to 1.8xN Mbit/s where N is

    the frequency use d which ranges between 1.15 MHz to 1.35 MHz. Since its the general

    character of the spread spectrum to consume more bandwidth than that is actually required the

    bandwidth range is from 1700-1900.

    Direct sequence-Spread spectrum:

    In Direct sequence-Spread spectrum the data signal is taken and it is modulated with a pseudo-

    noise sequence. The spread spectrum technique reduces interference because an interfering signal

    from a narrowband system will only affect the spread spectrum signal if both are transmitting at

    the same frequency at the same time. Thus, the aggregate interference will be very low, resulting

    in little or no bit errors. A Direct sequence-Spread spectrum code determines the frequencies

    that the radio will transmit and the order. To properly receive the signal, the receiver must be set

    to the same code and listen to the incoming signal at the right time and correct frequency. FCC

    regulations require manufacturers to use 75 or more pseudo sequence for transmission channel

    with a maximum Dwell time (the time spent at a particular frequency during any single hop) of

    400 ms. If the radio encounters interference on one frequency, then the radio will retransmit thesignal on a subsequent hop on another frequency. Because of the nature of its modulation

    technique, frequency hopping can achieve data rates of up to 2 Mbps

    Direct sequence-Spread spectrum Using QPSK Modem:

    The modulation and demodulation of the Direct sequence-Spread

    spectrum system is done using QPSK. In the QPSK Modulator module, the input binary bit

    streams are split into in-phase and Quadrature-phase data bits. These bits are then converted to

    bipolar form, which helps in, effectively imparting a 0 or 180 -phase shifts to the orthogonal

    carriers. The resultant signals are combined and transmitted as output signal. The Demodulator

    unit that accepts the modulator output as input has a reference signal by which the original

    message is got back.

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    4/29

    ADVANTAGES OF DIRECT SEQUENCE SPREAD SPECTRUM

    Lower cost Highly secure data transmission

    Jamming free Most tolerant to signal interference Lowest power consumption Lowest potential data rates from individual physical layers Highest aggregate capacity using multiple physical layers Faster rate of data transfer

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    5/29

    CHAPTER 3

    DESIGN OF DIRECT SEQUENCE SPREAD SPECTRUM TRANSMITTER

    DIRECT SEQUENCE SPREAD SPECTRUM TRANSMITTER

    The direct sequence spread spectrum transmitter has a global clock and reset. The input given is

    of 15-bits which is then encrypted using the pseudo noise sequence of 15-bits.So the encrypted

    data is of 32-bits.The encrypted data is then transmitted using the QPSK modem. The transmitted

    data is of 8-bits length

    Fig 5 Schematic diagram of Direct sequence-Spread spectrum QPSK

    QPSK MODEM

    In this method, the Modulated Wave shifts between four phases each 90 apart for the Di bits

    00, 01 10 or 11 creating sine ,cosine ,inverse -sine and inverse-cosine respectively .It

    comprises of a modulator and a demodulator .

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    6/29

    Connectors:

    Block diagram direct sequence-Spread spectrum QPSK Transmitter

    BLOCKS OF DIRECT SEQUENCE SPREAD SPECTRUM TRANSMITTER

    Encryption Unit

    QPSK Modulator

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    7/29

    Splitter Unit Address generation unit for shifter unit Control unit Multiplier unit

    Digital To Analog Interfacing Unit QPSK Demodulator

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    8/29

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    9/29

    CHAPTER-5

    INTRODUCTION TO VHDL

    4.1 INTRODUCTION

    VHDL is language for describing digital electronic systems. It arose out of the United Statesgovernments very high speed integrated circuits (VHSIC) program, in the course of this program. Itbecame clear that there was a need for a standard language for describing the structure and functionof integrated circuits(ICs). Hence the VHSIC hardware description language (VHDL) wasdeveloped. It was subsequently developed further under the auspices of the Institute of Electrical andElectronics Engineers (IEEE) and adopted in the form of the IEEE standard 1076. Like all IEEEstandards, the VHDL standard is subject to review every five years. The 1987 standard was analyzedby the IEEE working group responsible for VHDL, and in 1992 a revised version of the standard wasproposed. VHDL is designed to fill a number of needs in the design process.

    First, it allows description of the structure of a system which includes decomposition intosubsystems and interconnects of those subsystems.

    Second it allows the specification of the function of a system to be stimulated beforebeing manufactured, so that designers can quickly compare alternatives test for correctnesswithout the delay and expense if hardware prototyping.

    Third it allows the detailed structure of a design to be synthesized from a more abstractspecification, allowing designers to concentrate on more strategic design and reducing time tomarket.

    Modeling for simulation and synthesis is a vital part of a range of levels of abstraction, from gate levels up to algorithmic and architectural levels. It will continue to play animportant role in the design future silicon-based systems.

    Very high speed integrated circuit hardware description language (VHDL) can be used tomodel digital systems and introduce some of the basic concepts underlying the language. Hencewith a description of the basic lexical and syntactic elements of the language, to form a basis for thedetailed descriptions of language.

    Features of VHDL

    Strongly typed language. Case insensitive. Supports flexible design methodologies

    Top-Down and Bottom-Up design methods

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    10/29

    4.2 MODELLING STYLES

    4.2.1 TYPES OF MODELLING

    Data flow Modelling Behavioral Modelling Structural Modelling

    4.2.2 OVERVIEW OF MODELLING STYLES

    In a behavioral model, a component is described by its input and output response. A Data flow model describes the circuit in terms of its function and flow of data

    through the circuit.

    Structural model describes a circuit in terms of interconnection of component

    4.3 DATA FLOW MODELLING

    4.3.1 DATA FLOW MODEL

    A dataflow model specifies the functionality of the entity without explicitlyspecifying its structure. This functionality shows the Flow of information through the entity,which is expressed primarily using concurrent signal assignment statements.

    4.3.2 CONCURRENT SIGNAL ASSIGNMENT STATEMENT

    One of the primary mechanisms for modeling the dataflow behavior of an entity is using theconcurrent signal assignment statement.

    4.3.2.1 TYPES OF CONCURRENT SIGNAL ASSIGNMENT

    The two types of signal assignment statements are

    Conditional signal assignment statement Selected signal assignment statement.

    Conditional Signal Assignment statement

    Conditional signal assignment statement selects different values for the target

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    11/29

    Whenever an event occurs on a signal used in either any of the waveform expression or anyof the conditions , the conditional signal assignment statement is executed by evaluatingthe conditions one at a time.

    Selected Signal Assignment statement

    The selected signal assignment statement selects different values for a target signal based onthe value of a select expression (it is like a case statement).

    Whenever an event occurs on a signal in the select expression or on any signal used in any of the waveform expressions, the statement is executed.

    So based on the value of the select expression that matches the choice value specified, thevalue of the corresponding waveform are scheduled to be assigned to the target signal.

    Choices are not evaluated in sequence.

    All possible values must be covered and those values not covered may be covered byothers choice.

    Syntax

    With expression select

    Target-signal

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    12/29

    4.4.1 COMPONENT DECLARATION

    A component instantiated in a structural description must first be declaredusing a component declaration.

    A component declaration declares the name and the interface of a component.

    4.4.2 COMPONENT INSTANTIATION

    A component instantiation statement defines a subcomponent of the entity in which itappears.

    It associates the signals in the entity with the ports of that subcomponents

    4.5 BEHAVIOURAL MODELLING

    In behavioural modeling the statements are executed in sequential flow. In this modelingstyle the behavior of the entity is expressed using sequentially executed, procedural code which issimilar in syntax to that of a highly programming language like C. The process statement is theprimary mechanism used to model the behavior of an entity 0.

    4.5.1 DEFINITION AND USAGE OF A PROCESS

    In architecture for an entity all statements are concurrent. We go for Process statement inorder to run the code sequentially. Process statement is itself a concurrent statement. A Processstatement has a declaration section and a statement part. In the declaration section, type,variables, constants, subprograms, and so on can be declared. The statement part contains onlysequential statements. Sequential statements consist of CASE statements IF-THEN-ELSE

    statements, LOOP statements and so on.

    Architecture can contain as many number of processes, but the statements inside the processwill be executed in sequential manner and and all processes will be executed in aconcurrent manner.

    Sensitivity List

    The process statement can have an explicit sensitivity list. This list defines the signals thatcause the statements inside the process statement to execute whenever one or more elements of thelist change value. The sensitivity list is a list of the signals that cause the process to execute. The

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    13/29

    process has to have an explicit sensitivity list or it can have a WAIT statement.

    Syntax for PROCESS statement

    Process (sensitivity list) is

    --Variable declarations

    Begin

    --statements to be executed sequentially

    End process;

    4.5.2 SEQUENTIAL STATEMENTS IN VHDL

    IF-THEN CASE LOOP statements EXIT

    4.5.2.1 IF-THEN STATEMENT

    An IF statement selects a sequence of statement for execution based on the value of acondition. The condition can be an expression that evaluates to a Boolean value. The IF statement isexecuted by checking each condition sequentially until the first true condition is found; then, a set of sequential statements associated with this condition is executed. The IF statement can have zero ormore ELSIF clauses and an optional ELSE clause.

    Syntax for IF-THEN statement

    IF (Boolean expression) THEN

    --sequential statement

    ELSIF (Boolean expression) THEN

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    14/29

    --sequential st

    atements

    ELSE

    4.5.2.2 CASE STATEMENT

    The case statement is used whenever a single expression value can be used to select betweena numbers of actions.

    Syntax for CASE statement

    CASE expression is

    WHEN choices

    WHEN choices

    WHEN choices

    WHEN choices

    => Sequential statements; --Branch 1

    => Sequential statements; --Branch 2

    => Sequential statements; -- ..

    => Sequential statements; -- ..

    => Sequential statements; --Branch N-1

    WHEN OTHERS

    => Sequential statements; --Last Branch

    END CASE;

    The CASE statement selects one of the branches for execution based on the value of theexpression. The expression value must be of the discrete type or of a one dimensional array. Choicesmay be expressed as single values, as range of values, by using vertical bar (|), or by using the othersclause.

    All possible values of the expression must be covered in the case statement exactly once.The others clause can be used as a choice to co ver the catch -all values.

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    15/29

    4.5.2.3 LOOP STATEMENTS

    Loop statement is used whenever an operation needs to be repeated. LOOPstatements are used when powerful iteration capability is needed to implement a model.

    Syntax for LOOP statement

    Loop_lable: iteration scheme LOOP

    ---sequence of statements

    END LOOP Loop_lable

    There are three types of iteration schemes,

    FOR WHILE LOOP

    FOR LOOP

    FOR loop is a kind of basic LOOP statement, which includes a specification of how manytimes the body of the loop is to be executed.

    Syntax for FOR loop

    loop_lable: FOR identifier IN discrete range LOOP

    --sequential statements

    END LOOP loop_lable;

    WHILE LOOP

    WHILE loop is one type of LOOP statement which test a condition before each iteration. If the condition is true iteration proceeds.

    If it is false loop is terminated.

    Syntax for WHILE loop

    Loop_lable: WHILE Boolean expression LOOP

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    16/29

    ---sequential statements

    END LOOP loop_lable;

    4.5.2.4 Loop and Exit Statements

    This form of loop is one where no iteration scheme is specified. In this form of loop, allstatements in the loop body are repeatedly executed until some other action causes the loop to exit.This action can be caused by EXIT statement NEXT statement or a RETURN statement.

    EXIT statement is a sequential statement that can be used only inside a loop. It causesexecution to jump out of the inner most loops or the loop whose label is specified. If no loop label isspecified the inner most loop is exited. If the when clause is used, the specific loop is excited only if the condition is true.

    NEXT statement is also a sequential statement that can be used only inside a loop. The nextstatement result in skipping the remaining statements in the current iteration of the specified loop;execution resumes with the first statement in the next iteration of this loop, if one exists.

    ` In comparison with the EXIT statement which causes the loop to be terminated the NEXTstatement causes the current loop iteration of the specified.

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    17/29

    CHAPTER - 6

    HARDWARE AND SOFTWARE

    Very-Large-Scale Integration (VLSI) is the process of creating integrated

    circuits by combining thousands of transistors based circuits into a single chip.

    VLSI began in the 1970s when complex semiconductor and communication

    technologies were being developed.

    The first semiconductor chips held one transistor each. Subsequent advances

    added more and more transistors and as a consequence more individual functions

    of systems were integrated over time. The microprocessor is a VLSI device.

    The first generation of computers relied on vacuum tubes. Then came

    discrete semiconductor devices, followed by integrated circuits. The first Small-

    Scale Integration (SSI) Ic s had small numbers of devices on a single chip-diodes,

    transistors, resistors and capacitors (no inductors though), making it possible tofabricate one or more logic gates on a single device.

    The fourth generation consisted of Large-scale Integration (LSI),

    i.e. systems with at least a thousand logic gates. The natural successor to LSI was

    VLSI (many tens of thousands of gates on a single ship). Current technology has

    moved far past this mark and today s microprocessors have many millions of gates

    and hundreds of millions of individual transistors.

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    18/29

    31

    As of mid-2006, billion transistor processors are just on the horizon, with the

    first being Intel s Montecito Itanium Server. This is expected to become more

    common place as semiconductor fabrication moves from the current generation of

    90 nanometer (90nm) processes to the next 65nm and 45nm generations

    At one time, there was effort to name and calibrate various levels of large

    scale integration above VLSI. Terms like Ultra-large scale Integration (ULSI) were

    used. But the huge number of gates and transistors available on common devices

    has rendered such fine distinctions moot. Terms suggesting more than VLSI levels

    of integration are no larger in widespread use. Even VLSI is now somewhat quaint,

    given the common assumption that all microprocessors are VLSI or better.

    FPGA

    A field-programmable gate array (FPGA) is an integrated circuit designed to be

    configured by the customer or designer after manufacturing hence "field-

    programmable". The FPGA configuration is generally specified using a hardware

    description language (HDL), similar to that used for an application-specific

    integrated circuit (ASIC) (circuit diagrams were previously used to specify the

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    19/29

    32

    configuration, as they were for ASICs, but this is increasingly rare). FPGAs can be

    used to implement any logical function that an ASIC could perform. The ability to

    update the functionality after shipping, partial re-configuration of the portion of the

    design and the low non-recurring engineering costs relative to an ASIC design(notwithstanding the generally higher unit cost), offer advantages for many

    applications.

    FPGAs contain programmable logic components called "logic blocks", and a

    hierarchy of reconfigurable interconnects that allow the blocks to be "wired

    together" somewhat like a one-chip programmable breadboard. Logic blocks can

    be configured to perform complex combinational functions, or merely simple logic

    gates like AND and XOR. In most FPGAs, the logic blocks also include memory

    elements, which may be simple flip-flops or more complete blocks of memory.

    The area of field programmable gate array (FPGA) design is evolving at a rapid

    pace. The increase in the complexity of the FPGA's architecture means that it can

    now be used in far more applications than before. The newer FPGAs are steering

    away from the plain vanilla type "logic only" architecture to one with embedded

    dedicated blocks for specialized applications. With so many choices available, the

    designer not only has to familiarize himself with the various architectures and their

    strengths, but he also needs a way to quickly estimate the performance of his design

    when targeted to the different technologies. This paper briefly outlines the latest

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    20/29

    33

    offerings from the key FPGA vendors and in its latter half discusses the importance

    of using the right synthesis tool in order to target the same design to these various

    technologies.

    Definitions of Relevant Terminology are Field-programmable Device (FPD) a general term that refers to any type of

    integrated circuit used for implementing digital hardware, where the chip can be

    configured by the end user to realize different designs. Programming of such a

    device often involves placing the chip into a special programming unit, but some

    chips can also be configured in-system . Another name for FPDs is programmable

    logic devices (PLDs); although PLDs encompass the same types of chips as FPDs,

    we prefer the term FPD because historically the word PLD has referred to relatively

    simple types of devices.

    PLA a Programmable Logic Array (PLA) is a relatively small FPD that

    contains two levels of logic, an AND-plane and an OR-plane, where both levels are

    programmable (note: although PLA structures are sometimes embedded into

    full-custom chips, we refer here only to those PLAs that are provided as separate

    integrated circuits and are user-programmable).

    PAL a Programmable Array Logic (PAL) is a relatively small FPD that has a

    programmable AND-plane followed by a fixed OR-plane. SPLD refers to any

    type of Simple PLD, usually either a PLA or PAL. CPLD a more Complex PLD

    that consists of an arrangement of multiple SPLD-like blocks on a single chip.

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    21/29

    34

    Alternative names (that will not be used in this paper) sometimes adopted for this

    style of chip are Enhanced PLD (EPLD), Super PAL, Mega PAL, and others.

    FPGA a Field-Programmable Gate Array is an FPD featuring a generalstructure that allows very high logic capacity. Whereas CPLDs feature logic

    resources with a wide number of inputs (AND planes), FPGAs offer more narrow

    logic resources. FPGAs also offer a higher ratio of flip-flops to logic resources than

    do CPLDs.

    FPGA Landscape

    In the semiconductor industry, the programmable logic segment is the best indicator

    of the progress of technology. No other segment has such varied offerings as field

    programmable gate arrays. It is no wonder that FPGAs were among the first

    semiconductor products to move to the 0.13 m technology, and again recently to 90nm technology. This rapidly changing technology means that more complex

    functionality is being designed into a FPGA.

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    22/29

    35

    Fig. 5.1 Structure of An FPGA

    The players in the current programmable logic market are Altera, Atmel, Actel,

    Cypress, Lattice, Quicklogic and Xilinx. Some of the larger and more popular device

    families are: Stratix from Altera; Accelerator from Actel; ispXPGA from

    Lattice and Virtex from Xilinx. Between these FPGA devices, many major

    electronics applications such as communications, video, image and digital signal

    processing, storage area networks and aerospace are covered. While the architecture

    of each FPGA is unique, the basic combination of the functional block remains the

    same: LUTs + registers + carry-chain + wide MUX. It is important to be aware of the

    required resources for a design and to cross-reference this with what is available.Sometimes, however, it is also the supported configuration that is important for a

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    23/29

    36

    design's requirement. For example, the capability of a dedicated RAM to function in

    a particular mode might not be supported by all vendors.

    FPGA synthesis: the vendor-independent approach

    The present-day FPGAs offer the necessary features for successfully completing most

    complex designs. Table 1 highlights the amount of key resources available in the

    largest device offered by each FPGA vendor. Clock management forms a very

    important part of any digital design and this functionality is facilitated by on-chip

    phase locked loop (PLLs or DLLs) circuitry. Dedicated memory blocks offer data

    storage and can be configured as basic single-port RAMs, ROMs (read only

    memory), FIFOs (first in first out), or CAMs (content addressable memory). Data

    processing or the logic fabric of these FPGAs varies widely in size with the biggest

    Xilinx Virtex-II Pro offering up to 100K LUT4s. The ability to interface the FPGA

    with backplanes, high-speed buses, and memories is possible by the availability of

    various single-ended and differential I/O standards support.

    Many of the major electronics applications such as communications, video, image and

    digital signal processing; storage area networks and aerospace are covered between the

    above-mentioned FPGA devices. Although all of these FPGAs can perform the key

    functions required by these applications, each of them is individually better suited

    for certain target segments. For example, although Virtex-II and the Stratix both offer

    dedicated multiplier blocks, the existence of the adders in the dedicated DSP block may enable the Stratix device to target DSP applications

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    24/29

    37

    more effectively due to its ability to create efficient MAC (multiply-accumulate)

    blocks4.

    In a similar manner, for programmable systems applications requiringembedded processors, the Virtex-II Pro with its 32-bit RISC processor

    (PowerPC 405) would be an ideal choice.

    Table 5.1 Features Offered In FPGA

    Features

    Xilinx virtex II

    Pro

    Altera

    stratix

    Actel

    Axcelerator

    Lattice is

    Pxpga

    Clock

    management

    DCM

    Up to 12

    PLL

    Up to 12

    PLL

    Up to 8

    Sys CLOCK

    PLL up to 8

    Embedded

    memory

    blocks

    Block RAM

    Up to 10 Mbit

    Tri Matrix

    Memory

    Up to10 Mbit

    Embedded

    RAM

    Up to 338K

    Sys MEM

    Blocks

    Up to 414K

    Data

    processing

    CLB and

    18-bitx 18-bit

    Multipliers

    LEs and

    embedded

    multipliers

    Logic modules

    (C-cell &R-

    cell)

    PFU based

    Programmable

    I/O s

    Select IO Advanced IO

    Support

    Advanced

    IO Support

    Sys IO

    Special

    features

    Embedded

    power PC405 Cores

    DSP blocks Per pin

    FIFO s for bus Application

    Sys Hs 1 for

    high speedserial interface

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    25/2938

    MODELSIM

    MODELSIM SE 6.2c

    This section describes the basic procedure for simulating ModelSim.

    BASIC STEPS FOR SIMULATION

    Step 1 Collect Files and Map Libraries

    Files needed to run ModelSim on your design: design files (VHDL and/or Verilog ), including stimulus for the design libraries, both working and resource modelsim.ini file (automatically created by the library mapping command)

    Providing Stimulus to the Design

    You can provide stimulus to your design in several ways:

    Language-based test bench Tcl-based ModelSim interactive command, force VCD files / commands

    See Creating a VCD File and Using Extended VCD as Stimulus

    Third-party test bench generation tools.

    Work and Resource Libraries

    You can use design libraries in two ways:

    As a local working library that contains the compiled version of your design

    As a resource library

    Mapping the Logical Work to the Physical Work Directory

    VHDL uses logical library names that can be mapped to ModelSim library directories. If libraries

    are not mapped properly, and you invoke your simulation, necessary components will not be loaded and

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    26/2939

    simulation will fail. Similarly, compilation can also depend on proper library mapping. By default,

    ModelSim can find libraries in your current directory (assuming they have the right name), but for it to

    find libraries located elsewhere, you need to map a logical library name to the pathname of the library.

    You can use the GUI (Library Mappings with the GUI, a command (Library Mapping from the Command

    Line), or a project (Getting Started with Projects to assign a logical name to a design library.

    Step 2 Compile the Design

    To compile a design, run one of the following ModelSim commands, depending on the language

    used to create the design:

    Compiling Verilog (VLOG)

    The vlog command compiles Verilog modules in your design. You can compile Verilog files in

    any order, since they are not order dependent. See Verilog Compilation for details.

    Compiling VHDL (VCOM)

    The vcom command compiles VHDL design units. You must compile VHDL files in the order

    necessitate to any design requirements. Projects may assist you in determining the compile order.

    Step 3 Load the Design for Simulation

    Running the Vsim Command on the Top Level of the Design

    After you have compiled your design, it is ready for simulation. You can then run the vsim

    command using the names of any top-level modules (many designs contain only one top-level module).

    Using Standard Delay Format Files

    You can incorporate actual delay values to the simulation by applying standard delay format

    (SDF) back-annotation files to the design. For more information on how SDF is used in the design, see

    Specifying SDF Files for Simulation.

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    27/2940

    Step 4 Simulate the Design

    Once you have successfully loaded the design, simulation time is set to zero, and you must enter a

    run command to begin simulation. For more information, see Verilog and SystemVerilog Simulation, and

    VHDL Simulation.

    Step 5 Debug the Design

    The ModelSim GUI provides numerous commands, operations, and windows useful in debugging

    your design. In addition, you can also use the command line to run the following basic simulation

    commands for debugging:

    describe drivers examine force log

    show

    This are the steps were used in the ModelSim.

    6.2 XILINX ISE 9.1 i

    Xilinx is disclosing this document and intellectual property (hereinafter the design) to you for

    use in the development of designs to operate on, or interface with xilinx FPGAs. except as stated herein,

    none of the design may be copied, reproduced, distributed, republished, downloaded, displayed, posted, or

    transmitted in any form or by any means including, but not limited to, electronic, mechanical,

    photocopying, recording, or otherwise, without the prior written consent of xilinx. Any unauthorized use

    of the design may violate copyright laws, trademark laws, the laws of privacy and publicity, and

    communications regulations and statutes.

    Xilinx does not assume any liability arising out of the application or use of the design; nor does

    xilinx convey any license under its patents, copyrights, or any rights of others. You are responsible for

    obtaining any rights you may require for your use or implementation of the design. Xilinx reserves the

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    28/29

  • 7/31/2019 Fpga Implementation of Direct Sequence Spread Spectrum

    29/29