FFTs Using Verilog
FFTs Using Verilog
On
BACHELOR OF TECHNOLOGY
In
ELECTRONICS AND COMMUNICATION ENGINEERING
By
This is to certify that the mini project entitled “4-Bit and 8-Bit FFTs using Verilog”
is being submitted by M. Sai Sriram (19B61A0474) in partial fulfilment of the academic
requirements for the award of degree of Bachelor of Technology in ELECTRONICS
AND COMMUNICATION ENGINEERING in NALLA MALLA REDDY
ENGINEERING COLLEGE, Autonomous Institution, JNTU - HYDERABAD during the
academic year 2022-2023.
EXTERNAL EXAMINER
CANDIDATE’S DECLARATION
I hereby declare that the project report entitled “4-Bit and 8-Bit FFTs using
Verilog” is the bona-fide work done and submitted by me under the guidance of
Dr. M. SENTHIL KUMAR, in partial fulfilment of the requirements for the degree of
Bachelor of Technology in Electronics and Communication Engineering to the
Department of Electronics & Communication Engineering, Nalla Malla Reddy Engineering
College, Divya Nagar, Medchal-Malkajgiri Dist.
Further I declare that the report has not been submitted by anyone to any other
institute or university for the award of any other degree.
DATE:
ACKNOWLEDGEMENT
Finally, I would like to thank our parents and friends for their continuous
encouragement and valuable support to me.
ABSTRACT
Chapter 1: Introduction
1.1 Introduction 01
1.2 Literature Survey 02
Chapter 4: Results
4.1 Output image of 4-bit FFT 15
4.2 Output image of 8-bit FFT 16
Chapter 5: Applications 17
Chapter 6:
6.1 Advantages 18
6.2 Disadvantages 19
References 20
4-bit & 8-bit FFTs using Verilog 1
CHAPTER 1
INTRODUCTION
1.1 Introduction
In a Bachelor's Degree, there are various departments, various courses, and for
different courses there are different methods to complete their bachelor‟s degree. In that way,
we have a great chance to learn and explore to obtain the same outputs by applying our
different levels of methodologies.
In that way, our ECE under Bachelor of Technology has an ample of opportunities in
both career wise and in exploring technologies like hardware related, software related,
business development related and not only these, it has more learning features to explore the
real world.
Also, in our graduation times, we apply different technologies to obtain the same
outputs, and it's also important to do so. In that manner of applying different techniques for
the same outcomes we get a lot of knowledge and we know the pros and cons of applying it.
This project replicates such technology for the same outcomes, and will get a better
understanding of what and which is better to opt for and go for it.
This particular project is used to find what and which is a better way to opt and how
to understand what are the applications behind applying two different techniques for the same
outcome.
For this, we have two techniques and we will compare the outcomes with each other
and will understand and decide which is easy for real time application purposes.
To implement this, we‟ll deal with two types of softwares namely, MATLAB and
XILINX which both are used for simulation purposes.
CHAPTER 2
PROJECT OVERVIEW
Block Diagram :
In 4-bit FFT, we have 4 bit inputs namely, x(0), x(2), x(1), x(3). For these we apply fast
fourier transform technique which is one of methods in signal transformation from discrete
form. The fast fourier transform in short FFT is a transformation method used in signals and
system domain.
In this, first two inputs form a pair and are received at two respective following
junctions. After that, the remaining two follow the same step to obtain at their junctions. Then
after the alternative points will join to get the altered output. When inputs are as follows x(0),
x(2), x(1), x(3), the outputs will be as follows x(0), x(2), x(1), x(3).
Block Diagram:
In 8-bit FFT the inputs are as follows, x(0), x(4), x(2), x(6), x(1), x(5), x(3), x(7).For
these we apply fast fourier transform technique which is one of methods in signal
transformation from discrete form. The fast fourier transform in short FFT is a transformation
method used in signals and system domain.
In this, first two inputs form a pair and are received at two respective following
junctions. After that, the remaining two follow the same step to obtain at their junctions. Then
after the alternative points will join to get the altered output. Here the pairing of inputs will be
as follows, x(0), x(4), x(2), x(6) are first set of 4, which will be x(0), x(1), x(2), x(3) &
remaining inputs form second set of 4 which will be x(1), x(5), x(3), x(7). For this we will
obtain the output as x(4), x(5), x(6), x(7).
The two sets of output will get at the same time which all 8 inputs will be given and
applied FFT, and get output as mentioned above.
Generally, we use MATLAB tools for implementing any signal transformation. In the
field of communication the signals and systems play vital roles. For this there are Basic
Simulation and Digital Signal Processing labs for simulating the signals.
In that we use MATLAB tools for this. MATLAB is commonly used for signal
simulations. This may be considered as a previous method of technology. Here Programming
is easy and implementation of code is quite simple.
But, we use Verilog in this project. From this, we have different uses, like writing code
in three different levels, and understanding each and every step in a simple manner.
CHAPTER 3
SOFTWARE DESCRIPTION
For any VLSI projects, the main and one and only source is to develop a project using
the Xilinx Software. Xilinx is a company where there are products of different versions of
ISE. ISE stands for Integrated Simulation Environment. Xilinx is not an IDE, which cannot
interface with hardware components.
Xilinx, Inc. was an American technology and semiconductor company that primarily
supplied programmable logic devices. The company was known for inventing the first
commercially viable field programmable gate array (FPGA) and creating the first fabless
manufacturing model.
Xilinx was co-founded by Ross Freeman, Bernard Vonderschimit, and James in 1984
and the company went public on the NASDAQ in 1990. AMD announced its acquisition of
Xilinx in October 2020 and the deal was completed on February 14, 2022 through an all-
stock transaction worth an estimated $50 billion.
Xilinx was founded in Silicon Valley in 1984 and headquartered in San Jose, USA,
with additional offices in Longmont, USA; Dublin, Ireland; Singapore; Hyderabad, India;
Beijing , China; Shanghai, China; Brisbane, Australia and Tokyo, Japan.
According to Bill Carter, former CTO and current fellow at Xilinx, the choice of the
name Xilinx refers to the chemical symbol for silicon Si.The "linx" represents programmable
links that connect programmable logic blocks together. The 'X's at each end represent the
programmable logic blocks.
Xilinx sells a broad range of FPGAs, complex programmable logic devices (CPLDs),
design tools, intellectual property and reference designs.Xilinx customers represent just over
half of the entire programmable logic market, at 51%. Altera (now Intel) is Xilinx's strongest
competitor with 34% of the market. Other key players in this market are Actel (now
Microsemi), and Lattice Semiconductor.
input [3:0] a;
input[3:0] b;
input[3:0] c;
input[3:0] d;
output [5:0] A;
output[5:0] B;
output[5:0] C;
output[5:0] D;
assign A = a+b+c+d;
assign Ai=0;
assign B=a-c;
assign Bi=d-b;
assign C= a+c-b-d;
assign Ci=0;
assign D=a-c;
endmodule
real p= 0.707;
assign A=a+b+c+d+e+f+g+h;
assign Ai=0;
assign B=(a-e)+p*(b-f+h-d);
assign Bi=(g-c)+p*(h-d-b+f);
assign C= a+e-g-c;
assign D=(a-e)+p*(f-b+d-h);
assign Di=(c-g)+p*(h+f-b-d);
assign E=a+e+c+g-b-f-d-h;
assign Ei=0;
assign F=(a-e)+p*(f-b-h+d);
assign Fi=(g-c)+p*(b+d-h-f);
assign G=a+e-g-c;
assign Gi=b+f-d-h;
assign H= (a-e)+p*(b+h-f-d);
assign Hi=(c-g)+p*(b+d-h-f);
endmodule
CHAPTER 4
OUTPUT IMAGES
CHAPTER 5
APPLICATIONS
● The fast fourier transform is used to transform the discrete signal and
gives output as fast as possible.
● It is used in both time domain and frequency domain
● It is mainly used for reducing the number of steps involved in
transforming a signal.
● This is obtained by applying FFT for discrete signal in decimation in
time, well known by, DIT. So, the name is well known by DIT-FFT &
also DIF-FFT.
● This fast fourier transform is mainly focused on, reducing the number of
steps involved in transformation techniques.
● So, by process like 4-radix, 8-radix, this FFT is implemented and gives
output in complex conjugate format.
CHAPTER 6
ADVANTAGES & DISADVANTAGES
6.1 ADVANTAGES :
● FFT is one of transformations techniques used in signals and systems and DSP subject
domains.
● It is a simple and basic transformation which is easy and simple to learn.
● Basically, we use this technique and analyse the signal transformation with the help of
MATLAB software tools.
● Here, we use a Verilog method, which is one of the simulation techniques in the VLSI
subject domain.
● By using the Verilog method, we will have a benefit of less no of lines in
programming.
● From this we will have a chance to learn new technologies.
● The analysis of the output waveform is pretty simple by applying the Verilog method.
6.2 DISADVANTAGES :
● Behind every problem solving there are some drawbacks, which might lead to major
problems in future.
● Here also, there are some drawbacks, which may be considered as temporary issues
and can be resolved in future.
● The main drawback is we have a Verilog code in three different forms, i.e. in
Behavioural model, Synthesis model, Data Flow Model.
● Also, the main problem while executing in this format is the software issue.
● Here, we have to install separate software to execute code in Verilog called Xilinx
ISE.
● Also, the other problem is we have to write code in testbench waveform, for output
waveform.
REFERENCES
● Code is from GITHUB
[https://github.com/akhilwadhwa22/4-and-8-Point-FFT-using-Verilog]
● Reference from IEEE journals.
● Guidance from College Faculty