17. Design of FIR Filter Using Verilog HDL - Copy

63
CHAPTER 1 INTRODUCTION 1.1. INTRODUCTION: In signal processing, a finite impulse response (FIR) filter is a filter whose impulse response (or response to any finite length input) is of finite duration, because it settles to zero in finite time. This is in contrast to infinite impulse response (IIR) filters, which have internal feedback and may continue to respond indefinitely (usually decaying). The impulse response of an Nth-order discrete-time FIR filter (i.e., with a Kronecker delta impulse input) lasts for N +1 samples, and then settles to zero. FIR filters can be discrete-time or continuous-time, and digital or analog. The output y of a linear time invariant system is determined by convolving its input signal x with its impulse response b. For a discrete-time FIR filter, the output is a weighted sum of the current and a finite number of previous values of the input. The operation is described by the following equation, which defines the output sequence y[n] in terms of its input sequence x[n]:

Transcript of 17. Design of FIR Filter Using Verilog HDL - Copy

Page 1: 17. Design of FIR Filter Using Verilog HDL - Copy

CHAPTER 1

INTRODUCTION

1.1. INTRODUCTION:

In signal processing, a finite impulse response (FIR) filter is a filter whose impulse

response (or response to any finite length input) is of finite duration, because it settles to zero in

finite time. This is in contrast to infinite impulse response (IIR) filters, which have internal

feedback and may continue to respond indefinitely (usually decaying).

The impulse response of an Nth-order discrete-time FIR filter (i.e., with a Kronecker delta

impulse input) lasts for N + 1 samples, and then settles to zero.

FIR filters can be discrete-time or continuous-time, and digital or analog.

The output y of a linear time invariant system is determined by convolving its input signal x with

its impulse response b.

For a discrete-time FIR filter, the output is a weighted sum of the current and a finite number of

previous values of the input. The operation is described by the following equation, which defines

the output sequence y[n] in terms of its input sequence x[n]:

where:

x[n] is the input signal,

Page 2: 17. Design of FIR Filter Using Verilog HDL - Copy

y[n] is the output signal,

zn are the filter coefficients, also known as tap weights, that make up the impulse

response,

bn is the filter order; an n th-order filter has n terms on the right-hand side. The n in these

terms are commonly referred to as taps, based on the structure of a tapped delay line that

in many implementations or block diagrams provides the delayed inputs to the

multiplication operations. One may speak of a 5th order/6-tap filter, for instance.

An FIR filter has a number of useful properties which sometimes make it preferable to an infinite

impulse response (IIR) filter. FIR filters:

Require no feedback. This means that any rounding errors are not compounded by

summed iterations. The same relative error occurs in each calculation. This also makes

implementation simpler.

Are inherently stable. This is due to the fact that, because there is no required feedback,

all the poles are located at the origin and thus are located within the unit circle (the

required condition for stability in a Z transformed system).

They can easily be designed to be linear phase by making the coefficient sequence

symmetric; linear phase, or phase change proportional to frequency, corresponds to equal

delay at all frequencies. This property is sometimes desired for phase-sensitive

applications, for example data communications, crossover filters, and mastering.

The main disadvantage of FIR filters is that considerably more computation power in a general

purpose processor is required compared to an IIR filter with similar sharpness or selectivity,

especially when low frequency (relative to the sample rate) cutoffs are needed. However many

digital signal processors provide specialized hardware features to make FIR filters approximately

as efficient as IIR for many applications.

Page 3: 17. Design of FIR Filter Using Verilog HDL - Copy

Filter is the component which passes certain band of frequencies and opposes other

frequency components. Filter is the basic component in any Digital Signal Processor (DSP)

applications. For this we have two filters they are Finite Impulse Response (FIR) filter and

Infinite Impulse Response (IIR) filter.

FIR filter is digital type of filter where we consider finite number of samples. In FIR

filter the impulse response settle down to zero after final sample of interval, where as in IIR filter

we consider infinite number of samples for analysis.

1.2. FIR Filter:

FIR filter is a one polynomial coefficient. FIR filter needs much high order polynomial to get an

equivalent filter as IIR filter, which results in longer delay.

H (Z) =B (Z)/ZN

Y[n] = b0x[n] +b1x [n-1] +b2x [n-2]………………..+ bn x[n-N]

N is the filter order an Nth-order filter has (N + 1) terms on the right-hand side; these are

commonly referred to as taps.

This equation can also be expressed as a convolution of the coefficient sequence bi with the

input signal

That is, the filter output is a weighted sum of the current and a finite number of previous values

of the input.

1.3. Block Diagram of FIR filter:

Page 4: 17. Design of FIR Filter Using Verilog HDL - Copy

Fig1.1:Block diagram of FIR filter

Page 5: 17. Design of FIR Filter Using Verilog HDL - Copy

CHAPTER 2

LITERATURE SURVEY

2.1 INTRODUCTION:

The signal is the one which carries information from one source to the destination. There

are different types of signals. Filter plays essential role in Digital Signal Processing (DSP). Filter

is a system that passes certain frequency components and rejects other frequency components.

Filters are designed for the specifications of the desired properties of the system. FPGA is a

prototype device which is used to implement simpler algorithms.

2.2. Signal:

In the field of communications, signal processing and in electrical engineering more

generally, a signal is any time-varying or spatial-varying quantity.

In the physical world, any quantity measurable through time or over space can be taken as a

signal. Within a complex society, any set of human information or machine data also be taken as

a signal. Such information or machine data must all be part systems existing in the physical

world- either living or non-living.

Despite the complexity of such systems, their outputs and inputs can often be represented

as simple quantities measurable through time or across space. In the latter half of the 20th

century Electrical engineering itself separated into several disciplines, specializing in the design

and analysis of physical signals and systems, on one hand and in the functional behavior and

