AkhilBenny - Internship Report Batch3
AkhilBenny - Internship Report Batch3
AkhilBenny - Internship Report Batch3
An Internship Report On
Degree of
BACHELOR OF ENGINEERING
In
Akhil Benny
1TJ17EC055
Prof.Anand Swamy A. S
2020-2021
(Affiliated to Visvesvaraya Technological University)
Approved by AICTE, Govt of India, New Delhi.
#86/1, Gottigere, Bannerghatta Road, Bengaluru-560083.
2020-2021
CERTIFICATE
This is to certify that internship work entitled “Digital Logic Design with Verilog HDL” carried out by
AKHIL BENNY (1TJ17EC055) partial fulfilment for the award of Bachelor of Engineering in Electronics
and Communication of Visvesvaraya Technological University, Belagavi during the academic year 2020-
2021. It is certified that all the corrections/suggestions indicated for the internal assessment have been
incorporated in the report deposited in the department library. The internship report has been approved as it
satisfies the academic requirements in respect of internship work as prescribed for the said degree.
1.____________________ ....................................
2.____________________ .....................................
DECLARATION
I, AKHIL BENNY, hereby declare that the dissertation entitled, “Digital Logic Design with Verilog
HDL”, which has been submitted by me as partial fulfilment for the final year semester examination of
own work carried out by me during final year at MITRON TECHNOLOGIES AND INNOVATIONS,
under the supervision of internal guide Prof. Anand Swamy. A. S, TJIT, Bangalore.
I further undertake that the matter embodied in the dissertation has not been submitted previously for the
AKHIL BENNY
1TJ17EC055
Place: Bangalore.
Date:
ACKNOWLEDGEMENT
The satisfaction and euphoria that accompanies the successful completion of any task would be incomplete
without mentioning the people who made it possible, whose constant guidance and encouragement crowned
I thank our beloved Principal, Dr. P. Suresh Venugopal and HOD, Department of ECE Prof. Anand
Swamy. A. S, who has given me confidence to believe in ourselves and complete the Internship.
Guidance and deadlines play a very important role in successful completion of internship report on time. I
AKHIL BENNY
1TJ17EC055
ACKNOWLEDGEMENT
I hereby express my happiness for completing “INTERNSHIP” Training successfully for the period of one
month. I generally thank all the employees for giving me an opportunity to learn many important features of
training. I extend my special thanks and gratitude to Manager (GM) for guidance given in spite of a busy
work schedule and made course very interesting for which act of kindness remain ever grateful. I also thank
department of ECE and gratitude to my internal guide Prof. Anand Swamy A. S for guidance and support
Finally, I hope this course will help me in building my career of engineering with the aid of equipment
AKHIL BENNY
1TJ17EC055
Digital Logic Design
ABSTRACT
This aspect is all about internship training undergone at MITRON TECHNOLOGIES AND
INNOVATIONS Bangalore. The subject mainly concentrates the relevance of VLSI in performance
computing, telecommunications, and consumer electronics has been expanding progressively, and at a
very hasty pace, in which the works are carried out in a systematic way at MITRON TECHNOLOGIES.
The complete description of the projects is explained in the report .The report also discusses about the
history and overview of the company, also mentioning the overseas collaboration with various sectors.
2 Introduction to VLSI 6
4 Programmable Examples 20
5 Project 24
6 Conclusion 27
7 References 28
CHAPTER 1
Mitron Technologies and Innovations developing excellence in design of software and hardware. Mitron
Technologies and Innovations is well known as MitronTech. MitronTech has always proved to provide their
clients with required application and services within their budget. Managing the same without
compromising with quality is really difficult task, but with MitronTech India and their different approach in
development this has been possible till now. They adopt different technologies for different projects. Before
getting requirements deciding on the budget for the project and time duration available is an important step
being taken in MitronTech. MitronTech is a unit of Proprietorship Company with headquarters in
Bangalore, India.
IoT(Internet Of Things) :Interfacing Hardware with cloud to monitor real time security and management.
Artificial Intelligence: Under AI will behaving machine learning, Deep learning, Reinforcement learning,
NLP.
Digital Marketing–Analyzing for actual need out of SEO, SEM, SMO, SMM, Ad words,
Open Source Customization–Either HRM, CRM, HMS, EMR, ERP, Live chat , Live support ,Ecommerce,
Directory Listing system or Any online Booking system, we use open Source technologies for cost effective
and quick development.
SEO Services– Customized SEO packages for individual clients and Generic packages
Company presently is working for jsinfotech to fulfill their requirement with respect the
advancement in IoT and android. The project is near in completion.
The company also working on embedded products and Android apps for Indian railways.
Some of the departments in the company are operation department, Development department, sales and
marketing department etc.
An operations department is responsible for running our business successfully .It has the ultimate account
ability for profit and loss, and seeks to maximize return on investment for the shareholders. The member
soft his department are ultimately responsible for the success of your business, and as such, maintain
consider able power in your company .While the operations department is responsible for the bottom line, it
also oversees the other departments in your organization, as well as the development of your employees
and customers.
It takes all the development projects, mobile application, web application or web development. Application
development team follows certain phases to develop a software application; it will be composed of several
different phases, they are:
1 Requirements Phase
2 Analysis Phase
3 Design Phase
5 Testing Phase
6 Deployment Phase
7 Maintenance Phase
It caters to generate leads and promote sales of the company. It concentrates to generate the organic leads.
This department takes all the digital marketing projects of our client. The marketing department has overall
responsibility for growing revenue, increasing market share and contributing to company growth and
profitability.
Market research is a key responsibility for the marketing department. Research helps the company identifies
market opportunities and gain a better understanding of Customer needs. It also helps them understand
competitors’ strengths and weaknesses so they can take action to protect business with existing customers
or win business from weaker competitor.
The marketing department works with Internal or external product development teams to develop new
products or improve existing ones. The department analyzes sales of existing products and identifies gaps in
the product range where there maybe opportunities for the company.
1.Preliminary analysis: The objective of phase1is to conduct a preliminary analysis, proposes alternative
solutions, describe costs and benefits and submit a preliminary plan with recommendations.
2. Systems analysis, requirements definition: Defines project goals into defined functions and operation of
the intended application. It is the process of gathering and interpreting facts, diagnosing problems and
recommending improvements to the system. The proposals that are used to prepare Specifications are:
System design, development, integration and testing, evaluation, disposal, maintenance etc.
Digital marketing is a promotion of products or brands via one or more forms of electronic media. As
digital marketing is dependent on technology which is ever evolving and fast changing, the same features
should be expected from digital marketing developments and strategies: Segmentation, Online behavioral
Advertising, Collaborative Environment, Influencer marketing.
Structure of Organization:
CEO
Managing
Director
Manager Legal
Decision
CHAPTER 2
INTRODUCTION TO VLSI
Very-large-scale integration (VLSI) is the process of creating an integrated circuit (IC) by combining
thousands of transistors into a single chip. VLSI began in the 1970s when complex semiconductor and
communication technologies were being developed. The microprocessor is a VLSI device.
Before the introduction of VLSI technology, most ICs had a limited set of functions they could perform. An
electronic circuit might consist of a CPU, ROM, RAM and other glue logic. VLSI lets IC designers add all
of these into one chip.
The electronics industry has achieved a phenomenal growth over the last few decades, mainly due to the
rapid advances in large scale integration technologies and system design applications. With the advent of
very large scale integration (VLSI) designs, the number of applications of integrated circuits (ICs) in high-
performance computing, controls, telecommunications, image and video processing, and consumer
electronics has been rising at a very fast pace.
The current cutting-edge technologies such as high resolution and low bit-rate video and cellular
communications provide the end-users a marvelous amount of applications, processing power and
portability. This trend is expected to grow rapidly, with very important implications on VLSI design and
systems design.
Specification
System architecture /
Algorithm
Behavioral / Functional
Design
Physical design
Fabrication
HDL stands for hardware description language that describes the functionality of any hardware of digital;
system in the form of text.
For a long time, programming languages such as FORTRAN, Pascal, and C were being used to describe
computer programs that were sequential in nature. Similarly, in the digital design field, designers felt the
need for a standard language to describe digital circuits. Thus, Hardware Description Languages (HDLs)
came into existence. HDLs allowed the designers to model the concurrency of processes found in hardware
elements.
Therefore Engineers started to use HDL for system-level design. HDLs were used for simulation of system
boards, interconnect buses, FPGAs (Field Programmable Gate Arrays), and PALs (Programmable Array
Logic). A common approach is to design each IC chip, using an HDL, and then verify system functionality
via simulation.
• Designs can be described at a very abstract level by use of HDLs, Designers can write their RTL
description without choosing a specific fabrication technology. Hence Logic synthesis tools can
automatically convert the design to any fabrication technology. If a new technology emerges, designers do
not need to redesign their circuit. They simply input the RTL description to the logic synthesis tool and
create a new gate-level netlist, using the new fabrication technology. The logic synthesis tool will optimize
the circuit in area and timing for the new technology.
• By describing designs in HDLs, functional verification of the design can be done early in the design cycle.
Since designers work at the RTL level, they can optimize and modify the RTL description until it meets the
desired functionality. Most design bugs are eliminated at this point. This cuts down design cycle time
significantly because the probability of hitting a functional bug at a later time in the gate-level netlist or
physical layout is minimized.
• Designing with HDLs is analogous to computer programming. I.e. A textual description with comments
is an easier way to develop and debug circuits.
VHDL
Verilog HDL
A Verilog program for a particular application consist of two main blocks
1. Design Block
2. Simulation block
Design Block
BOTTOM-UP APPROACH
Style 2:The second style of applying stimulus is to instantiate both the stimulus and design blocks in a top-
level dummy module.
Verilog is both a behavioral and a structural language. Internals of each module can be defined at four
levels of abstraction, depending on the needs of the design. The module behaves identically with the
external environment irrespective of the level of abstraction at which the module is described. The internals
of the module are hidden from the environment. Thus, the level of abstraction to describe a module can be
changed without any change in the environment. These levels will be studied in detail in separate chapters
later in the book. The levels are defined below.
Behavioral or algorithmic level
Dataflow level
Gate level
Switch level
This is the highest level of abstraction provided by Verilog HDL. A module can be implemented in terms of
the desired design algorithm without concern for the hardware implementation details. Designing at this level
is very similar to C programming
Dataflow level:
At this level the module is designed by specifying the data flow. The designer is aware of how data flows
between hardware registers and how the data is processed in the design.
Gate level:
The module is implemented in terms of logic gates and interconnections between these gates. Design at this
level is similar to describing a design in terms of a gate-level logic diagram.
Switch level:
This is the lowest level of abstraction provided by Verilog. A module can be implemented in terms of
switches, storage nodes, and the interconnections between them. Design at this level requires knowledge of
switch-level Implementation details.
CHAPTER 3
The basic lexical conventions used by Verilog HDL are similar to those in the C programming language.
Verilog contains a stream of tokens. Tokens can be comments, delimiters, numbers, strings, identifiers, and
keywords. Verilog HDL is a case-sensitive language. All keywords are in lowercase.
Whitespace
Blank spaces (\b) , tabs (\t) and newlines (\n) comprise the whitespace. Whitespace is ignored by Verilog
except when it separates tokens. Whitespace is not ignored in strings.
Comments
Comments can be inserted in the code for readability and documentation. There are two ways to write
comments. A one-line comment starts with "//". Verilog skips from that point to the end of line. A multiple-
line comment starts with "/*" and ends with "*/". Multiple-line comments cannot be nested.
Operators
.
a = - b; / / - is a unary operator. b is the operand
Operators are of three types, unary, binary, and ternary. Unary operators precede the operand. Binary
operators appear between two operands. Ternary operators have two separate operators that separate three
operands.
X or Z values
Verilog has two symbols for unknown and high impedance values. These values are very important for
modeling real circuits. An unknown value is denoted by an X. A high impedance value is denoted by z.
An X or z sets four bits for a number in the hexadecimal base, three bits for a number in the octal base and
one bit for a number in the binary base. If the most significant bit of a number is of X, or z, the number is
automatically extended to fill the most significant bits, respectively, with 0, X, or z. This makes it easy to
assign X or z to whole vector. If the most significant digit is I, then it is also zero extended.
Negative numbers
Negative numbers can be specified by putting a minus sign before the size for a constant number. Size
constants are always positive. It is illegal to have a minus sign between <base format> and <number>.
Strings
A string is a sequence of characters that are enclosed by double quotes. The restriction on a string is that it
must be contained on a single line, that is, without a carriage return. It cannot be on multiple lines. Strings
are treated as a sequence of one-byte ASCII values.
Underscore characters
An underscore character "-" is allowed anywhere in a number except the first character. Underscore
characters are allowed only to improve readability of numbers and are ignored by Verilog
The term FPGA stands for Field Programmable Gate Array. FPGA’s are semiconductor devices which
contain programmable logic blocks and interconnection circuits.It can be programmed or reprogrammed to
the required functionality after manufacturing to become almost any kind of system or digital circuit,
similar to PLDs. PLDS are limited to hundreds of gates, but FPGAs supports thousands of gates. The
configuration of the FPGA architecture is generally specified using a language, i.e., HDL (Hardware
Description language) which is similar to the one used for an ASIC (Application Specific Integrated
Circuit).
Basics of FPGA
1. FPGAs are the newest member of the ASIC family and are rapidly growing in , replacing TTL in
microelectronic systems. Even though an FPGA is a type of gate array, we do not consider the term gate-
array based ASICs to include FPGAs.
FPGAs are prefabricated silicon chips that can be programmed electrically to implement digital designs.
The first static memory based FPGA called SRAM is used for configuring both logic and interconnection
using a stream of configuration bits. Today’s modern EPGA contains approximately 3,30,000 logic blocks
and around 1,100 inputs and outputs.
The programmable logic block provides basic computation and storage elements used in digital systems. A
basic logic element consists of programmable combinational logic, a flip-flop, and some fast carry logic to
reduce area and delay cost.
Modern FPGAs contain a heterogeneous mixture of different blocks like dedicated memory blocks,
multiplexers. Configuration memory is used throughout the logic blocks to control the specific function of
each element.
Programmable I/O
The programmable I/O pads are used to interface the logic blocks and routing architecture to the external
components. The I/O pad and the surrounding logic circuit form as an I/O cell
Due to their programmable nature, FPGAs are an ideal fit for many different markets. As the industry
leader, Xilinx provides comprehensive solutions consisting of FPGA devices, advanced software, and
configurable, ready-to-use IP cores for markets and applications such as:
Aerospace & Defense - Radiation-tolerant FPGAs along with intellectual property for image
processing, waveform generation, and partial reconfiguration for SDRs.
ASIC Prototyping - ASIC prototyping with FPGAs enables fast and accurate SoC system modeling
and verification of embedded software.
Audio - Xilinx FPGAs and targeted design platforms enable higher degrees of flexibility, faster time-to-
market, and lower overall non-recurring engineering costs (NRE) for a wide range of audio,
communications, and multimedia applications.
Automotive - Automotive silicon and IP solutions for gateway and driver assistance systems, comfort,
convenience, and in-vehicle infotainment. - Learn how Xilinx FPGA's enable Automotive Systems.
Broadcast & Pro AV - Adapt to changing requirements faster and lengthen product life cycles with
Broadcast Targeted Design Platforms and solutions for high-end professional broadcast systems.
Data Center - Designed for high-bandwidth, low-latency servers, networking, and storage applications
to bring higher value into cloud deployments.
Security - Xilinx offers solutions that meet the evolving needs of security applications, from access
control to surveillance and safety systems.
Wireless Communications - RF, base band, connectivity, transport and networking solutions for
wireless equipment, addressing standards such as WCDMA, HSDPA, Wi-MAX and others.
CHAPTER 4
PROGRAMMING EXAMPLES
module mux81(i0,i1,i2,i3,i4,i5,i6,i7,s,y);
input [2:0]s;
output reg y;
always @(*)
begin
case(s)
3'b000: y=i0;
3'b001: y=i1;
3'b010: y=i2;
3'b011: y=i3;
3'b100: y=i4;
3'b101: y=i5;
3'b110: y=i6;
3'b111: y=i7;
endcase
end
endmodule
input [7:0]y;
always @(*)
begin
case(y)
8'b00000001: a=3'b000;
8'b00000010: a=3'b001;
8'b00000100: a=3'b010;
8'b00001000: a=3'b011;
8'b00010000: a=3'b100;
8'b00100000: a=3'b101;
8'b01000000: a=3'b110;
8'b10000000: a=3'b111;
Endcase
end
endmodule
4'd3 : y=~a;
4'd4 : y=a&b;
4'd5 : y=a|b;
4'd6 : y=~(a&b);
4'd7 : y=~(a|b);
4'd8 : y=a^b;
4'd9 : y=~(a^b);
endcase
end
else
y=16'd0;
end
endmodule
CHAPTER 5
PROJECT
module fsm_mealy(clk,rst,din,dout);
input clk,rst;
input din;
output reg dout;
reg[1:0] state;
always@(posedge clk)
begin
if(rst)
state<=2'b00;
else
begin
case(state)
2'b00: begin
if(din) // if input is 1
begin
state<=2'b01; //1
dout<=1'b0;
end
else
begin
state<=2'b00;
dout<=1'b0;
end
end
2'b01: begin
if(din)
begin
state<=2'b01;
dout<=1'b0;
end
else
begin
state<=2'b10; //0
dout<=1'b0;
end
end
2'b10: begin
if(din)
begin
state<=2'b11; //1
dout<=1'b0;
end
else
begin
state<=2'b00;
dout<=1'b0;
end
end
2'b11: begin
if(din)
begin
state<=2'b01; //1
dout<=1'b1; //output
end
else
begin
state<=2'b10;
dout<=1'b0;
end
end
default: begin
state<=2'b00;
dout<=1'b0;
end
endcase
end
end
endmodule
CHAPTER 6
CONCLUSION
Overall, internship is a really good program and recommended to my fellow friends. It helps to enhance and
develop many skills, abilities and knowledge. It was a good experience and memories as not only I have
gained experience, but also knowledge. MITRON TECHNOLOGIES is also a good place to do the
internship since it provides numerous benefits and advantages to the trainees. I learnt about various
technologies used in the firm. I was also exposed to various manufacturing and testing processes. Apart
from technical knowledge I gained various information about non technical departments like financial
department, marketing department, Human resource department, security department. I also gained ethical
and moral values during my internship period. I have learned the importance of time-management skills and
self motivation. The internship was also good to find out our strengths and weaknesses. At last this
internship has given me new insights and motivation to pursue a career in core electronic departments.
CHAPTER 7
REFERENCES
http://www.mitrontech.com/
https://in.linkedin.com/company/mitron-innovations
https://in.linkedin.com/in/manohara-gn-657a94b4