Professional Documents
Culture Documents
Final 2
Final 2
Bachelor of Technology
(Electronics and Communication)
by
ANURAG KHARWAR
(U19EC061)
(B. TECH. IV(EC), VIIth Semester)
External Guide
Dr.Sandeep Saini
Subject Expert, Internshala
Internal Guide
Dr. Anand D. Darji
Assistant Professor, DECE
CERTIFICATE
This is to certify that the Summer Training Report entitled “VLSI Design” is
presented & submitted by Candidate ANURAG KHARWAR, bearing Roll No.
U19EC061, of B.Tech. IV, 7th Semester in the partial fulfillment of the requirement for
the award of B.Tech. Degree in Electronics & Communication Engineering for
academic year 2022
- 23.
He/She has successfully and satisfactorily completed his/her Summer Training
Presentation Exam in all respects. We certify that the work is comprehensive, complete
and fit for evaluation.
1.
2.
Dr. P. N. Patel
Head & Associate Professor Seal of The Department
DECE, SVNIT (August 2022)
CERTIFICATE
Acknowledgements
I would like to express my profound gratitude and deep regards to my guide Dr. Anand
D. Darji for his guidance. I am heartily thankful for suggestion and the clarity of the
concepts of the topic that helped me a lot for this work. I would also like to thank Prof
.P.N. Patel, Head of the Electronics Engineering Department, SVNIT and all the
faculties of ECED for their co-operation and suggestions. I am very much grateful to
all my classmates for their support.
Anurag Ajeet
kharwar Sardar Vallabhbhai National Institute of
Technology
Surat
References.....................................................................................................................3
Appendix
ix
List of Figures
xi
List of Tables
xiii
List of Abbreviations
ALU Arithmetic Logic Unit
ASIC Application Specific Design
Flow CLB Configurable Logic Circuits
CPU Central Processing Unit
CTS Clock Tree Synthesis
EDA Electron Design Automation
FPGA Field Programmable Gate
Array HDL Hardware Description
Language IC Integrated Circuits
LSI Large Scale Integration
PLA Programmable Logic Array
RAM Random Access Memory
ROM Read Only Memory
RTL Register transfer Logic
SRAM Static Random Access
Memory SSI Small Scale Integration
VLSI Very Large-Scale Integration
xv
CHAPTER 1
INTRODUCTION
The first week of the internship period was spent in learning basic concepts of VHDL and
Verilog coding. I was also introduced to the front end and backend domain of the VLSI
design and some basic things like hardware design related issues like static timing analysis,
simulations, synthesis and basics of PLDs (internal architecture, various types etc.). To get
better acquainted with the design and coding techniques, various test-codes were written for
testing the various peripherals (starting from basic LED testing).
On moving to second week, I got to introduced with deeper concept of VLSI coding and got
familiar with HDL coding concepts in which we learnt types or coding used in VLSI and also
types of modeling used.
In third week, the main focus was on combinational and sequential circuit design in which I
got to learn more about this topic also I learnt to write some code my own using data level,
gate level and behavioral level including writing the test- bench for the for the testing purpose
of the final product which ever we design and prepared for next week.
System Design using FPGA got introduced in the fifth week of the summer internship that
was the most interesting part of the summer internship where I had to work on the tool called
VIVADO by Xilinx in which I made some of basic assignment such as FULL- ADDER
HALF -ADDER, MUX, DEMUX, DECODER, INCODER and many as such.
Finally in the last week of the internship mentor gave me a final project and case studies to
work on that was the most challenging part of the entire internship which I will discuss more
in detail in chapter 2, after completion of the given project I had to go through the final test
which was based on the entire learning till now
Finally, I passed the internship test with 72% and got the certificate of compilation.
CHAPTER 2
VLSI DESIGN
Through using VHDL language towards the traffic controller that is light design, the traffic
light control circuit utilizes signal that is electronic automatic control to understand two sets
of lights which are red, Green and yellowish. Those lights command automobiles and
pedestrians moving properly at the crossroad, which bases regarding the information of traffic
state transition. Most of control systems are designed by advanced PLC technology, that also
can effortlessly imitate the traffic that has experience. In addition, FPGA cannot compare the
round that is anti-dry Speed and benefit advantage that is fast. But PLC has a drawback for
traffic light design. Most PLC costs much more could be 10 times throughout the price that is
FPGA, which includes not considered the expansion module. The PLC technology is mostly
utilized in hefty industry and Precision Instruments manufacturing. The traffic that is FPGA
control system has to consider the present traffic situation, that will be based on the
information from sensors. The FPGA gets current signals of vehicles moving crossroad and
base on those signals send next thing order. Also, into the specific road the traffic light should
specifically be set. In addition, the FPGA need to consider the best time, meaning that
isolating the traffic situation by the proper time. The codes must certainly be packed within
the FPGA development base on different models, that might increase the program flexibly.
Hardware Details:
FPGA board
Software Details:
VHDL
Xilinx
FPGA - Field Programmable Gate Array is an IC (Integrated Circuit) which can be modified
by the customer or designer based on their requirement after manufacturing. In the electronics
industry, the components are manufactured based on their standards and protocols which
makes it difficult for the users to configure it according to their needs. This created a
requirement for new hardware which can be configured by the user or designer.
FPGA contains programmable logic blocks and interconnection circuits which can be
modified based on the requirement after manufacturing. FPGA is cheaper for small scale
requirements when compared to ASIC (Application-specific Integrated circuit) which is
suitable for large scale production.
The state machine diagram and the state definitions for the traffic
signal controller are shown in figure 2.3
Figure 2.3: finite state diagram.
State signal
So Hwy = GCntry = R
S1 Hwy = YCntry = R
S2 Hwy = RCntry = R
S3 Hwy = RCntry = G
S4 Hwy = RCntry = Y
Two conditions:
so, 1 bit X
…………………………………………………………..
Five stages :
So to S4
…………………………………………………………..
Three colors:
So, 2 bits to represent three colors.
Verilog code.
//Delays
`define Y2RDELAY 3 //Yellow to red delay is 3-time units
`define R2GDELAY 2 //Red to green delay is 2-time units
//I/0 ports
input X;
else
state <= next_state; //State change
case(state)
hwy = RED;
cntry = YELLOW;
end
endcase
end
S3: if(X)
next_state = S3;
else
next_stage = S4;
S4 : begin // delay some positive edges of clock
repeat(`Y2RDELAY) @(posedge clock);
next_state = S0;
end
end
endmodule;
Output simulation
Defining Clock -
Conclusion: A smart Traffic Light Controller system is designed using FPGA for four roads
intersection with traffic sensors and walk request signals.
The system has been simulated using VHDL to realize alternating traffic light and FSM for
efficient T.L.C. with ability to change its
timing parameters manually. Each subcomponent is constructed and tested thoroughly before
moving onto the next one. The design is
robust; all the design decisions were inspected comprehensively before employment.
Synchronization component are very important in
the system design where they are implemented without any hazards in the system. Overall the
design and implementation of the traffic
light controller is respectable to design more complex system. The system is verified on
FPGA Spartan 3E xc3s500efg320-4
INTRODUCTION:
Arithmetic Logic Unit is the part of a computer that performs arithmetic operations on
binary numbers. On the contrary, FPU (Floating Point Unit) works on decimal values.
This ALU is comprised of CPU (Central Processing Unit), Floating Point Unit (FPU),
GPU (Graphical Processing Unit. Thus, a single CPU or FPU might contain many
ALU’s. The inputs to an ALU are the data where we have to perform operations. They
are called operands. They perform the necessary operation and the result is the output of
the operation we have performed. Thus, the ALU consists of input or output or even both.
They also contain results of previously performed operations or the current operation and
also registers. Registers are used to store, fetch and process data and that is being used by
the Central Processing Unit. Processor Registers are the registers that are being used by
the CPU for processing. Modern computers contain very complex Arithmetic Logic
Units. In addition to that, they might contain the Control Unit (CU) as well. Data is
moved in between ALU, memory, and registers and this operation is performed by the
Central Processing Unit (CPU).
OR gate:
In this, we give two inputs and get one output. If Input A is 0 and input B is 0,
then output C is 0. If input A is 0 and input B is 1, then output C is 1. If input A is
1 and input B is 0, then output C is 1. If input A is 1 and input B is 1 then output C
is also 1.
AND gate:
This AND gate again have two inputs and gives one output. If Input A is 0 and B
is 1, then output is 0. If input A is 0 and input B is 1, then output C is 0. If input A
is 1 and input B is 0, then output C is 0. If input A is 1 and input B is 1 then output
C is also 1.
NOT gate:
NOT gate generally consists of 1 input and 1 output. If input A is 0 then output B
is 1. If input A is 1 then output B is 0.
XOR gate:
The X or is the reverses version of the OR gate. In XOR gate if Input A is 0 and B
is 0 then output C is 0. if input A is 0 and B is 1 then output C is 1. If input A is 1
and input B is 0 then output C is 1. If input A is 1 and B is 1 then output C is 1.
NOR gate:
In the NOR gate if input A is 0 and B is 0 then output C is 1. if input A is 0 and B
is 1 then output C is 0. If input A is 1 and input B is 0 then output C is 0. If input
A is 1 and B is 1 then output C is 0.
NAND gate:
In the NAND gate, if input A is 0 and B is 0 then output C is 1. If input A is 0 and
B is 1 then output C is 1. If input A is 1 and input B is 0 then output C is 1. If
input A is 1
CODE:
RESULTS:
References