conceptual structure of the complex human and machine systems, on the other. These

engineering disciplines have led the way in the design, study, and implementation of systems that

take advantage of signals as simple measurable quantities in order to facilitate the transmission,

storage and manipulation of information.

2.2.1. Definition of the signal:

In information theory, a signal is a codified message, that is, the sequence of states in a

communication channel that encodes a message.

Page 6: 17. Design of FIR Filter Using Verilog HDL - Copy

In the context of signal processing, arbitrary binary data streams are not considered as signals,

but only analog and digital signals that are representations of analog physical quantities.

In a communication system, a transmitter encodes a message into a signal, which is carried to a

receiver by the communications channel. For example, the words "Mary had a little lamb" might

be the message spoken into a telephone. The telephone transmitter converts the sounds into an

electrical voltage signal. The signal is transmitted to the receiving telephone by wires; and at the

receiver it is reconverted into sounds.

In telephone networks, signaling, for example common channel signaling, refers to phone

number and other digital control information rather than the actual voice signal.

Signals can be categorized in various ways. The most common distinction is between discrete

and continuous spaces that the functions are defined over, for example discrete and continuous

time domains. Discrete-time signals are often referred to as time series in other fields.

Continuous-time signals are often referred to as continuous signals even when the signal

functions are not continuous; an example is a square-wave signal.

A second important distinction is between discrete-valued and continuous-valued. Digital signals

are sometimes defined as discrete-valued sequences of quantified values that may or may

2.2.2. Types of Signals:

2.2.2.1. Discrete-time and continuous time signal:

If for a signal, the quantities are defined only on a discrete set of times, we call it a discrete-time

signal. In other words, a discrete-time real (or complex) signal can be seen as a function from the

set of integers to the set of real (or complex) numbers. Discrete signals have frequency domain

analysis. A discrete signal usually uses Z- Transform to analyze its frequency response, where

discrete signals are denoted by u (k) and k= -1, 0, 1, 2, 3…..

A continuous-time real (or complex) signal is any real-valued (or complexvalued) function

which is defined for all time t in an interval, most commonly an infinite interval. Continuous

signals have continuous frequency spectrum. It uses Fourier Transform (FT) to obtain its

frequency response, where continuous signals are denoted by u (t), t is continuous.

Page 7: 17. Design of FIR Filter Using Verilog HDL - Copy

2.2.2.2. Analog and Digital signal:

There are mainly two types of signals encountered in practice, analog and digital. In

short, the difference between them is that digital signals are discrete and quantized, as defined

below, while analog signals possess neither property.

DISCRETIZATION:

One of the fundamental distinctions between different types of signals is between

continuous and discrete time. In the mathematical abstraction, the domain of a continuous-time

(CT) signal is the set of real numbers (or some interval thereof), whereas the domain of a

discrete-time (DT) signal is the set of integers (or some interval). What these integers represent

depends on the nature of the signal.

DT signals often arise via sampling of CT signals. An audio signal, for example consists

of a continually fluctuating voltage on a line that can be digitized by an ADC circuit, wherein the

circuit will read the voltage level on the line, say, every 50 μs. The resulting stream of numbers

is stored as digital data on a discrete-time signal. Computers and other digital devices are

restricted to discrete time.

QUANTIZATION:

If a signal is to be represented as a sequence of numbers, it is impossible to maintain

arbitrarily high precision - each number in the sequence must have a finite number of digits. As a

result, the values of such a signal are restricted to belong to a finite set; in other words, it is

quantized.

2.3 Filters in signal processing:

In signal processing, a filter is a device or process that removes from a signal some

unwanted or component or feature. In general, it takes an input that is a function of time and

produces an output that is a function of time (usually delayed from the input).

Filtering is a class of signal processing, the defining feature of filters being the complete

or partial suppression of some aspect of the signal. Most often, this means removing some

frequencies and not others in order to suppress interfering signals and reduce background noise.

Page 8: 17. Design of FIR Filter Using Verilog HDL - Copy

However, filters do not exclusively act in the frequency domain; especially in the field of image

processing many other targets for filtering exist.

There are many different bases of classifying filters and these overlap in many different

ways, there is no simple hierarchical classification. Filters may be:

analog or digital

discrete-time (sampled) or continuous-time

linear or non-linear

passive or active type of continuous-time filter

Infinite impulse response (IIR) or finite impulse response (FIR)

type of discrete-time or digital filter.

2.3.1. Analog Filter:

Analog filters are a basic building block of signal processing much used in electronics.

Amongst their many applications is the separation of an audio signal before application

to bass, mid-range and tweeter loudspeakers; the combining and later separation of multiple

telephone conversations onto a single channel; the selection of a chosen radio station in a radio

receiver and rejection of others.

Passive linear electronic analogue filters are those filters which can be described with

linear differential equations (linear); they are composed of capacitors, inductors and, sometimes,

resistors (passive) and are designed to operate on continuously varying (analogue) signals. There

are many linear filters which are not analogue in implementation (digital filter), and there are

many electronic filters which may not have a passive topology – both of which may have the

same transfer function of the filters described in this article. Analogue filters are most often used

in wave filtering applications, that is, where it is required to pass particular frequency

components and to reject others from analog (continuous-time) signals.

2.3.2. Digital Filters:

In electronics, computer science and mathematics, a digital filter is a system that

performs mathematical operations on a sampled, discrete-time signal to reduce or enhance

certain aspects of that signal. This is in contrast to the other major type of electronic filter, the

analog filter, which is an electronic circuit operating on continuous-time analog signals. An

Page 9: 17. Design of FIR Filter Using Verilog HDL - Copy

analog signal may be processed by a digital filter by first being digitized and represented as a

sequence of numbers, then manipulated mathematically, and then reconstructed as a new analog

signal. In an analog filter, the input signal is "directly" manipulated by the circuit.

A digital filter system usually consists of an analog-to-digital converter (to sample the

input signal), a microprocessor (often a specialized digital signal processor), and a digital-

toanalog converter. Software running on the microprocessor can implement the digital filter by

performing the necessary mathematical operations on the numbers received from the ADC. In

some high performance applications, an FPGA or ASIC is used instead of a general purpose

microprocessor.

Digital filters may be more expensive than an equivalent analog filter due to their

increased complexity, but they make practical many designs that are impractical or impossible as

analog filters. Since digital filters use a sampling process and discrete-time processing, they

experience latency (the difference in time between the input and the response), which is almost

irrelevant in analog filters.

Digital filters are commonplace and an essential element of everyday electronics such as

radios, cell phones, and stereo receivers.

2.3.3. Passive filter:

Passive implementations of linear filters are based on combinations of resistors (R),

inductors (L) and capacitors (C). These types are collectively known as passive filters, because

they do not depend upon an external power supply and/or they do not contain active components

such as transistors.

Inductors block high-frequency signals and conduct low-frequency signals, while

capacitors do the reverse. A filter in which the signal passes through an inductor, or in which a

capacitor provides a path to ground, presents less attenuation to low-frequency signals than high-

frequency signals and is a low-pass filter. If the signal passes through a capacitor, or has a path to

ground through an inductor, then the filter presents less attenuation to high frequency signals

than low-frequency signals and is a high-pass filter. Resistors on their own have no frequency-

selective properties, but are added to inductors and capacitors to determine the time-constants of

the circuit, and therefore the frequencies to which it responds.

Page 10: 17. Design of FIR Filter Using Verilog HDL - Copy

The inductors and capacitors are the reactive elements of the filter. The number of

elements determines the order of the filter. In this context, an LC tuned circuit being used in a

band-pass or band-stop filter is considered a single element even though it consists of two

components.

At high frequencies (above about 100 megahertz), sometimes the inductors consist of

single loops or strips of sheet metal, and the capacitors consist of adjacent strips of metal. These

inductive or capacitive pieces of metal are called stubs.

2.3.4. Active Filter:

Active filters are implemented using a combination of passive and active (amplifying)

components, and require an outside power source. Operational amplifiers are frequently used in

active filter designs. These can have high Q, and can achieve resonance without the use of

inductors. However, their upper frequency limit is limited by the bandwidth of the amplifiers

used.

2.3.5. Linear- Continuous time filter:

Linear continuous-time circuit is perhaps the most common meaning for filter in the

signal processing world, and simply "filter" is often taken to be synonymous. These are filters

that are designed to remove certain frequencies and allow others to pass. Such a filter is, of

necessity, a linear filter. Any non-linearity will result in the output signal containing components

of frequency which were not present in the input signal.

The modern design methodology for linear continuous-time filters is called network

synthesis. Some important filter families designed in this way are;

Chebyshev filter , has the best approximation to the ideal response of any filter for a

specified order and ripple.

Butterworth filter , has a maximally flat frequency response.

Bessel filter , has a maximally flat phase delay.

Elliptic filter , has the steepest cutoff of any filter for a specified order and ripple.

The difference between these filter families is that they all use a different polynomial

function to approximate to the ideal filter response. This results in each having a different

transfer function.

Page 11: 17. Design of FIR Filter Using Verilog HDL - Copy

Another methodology which is dead but can still is seen walking around now and again is the

image parameter method. Filters designed by this methodology are archaically called "wave

filters". Some important filters designed by this method are;

Constant k filter , the original and simplest form of wave filter.

M-derived filter , a modification of the constant k with improved cutoff steepness and

impedance matching.

2.3.6. Terminology to classify linear filter:

Some terms used to describe and classify linear filters:

The frequency response can be classified into a number of different band forms describing

which frequencies the filter passes (the pass band) and which it rejects (the stop band);

Low-pass filter – low frequencies are passed, high frequencies are attenuated.

High-pass filter – high frequencies are passed, Low frequencies are attenuated.

Band-pass filters – only frequencies in a frequency band are passed.

Band-stop filter or band-reject filters – only frequencies in a frequency band are

attenuated.

Notch filter – rejects just one specific frequency - an extreme band-stop filter.

Comb filter – has multiple regularly spaced narrow pass bands giving the band form the

appearance of a comb.

All-pass filter – all frequencies are passed, but the phase of the output is modified.

Cutoff frequency is the frequency beyond which the filter will not pass signals. It is

usually measured at a specific attenuation such as 3dB.

Roll-off is the rate at which attenuation increases beyond the cut-off frequency.

Transition band , the (usually narrow) band of frequencies between a pass band and stop

band.

Ripple is the variation of the filters insertion loss in the pass band.

The order of a filter is the degree of the approximating polynomial and in passive filters

corresponds to the number of elements required to build it. Increasing order increases

roll-off and brings the filter closer to the ideal response.

Page 12: 17. Design of FIR Filter Using Verilog HDL - Copy

2.3.7. FIR Filter:

A Finite Impulse Response (FIR) filter is a type of a digital filter. The impulse response,

the filter's response to a Kronecker delta input, is finite because it settles to zero in a finite

number of sample intervals. This is in contrast to Infinite Impulse Response (IIR) filters, which

have internal feedback and may continue to respond indefinitely. The impulse response of an

Nth-order FIR filter lasts for N+ 1 sample, and then dies to zero.

The difference equation that defines the output of an FIR filter in terms of its input is:

Y[n] = b0x[n] +b1x [n-1] +b2x [n-2]………………..+ bn x [n-N]

where:

x[n] is the input signal,

y[n] is the output signal,

bi are the filter coefficients, and

N is the filter order – an Nth-order filter has (N + 1) terms on the right-hand side;

these are commonly referred to as taps.

This equation can also be expressed as a convolution of the coefficient sequence bi with the input

signal:

That is, the filter output is a weighted sum of the current and a finite number of previous

values of the input.

2.3.8. IIR filters:

Infinite Impulse Response (IIR) is a property of signal processing systems. Systems with

this property are known as IIR systems or, when dealing with filter systems, as IIR filters. IIR

systems have an impulse response function that is non-zero over an infinite length of time. This

is in contrast to FIR, which have fixed-duration impulse responses. The simplest analog IIR filter

is an RC filter made up of a single resistor (R) feeding into a node shared with a single capacitor

(C). This filter has an exponential impulse response characterized by an RC time constant.

Page 13: 17. Design of FIR Filter Using Verilog HDL - Copy

IIR filters may be implemented as either analog or digital filters. In digital IIR filters, the

output feedback is immediately apparent in the equations defining the output. Note that unlike

with FIR filters, in designing IIR filters it is necessary to carefully consider "time zero" case in

which the outputs of the filter have not yet been clearly defined.

Design of digital IIR filters is heavily dependent on that of their analog counterparts

because there are plenty of resources, works and straightforward design methods concerning

analog feedback filter design while there are hardly any for digital IIR filters. As a result,

usually, when a digital IIR filter is going to be implemented, an analog filter (e.g. Chebyshev

filter, Butterworth filter, Elliptic filter) is first designed and then is converted to a digital filter by

applying discretization techniques such as Bilinear transform or Impulse invariance.

Digitals filters are often described and implemented in terms of the difference equation that

defines how the output signal is related to the input signal:

where:

P is the feed forward filter order

bi are the feed forward filter coefficients

Q is the feedback filter order

ai are the feedback filter coefficients

X[n] is the input signal

Y[n]Is the output signal.

A more condensed form of the difference equation is:

CHAPTER 3

DESIGN METHODOLOGY

Page 14: 17. Design of FIR Filter Using Verilog HDL - Copy

3.1. INTRODUCTION:

A Finite Impulse Response (FIR) filter is a type of a digital filter. The direct

implementation of the FIR filter requires more number of resources, to reduce the number of

resources Distributed Arithmetic came into existence which replaces multiplications by additions

and siftings. To reduce ROM size the proposed DA algorithm came into existence which uses

multiplexers. The LUT-less algorithm uses multiplexers to remove the usage of ROM memory.

3.2. DIRECT IMPLEMENTATION OF FIR FILTER:

Generally FIR filter is designed using Multiply and Accumulate (MAC) principle where

the filter coefficients undergo multiplication and additions. The MAC principle is common in

Digital Signal Processing algorithms.

The following expression explains the MAC operation.

Note a few points:

h=[h0,h1, h2,…, hK-1] is a matrix of “constant” values

h=[h0,h1, h2,…, hK-1] is a matrix of “constant” values

Each hk is of M-bits

Each hk is of N-bits

y should be able large enough to accommodate the result

A numerical example:

Page 15: 17. Design of FIR Filter Using Verilog HDL - Copy

Fig 3.1. Block diagram of 1-tap filter using direct implementation.

Fig 3.2. Block diagram of 4-tap FIR filter using direct implementation.

In direct implementation we follow Multiply and Accumulate (MAC) operation. In this

type of operation we directly multiply the coefficient of the filter with the variable and add them

to get final result. If we consider 1-tap filter, filter coefficient h0 is directly multiplied with

Page 16: 17. Design of FIR Filter Using Verilog HDL - Copy

variable x0 and result is assigned to the output. In 4-tap filter filter-coefficient are multiplied

with corresponding variables, the result of four multipliers are added and assigned to the result.

CHAPTER 4

INTRODUCTION TO VLSI

Page 17: 17. Design of FIR Filter Using Verilog HDL - Copy

Very-large-scale integration (VLSI) is the process of creating integrated circuits by

combining thousands of transistor-based circuits into a single chip. VLSI began in the 1970s

when complex semiconductor and communication technologies were being developed. The

microprocessor is a VLSI device. The term is no longer as common as it once was, as chips have

increased in complexity into the hundreds of millions of transistors.

Overview

The first semiconductor chips held one transistor each. Subsequent advances added more

and more transistors, and, as a consequence, more individual functions or systems were

integrated over time. The first integrated circuits held only a few devices, perhaps as many as ten

diodes, transistors, resistors and capacitors, making it possible to fabricate one or more logic

gates on a single device. Now known retrospectively as "small-scale integration" (SSI),

improvements in technique led to devices with hundreds of logic gates, known as large-scale

integration (LSI), i.e. systems with at least a thousand logic gates. Current technology has moved

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

millions of individual transistors.

At one time, there was an 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 greater than VLSI levels of integration are no longer in widespread use.

Even VLSI is now somewhat quaint, given the common assumption that all microprocessors are

VLSI or better.

As of early 2008, billion-transistor processors are commercially available, an

example of which is Intel's Montecito Itanium chip. This is expected to become more

Page 18: 17. Design of FIR Filter Using Verilog HDL - Copy

commonplace as semiconductor fabrication moves from the current generation of 65 nm

processes to the next 45 nm generations (while experiencing new challenges such as increased

variation across process corners). Another notable example is NVIDIA’s 280 series GPU.

This microprocessor is unique in the fact that its 1.4 Billion transistor count,

capable of a teraflop of performance, is almost entirely dedicated to logic (Itanium's transistor

count is largely due to the 24MB L3 cache). Current designs, as opposed to the earliest devices,

use extensive design automation and automated logic synthesis to lay out the transistors,

enabling higher levels of complexity in the resulting logic functionality. Certain high-

performance logic blocks like the SRAM cell, however, are still designed by hand to ensure the

highest efficiency (sometimes by bending or breaking established design rules to obtain the last

bit of performance by trading stability).

What is VLSI?

VLSI stands for "Very Large Scale Integration". This is the field

which involves packing more and more logic devices into smaller and smaller areas.

VLSI

1. Simply we say Integrated circuit is many transistors on one chip.

2. Design/manufacturing of extremely small, complex circuitry using modified

semiconductor material

3. Integrated circuit (IC) may contain millions of transistors, each a few mm in size

4. Applications wide ranging: most electronic logic devices

History of Scale Integration

late 40s Transistor invented at Bell Labs

Page 19: 17. Design of FIR Filter Using Verilog HDL - Copy

late 50s First IC (JK-FF by Jack Kilby at TI)

early 60s Small Scale Integration (SSI)

10s of transistors on a chip

late 60s Medium Scale Integration (MSI)

100s of transistors on a chip

early 70s Large Scale Integration (LSI)

1000s of transistor on a chip

early 80s VLSI 10,000s of transistors on a

chip (later 100,000s & now 1,000,000s)

Ultra LSI is sometimes used for 1,000,000s

SSI - Small-Scale Integration (0-102)

MSI - Medium-Scale Integration (102-103)

LSI - Large-Scale Integration (103-105)

VLSI - Very Large-Scale Integration (105-107)

ULSI - Ultra Large-Scale Integration (>=107)

Advantages of ICs over discrete components

While we will concentrate on integrated circuits , the properties of

integrated circuits-what we can and cannot efficiently put in an integrated circuit-largely

determine the architecture of the entire system. Integrated circuits improve system characteristics

in several critical ways. ICs have three key advantages over digital circuits built from discrete

components:

Page 20: 17. Design of FIR Filter Using Verilog HDL - Copy

Size. Integrated circuits are much smaller-both transistors and wires are shrunk to

micrometer sizes, compared to the millimeter or centimeter scales of discrete

components. Small size leads to advantages in speed and power consumption,

since smaller components have smaller parasitic resistances, capacitances, and

inductances.

Speed. Signals can be switched between logic 0 and logic 1 much quicker within

a chip than they can between chips. Communication within a chip can occur

hundreds of times faster than communication between chips on a printed circuit

board. The high speed of circuits on-chip is due to their small size-smaller

components and wires have smaller parasitic capacitances to slow down the

signal.

Power consumption. Logic operations within a chip also take much less power.

Once again, lower power consumption is largely due to the small size of circuits

on the chip-smaller parasitic capacitances and resistances require less power to

drive them.

VLSI and systems

These advantages of integrated circuits translate into advantages at the system level:

Smaller physical size. Smallness is often an advantage in itself-consider

portable televisions or handheld cellular telephones.

Lower power consumption. Replacing a handful of standard parts with a

single chip reduces total power consumption. Reducing power consumption

has a ripple effect on the rest of the system: a smaller, cheaper power supply

Page 21: 17. Design of FIR Filter Using Verilog HDL - Copy

can be used; since less power consumption means less heat, a fan may no

longer be necessary; a simpler cabinet with less shielding for electromagnetic

shielding may be feasible, too.

Reduced cost. Reducing the number of components, the power supply

requirements, cabinet costs, and so on, will inevitably reduce system cost. The

ripple effect of integration is such that the cost of a system built from custom

ICs can be less, even though the individual ICs cost more than the standard

parts they replace.

Understanding why integrated circuit technology has such profound influence on the design of

digital systems requires understanding both the technology of IC manufacturing and the

economics of ICs and digital systems.

Applications

Electronic system in cars.

Digital electronics control VCRs

Transaction processing system, ATM

Personal computers and Workstations

Medical electronic systems.

Etc….

Applications of VLSI

Electronic systems now perform a wide variety of tasks in daily life. Electronic

systems in some cases have replaced mechanisms that operated mechanically, hydraulically, or

by other means; electronics are usually smaller, more flexible, and easier to service. In other

Page 22: 17. Design of FIR Filter Using Verilog HDL - Copy

cases electronic systems have created totally new applications. Electronic systems perform a

variety of tasks, some of them visible, some more hidden:

Personal entertainment systems such as portable MP3 players and DVD

players perform sophisticated algorithms with remarkably little energy.

Electronic systems in cars operate stereo systems and displays; they also

control fuel injection systems, adjust suspensions to varying terrain, and

perform the control functions required for anti-lock braking (ABS) systems.

Digital electronics compress and decompress video, even at high-definition

data rates, on-the-fly in consumer electronics.

Low-cost terminals for Web browsing still require sophisticated electronics,

despite their dedicated function.

Personal computers and workstations provide word-processing, financial

analysis, and games. Computers include both central processing units (CPUs)

and special-purpose hardware for disk access, faster screen display, etc.

Medical electronic systems measure bodily functions and perform complex

processing algorithms to warn about unusual conditions. The availability of

these complex systems, far from overwhelming consumers, only creates

demand for even more complex systems.

The growing sophistication of applications continually pushes the design and manufacturing of

integrated circuits and electronic systems to new levels of complexity. And perhaps the most

amazing characteristic of this collection of systems is its variety-as systems become more

complex, we build not a few general-purpose computers but an ever wider range of special-

Page 23: 17. Design of FIR Filter Using Verilog HDL - Copy

purpose systems. Our ability to do so is a testament to our growing mastery of both integrated

circuit manufacturing and design, but the increasing demands of customers continue to test the

limits of design and manufacturing

ASIC

An Application-Specific Integrated Circuit (ASIC) is an integrated circuit

(IC) customized for a particular use, rather than intended for general-purpose use. For example, a

chip designed solely to run a cell phone is an ASIC. Intermediate between ASICs and industry

standard integrated circuits, like the 7400 or the 4000 series, are application specific standard

products (ASSPs).

As feature sizes have shrunk and design tools improved over the years, the

maximum complexity (and hence functionality) possible in an ASIC has grown from 5,000 gates

to over 100 million. Modern ASICs often include entire 32-bit processors, memory blocks

including ROM, RAM, EEPROM, Flash and other large building blocks. Such an ASIC is often

termed a SoC (system-on-a-chip). Designers of digital ASICs use a hardware description

language (HDL), such as Verilog or VHDL, to describe the functionality of ASICs.

Field-programmable gate arrays (FPGA) are the modern-day technology for building a

breadboard or prototype from standard parts; programmable logic blocks and programmable

interconnects allow the same FPGA to be used in many different applications. For smaller

designs and/or lower production volumes, FPGAs may be more cost effective than an ASIC

design even in production.

Page 24: 17. Design of FIR Filter Using Verilog HDL - Copy

1. An application-specific integrated circuit (ASIC) is an integrated circuit (IC)

customized for a particular use, rather than intended for general-purpose use.

2. A Structured ASIC falls between an FPGA and a Standard Cell-based ASIC

3. Structured ASIC’s are used mainly for mid-volume level designs

4. The design task for structured ASIC’s is to map the circuit into a fixed arrangement

of known cells

INTRODUCTION TO XILINX

Migrating Projects from Previous ISE Software Releases

Page 25: 17. Design of FIR Filter Using Verilog HDL - Copy

When you open a project file from a previous release, the ISE® software prompts you to migrate

your project. If you click Backup and Migrate or Migrate Only, the software automatically

converts your project file to the current release. If you click Cancel, the software does not

convert your project and, instead, opens Project Navigator with no project loaded.

Note After you convert your project, you cannot open it in previous versions of the ISE

software, such as the ISE 11 software. However, you can optionally create a backup of the

original project as part of project migration, as described below.

To Migrate a Project

1. In the ISE 12 Project Navigator, select File > Open Project.

2. In the Open Project dialog box, select the .xise file to migrate.

Note You may need to change the extension in the Files of type field to display .npl

(ISE 5 and ISE 6 software) or .ise (ISE 7 through ISE 10 software) project files.

3. In the dialog box that appears, select Backup and Migrate or Migrate Only.

4. The ISE software automatically converts your project to an ISE 12 project.

Note If you chose to Backup and Migrate, a backup of the original project is created at

project_name_ise12migration.zip.

5. Implement the design using the new version of the software.

Note Implementation status is not maintained after migration.

Properties

For information on properties that have changed in the ISE 12 software, see ISE 11 to ISE 12

Properties Conversion.

Page 26: 17. Design of FIR Filter Using Verilog HDL - Copy

IP Modules

If your design includes IP modules that were created using CORE Generator™ software or

Xilinx® Platform Studio (XPS) and you need to modify these modules, you may be required to

update the core. However, if the core netlist is present and you do not need to modify the core,

updates are not required and the existing netlist is used during implementation.

Obsolete Source File Types

The ISE 12 software supports all of the source types that were supported in the ISE 11

software.

If you are working with projects from previous releases, state diagram source files (.dia), ABEL

source files (.abl), and test bench waveform source files (.tbw) are no longer supported. For state

diagram and ABEL source files, the software finds an associated HDL file and adds it to the

project, if possible. For test bench waveform files, the software automatically converts the TBW

file to an HDL test bench and adds it to the project. To convert a TBW file after project

migration, see Converting a TBW File to an HDL Test Bench.

Migrating Projects from Previous ISE Software Releases

When you open a project file from a previous release, the ISE® software prompts you to migrate

your project. If you click Backup and Migrate or Migrate Only, the software automatically

Page 27: 17. Design of FIR Filter Using Verilog HDL - Copy

converts your project file to the current release. If you click Cancel, the software does not

convert your project and, instead, opens Project Navigator with no project loaded.

Note After you convert your project, you cannot open it in previous versions of the ISE

software, such as the ISE 11 software. However, you can optionally create a backup of the

original project as part of project migration, as described below.

To Migrate a Project

1. In the ISE 12 Project Navigator, select File > Open Project.

2. In the Open Project dialog box, select the .xise file to migrate.

Note You may need to change the extension in the Files of type field to display .npl

(ISE 5 and ISE 6 software) or .ise (ISE 7 through ISE 10 software) project files.

3. In the dialog box that appears, select Backup and Migrate or Migrate Only.

4. The ISE software automatically converts your project to an ISE 12 project.

Note If you chose to Backup and Migrate, a backup of the original project is created at

project_name_ise12migration.zip.

5. Implement the design using the new version of the software.

Note Implementation status is not maintained after migration.

Properties

For information on properties that have changed in the ISE 12 software, see ISE 11 to ISE 12

Properties Conversion.

IP Modules

Page 28: 17. Design of FIR Filter Using Verilog HDL - Copy

If your design includes IP modules that were created using CORE Generator™ software or

Xilinx® Platform Studio (XPS) and you need to modify these modules, you may be required to

update the core. However, if the core netlist is present and you do not need to modify the core,

updates are not required and the existing netlist is used during implementation.

Obsolete Source File Types

The ISE 12 software supports all of the source types that were supported in the ISE 11

software.

If you are working with projects from previous releases, state diagram source files (.dia), ABEL

source files (.abl), and test bench waveform source files (.tbw) are no longer supported. For state

diagram and ABEL source files, the software finds an associated HDL file and adds it to the

project, if possible. For test bench waveform files, the software automatically converts the TBW

file to an HDL test bench and adds it to the project. To convert a TBW file after project

migration, see Converting a TBW File to an HDL Test Bench.

Using ISE Example Projects

Page 29: 17. Design of FIR Filter Using Verilog HDL - Copy

To help familiarize you with the ISE® software and with FPGA and CPLD designs, a set of

example designs is provided with Project Navigator. The examples show different design

techniques and source types, such as VHDL, Verilog, schematic, or EDIF, and include different

constraints and IP.

To Open an Example

1. Select File > Open Example.

2. In the Open Example dialog box, select the Sample Project Name.

Note To help you choose an example project, the Project Description field describes

each project. In addition, you can scroll to the right to see additional fields, which

provide details about the project.

3. In the Destination Directory field, enter a directory name or browse to the

directory.

4. Click OK.

The example project is extracted to the directory you specified in the Destination Directory

field and is automatically opened in Project Navigator. You can then run processes on the

example project and save any changes.

Note If you modified an example project and want to overwrite it with the original example

project, select File > Open Example, select the Sample Project Name, and specify the same

Destination Directory you originally used. In the dialog box that appears, select Overwrite the

existing project and click OK.

Creating a Project

Page 30: 17. Design of FIR Filter Using Verilog HDL - Copy

Project Navigator allows you to manage your FPGA and CPLD designs using an ISE® project,

which contains all the source files and settings specific to your design. First, you must create a

project and then, add source files, and set process properties. After you create a project, you can

run processes to implement, constrain, and analyze your design. Project Navigator provides a

wizard to help you create a project as follows.

Note If you prefer, you can create a project using the New Project dialog box instead of the

New Project Wizard. To use the New Project dialog box, deselect the Use New Project wizard

option in the ISE General page of the Preferences dialog box.

To Create a Project

1. Select File > New Project to launch the New Project Wizard.

2. In the Create New Project page, set the name, location, and project type, and

click Next.

3. For EDIF or NGC/NGO projects only: In the Import EDIF/NGC Project page,

select the input and constraint file for the project, and click Next.

4. In the Project Settings page, set the device and project properties, and click Next.

5. In the Project Summary page, review the information, and click Finish to create

the project.

Project Navigator creates the project file (project_name.xise) in the directory you specified.

After you add source files to the project, the files appear in the Hierarchy pane of the Design

panel. Project Navigator manages your project based on the design properties (top-level module

type, device type, synthesis tool, and language) you selected when you created the project. It

Page 31: 17. Design of FIR Filter Using Verilog HDL - Copy

organizes all the parts of your design and keeps track of the processes necessary to move the

design from design entry through implementation to programming the targeted Xilinx® device.

Note For information on changing design properties, see Changing Design Properties.

You can now perform any of the following:

Create new source files for your project.

Add existing source files to your project.

Run processes on your source files.

Modify process properties.

Creating a Copy of a Project

You can create a copy of a project to experiment with different source options and

implementations. Depending on your needs, the design source files for the copied project and

their location can vary as follows:

Design source files are left in their existing location, and the copied project

points to these files.

Design source files, including generated files, are copied and placed in a

specified directory.

Design source files, excluding generated files, are copied and placed in a

specified directory.

Copied projects are the same as other projects in both form and function. For example, you can

do the following with copied projects:

Page 32: 17. Design of FIR Filter Using Verilog HDL - Copy

Open the copied project using the File > Open Project menu command.

View, modify, and implement the copied project.

Use the Project Browser to view key summary data for the copied project and

then, open the copied project for further analysis and implementation, as described in

Using the Project Browser.

Note Alternatively, you can create an archive of your project, which puts all of the project

contents into a ZIP file. Archived projects must be unzipped before being opened in Project

Navigator. For information on archiving, see Creating a Project Archive.

To Create a Copy of a Project

1. Select File > Copy Project.

2. In the Copy Project dialog box, enter the Name for the copy.

Note The name for the copy can be the same as the name for the project, as long as you

specify a different location.

3. Enter a directory Location to store the copied project.

4. Optionally, enter a Working directory.

By default, this is blank, and the working directory is the same as the project directory.

However, you can specify a working directory if you want to keep your ISE® project

file (.xise extension) separate from your working area.

5. Optionally, enter a Description for the copy.

The description can be useful in identifying key traits of the project for reference later.

6. In the Source options area, do the following:

o Select one of the following options:

Page 33: 17. Design of FIR Filter Using Verilog HDL - Copy

o Keep sources in their current locations - to leave the design source files

in their existing location.

If you select this option, the copied project points to the files in their

existing location. If you edit the files in the copied project, the changes

also appear in the original project, because the source files are shared

between the two projects.

o Copy sources to the new location - to make a copy of all the design

source files and place them in the specified Location directory.

If you select this option, the copied project points to the files in the specified

directory. If you edit the files in the copied project, the changes do not appear in

the original project, because the source files are not shared between the two

projects.

o Optionally, select Copy files from Macro Search Path directories to copy files

from the directories you specify in the Macro Search Path property in the Translate Properties

dialog box. All files from the specified directories are copied, not just the files used by the

design.

Note If you added a netlist source file directly to the project as described in

Working with Netlist-Based IP, the file is automatically copied as part of Copy

Project because it is a project source file. Adding netlist source files to the project

is the preferred method for incorporating netlist modules into your design,

because the files are managed automatically by Project Navigator.

o Optionally, click Copy Additional Files to copy files that were not included in

the original project. In the Copy Additional Files dialog box, use the Add Files and Remove

Page 34: 17. Design of FIR Filter Using Verilog HDL - Copy

Files buttons to update the list of additional files to copy. Additional files are copied to the

copied project location after all other files are copied.

7. To exclude generated files from the copy, such as implementation results and

reports, select Exclude generated files from the copy.

When you select this option, the copied project opens in a state in which processes have

not yet been run.

8. To automatically open the copy after creating it, select Open the copied project.

Note By default, this option is disabled. If you leave this option disabled, the original

project remains open after the copy is made.

Click OK.

Creating a Project Archive

A project archive is a single, compressed ZIP file with a .zip extension. By default, it contains all

project files, source files, and generated files, including the following:

User-added sources and associated files

Remote sources

Verilog `include files

Files in the macro search path

Generated files

Non-project files

To Archive a Project

1. Select Project > Archive.

Page 35: 17. Design of FIR Filter Using Verilog HDL - Copy

2. In the Project Archive dialog box, specify a file name and directory for the ZIP

file.

3. Optionally, select Exclude generated files from the archive to exclude

generated files and non-project files from the archive.

4. Click OK.

A ZIP file is created in the specified directory. To open the archived project, you must first

unzip the ZIP file, and then, you can open the project.

Note Sources that reside outside of the project directory are copied into a remote_sources

subdirectory in the project archive. When the archive is unzipped and opened, you must either

specify the location of these files in the remote_sources subdirectory for the unzipped project, or

manually copy the sources into their original location.

Page 36: 17. Design of FIR Filter Using Verilog HDL - Copy

INTRODUCTION TO VERILOG HDL

What is HDL

A typical Hardware Description Language (HDL) supports a mixed-level description in

which gate and netlist constructs are used with functional descriptions. This mixed-level

capability enables you to describe system architectures at a high level of abstraction, then

incrementally refine a design’s detailed gate-level implementation.

HDL descriptions offer the following advantages:

• We can verify design functionality early in the design process. A design written as an HDL

description can be simulated immediately. Design simulation at this high level — at the

gate-level before implementation — allows you to evaluate architectural and design decisions.

• An HDL description is more easily read and understood than a netlist or schematic description.

HDL descriptions provide technology-independent documentation of a design and its

functionality. Because the initial HDL design description is technology independent, you

can use it again to generate the design in a different technology, without having to

translate it from the original technology.

• Large designs are easier to handle with HDL tools than schematic tools.

Verilog Overview :

Introduction

Page 37: 17. Design of FIR Filter Using Verilog HDL - Copy

Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL). A hardware description

Language is a language used to describe a digital system, for example, a microprocessor or

a memory or a simple flip-flop. This just means that, by using a HDL one can describe any

hardware (digital ) at any level.

Verilog provides both behavioral and structural language structures. These structures allow

expressing design objects at high and low levels of abstraction. Designing hardware with a

language such as Verilog allows using software concepts such as parallel processing and

object-oriented programming. Verilog has a syntax similar to C and Pascal.

Design Styles

Verilog like any other hardware description language permits the designers to create a design in

either Bottom-up or Top-down methodology.

Bottom-Up Design

The traditional method of electronic design is bottom-up. Each design is performed at the

gate-level using the standard gates. With increasing complexity of new designs this

approach is nearly impossible to maintain. New systems consist of ASIC or

microprocessors with a complexity of thousands of transistors. These traditional bottom-up

designs have to give way to new structural, hierarchical design methods. Without these new

design practices it would be impossible to handle the new complexity.

Top-Down Design

The desired design-style of all designers is the top-down design. A real top-down design

allows early testing, easy change of different technologies, a structured system design and

Page 38: 17. Design of FIR Filter Using Verilog HDL - Copy

offers many other advantages. But it is very difficult to follow a pure top-down design. Due

to this fact most designs are mix of both the methods, implementing some key elements of

both design styles.

Complex circuits are commonly designed using the top down methodology. Various

specification levels are required at each stage of the design process.

Abstraction Levels of Verilog

Verilog supports a design at many different levels of abstraction. Three of them are very

important:

Behavioral level

Register-Transfer Level

Gate Level

Behavioral level

This level describes a system by concurrent algorithms (Behavioral). Each algorithm itself is

sequential, that means it consists of a set of instructions that are executed one after the other.

Functions, Tasks and Always blocks are the main elements. There is no regard to the structural

realization of the design.

Register-Transfer Level

Designs using the Register-Transfer Level specify the characteristics of a circuit by operations

and the transfer of data between the registers. An explicit clock is used. RTL design contains

Page 39: 17. Design of FIR Filter Using Verilog HDL - Copy

exact timing possibility; operations are scheduled to occur at certain times. Modern definition

of a RTL code is "Any code that is synthesizable is called RTL code".

Gate Level

Within the logic level the characteristics of a system are described by logical links and

their timing properties. All signals are discrete signals. They can only have definite logical

values (`0', `1', `X', `Z`). The usable operations are predefined logic primitives (AND, OR,

NOT etc gates). Using gate level modeling might not be a good idea for any level of logic

design. Gate level code is generated by tools like synthesis tools and this Netlist is used for gate

level simulation and for backend.

vlsi design flow

Introduction

Design is the most significant human endeavor: It is the channel through which creativity is

realized. Design determines our every activity as well as the results of those activities; thus it

includes planning, problem solving, and producing. Typically, the term "design" is applied

to the planning and production of artifacts such as jewelry, houses, cars, and cities. Design is

also found in problem-solving tasks such as mathematical proofs and games. Finally,

design is found in pure planning activities such as making a law or throwing a party.

More specific to the matter at hand is the design of manufacturable artifacts. This

activity uses all facets of design because, in addition to the specification of a producible

object, it requires the planning of that object's manufacture, and much problem solving

along the way. Design of objects usually begins with a rough sketch that is refined by

Page 40: 17. Design of FIR Filter Using Verilog HDL - Copy

adding precise dimensions. The final plan must not only specify exact sizes, but also include a

scheme for ordering the steps of production. Additional considerations depend on the

production environment; for example, whether one or ten million will be made, and how

precisely the manufacturing environment can be controlled.

A semiconductor process technology is a method by which working circuits can be

manufactured from designed specifications. There are many such technologies, each of

which creates a different environment or style of design.

Page 41: 17. Design of FIR Filter Using Verilog HDL - Copy

SOURCE CODE

Page 42: 17. Design of FIR Filter Using Verilog HDL - Copy

RESULTS

Page 43: 17. Design of FIR Filter Using Verilog HDL - Copy