Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CHAPTER 1
INTEGRATED CIRCUITS
1.1. INTRODUCTION
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or
a microchip) is a set of electronic circuits on one small flat piece (or "chip")
of semiconductor material that is normally silicon. The integration of large numbers of
tiny MOS transistors into a small chip results in circuits that are orders of magnitude smaller,
faster, and less expensive than those constructed of discrete electronic components. The
IC's mass production capability, reliability, and building-block approach to circuit design has
ensured the rapid adoption of standardized ICs in place of designs using discrete transistors. ICs
are now used in virtually all electronic equipment and have revolutionized the world
of electronics. Computers, mobile phones, and other digital home appliances are now
inextricable parts of the structure of modern societies, made possible by the small size and low
cost of ICs.
following Moore's law, make computer chips of today possess millions of times the capacity and
thousands of times the speed of the computer chips of the early 1970s.
ICs have two main advantages over discrete circuits: cost and performance. Cost is low because
the chips, with all their components, are printed as a unit by photolithography rather than being
constructed one transistor at a time. Furthermore, packaged ICs use much less material than
discrete circuits. Performance is high because the IC's components switch quickly and consume
comparatively little power because of their small size and proximity. The main disadvantage of
ICs is the high cost to design them and fabricate the required photomasks. This high initial cost
means ICs are only practical when high production volumes are anticipated.
The cost of designing and developing a complex integrated circuit is quite high, normally in the
multiple tens of millions of dollars. Therefore, it only makes economic sense to produce
integrated circuit products with high production volume, so the non-recurring engineering (NRE)
costs are spread across typically millions of production units.
Modern semiconductor chips have billions of components, and are too complex to be designed
by hand. Software tools to help the designer are essential. Electronic Design Automation (EDA),
also referred to as Electronic Computer-Aided Design (ECAD), is a category of software
tools for designing electronic systems, including integrated circuits. The tools work together in
a design flow that engineers use to design and analyze entire semiconductor chips.
1. Digital ICs:
Digital integrated circuits can contain anywhere from one to billions of logic gates, flip-
flops, multiplexers, and other circuits in a few square millimeters. The small size of these
circuits allows high speed, low power dissipation, and reduced manufacturing cost compared
In the 1980s, programmable logic devices were developed. These devices contain circuits whose
logical function and connectivity can be programmed by the user, rather than being fixed by the
integrated circuit manufacturer. This allows a single chip to be programmed to implement
different LSI-type functions such as logic gates, adders and registers. Programmability comes in
at least four forms - devices that can be programmed only once, devices that can be erased and
then re-programmed using UV light, devices that can be (re)programmed using flash memory,
and field-programmable gate arrays (FPGAs) which can be programmed at any time, including
during operation. Current FPGAs can (as of 2016) implement the equivalent of millions of gates
and operate at frequencies up to 1 GHz.
2. Analog ICs:
ICs can also combine analog and digital circuits on a single chip to create functions such
as analog-to-digital converters and digital-to-analog converters. Such mixed-signal circuits offer
smaller size and lower cost, but must carefully account for signal interference. Prior to the late
1990s, radios could not be fabricated in the same low-cost CMOS processes as microprocessors.
But since 1998, a large number of radio chips have been developed using RF CMOS processes.
Examples include Intel's DECT cordless phone, or 802.11 (Wi-Fi) chips created by Atheros and
other companies. Mixed-signal integrated circuits are further sub-categorized as data
acquisition ICs (including A/D converters, D/A converters, digital potentiometers), clock/timing
ICs, switched capacitor (SC) circuits, and RF CMOS circuits.
4. 3-D ICs:
3D integrated circuits can be classified by their level of interconnect hierarchy at the global
(package), intermediate (bond pad) and local (transistor) level. In general, 3D integration is a
broad term that includes such technologies as 3D wafer-level packaging (3DWLP); 2.5D and 3D
interposer-based integration; 3D stacked ICs (3D-SICs), monolithic 3D ICs; 3D heterogeneous
integration; and 3D systems integration.
CHAPTER 2
VLSI SYSTEMS
Very large-scale integration was made possible with the wide adoption of the MOS transistor,
originally invented by Mohamed M. Atalla and Dawon Kahng at Bell Labs in 1959. Atalla first
proposed the concept of the MOS integrated circuit chip in 1960, followed by Kahng in 1961,
both noting that the MOS transistor's ease of fabrication made it useful for integrated
circuits. General Microelectronics introduced the first commercial MOS integrated circuit in
1964. In the early 1970s, MOS integrated circuit technology allowed the integration of more
than 10,000 transistors in a single chip. This paved the way for VLSI in the 1970s and 1980s,
with tens of thousands of MOS transistors on a single chip (later hundreds of thousands, then
millions, and now billions).
The first semiconductor chips held two transistors each. Subsequent advances added 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 medium-scale
integration (MSI). Further improvements led to 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 billions 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.
The VLSI design cycle starts with a formal specification of a VLSI chip, follows a series of
steps, and eventually produces a packaged chip. A typical design cycle may be represented by
the flow chart shown in Figure. Our emphasis is on the physical design step of the VLSI design
cycle. However, to gain a global perspective, we briefly outline all the steps of the VLSI design
cycle.
1. System Specification:
The first step of any design process is to lay down the specifications of the system.
System specification is a high level representation of the system. The factors to be
considered in this process include: performance, functionality, and physical dimensions
(size of the die (chip)). The fabrication technology and design techniques are also
considered.
The specification of a system is a compromise between market requirements, technology
and economical viability. The end results are specifications for the size, speed, power,
and functionality of the VLSI system.
2. Architectural Design:
The basic architecture of the system is designed in this step. This includes, such decisions
as RISC (Reduced Instruction Set Computer) versus CISC (Complex Instruction Set
Computer), number of ALUs, Floating Point units, number and structure of pipelines,
and size of caches among others.
4. Logic Design:
In this step the control flow, word widths, register allocation, arithmetic operations, and
logic operations of the design that represent the functional design are derived and tested.
This description is called Register Transfer Level (RTL) description. RTL is expressed in
a Hardware Description Language (HDL), such as VHDL or Verilog. This description
can be used in simulation and verification. It consists of Boolean constants.
5. Circuit Design:
The purpose of circuit design is to develop a circuit representation based on the logic
design. The Boolean expressions are converted into a circuit representation by taking into
consideration the speed and power requirements of the original design. Circuit
Simulation is used to verify the correctness and timing of each component.
6. Physical Design:
In this step the circuit representation (or netlist) is converted into a geometric
representation. This geometric representation of a circuit is called a layout. Layout is
created by converting each logic component (cells, macros, gates, transistors) into a
geometric representation (specific shapes in multiple layers), which perform the intended
logic function of the corresponding component. Connections between different
components are also expressed as geometric patterns typically lines in multiple layers.
The exact details of the layout also depend on design rules, which are guidelines based
on the limitations of the fabrication process and the electrical properties of the fabrication
materials. Physical design is a very complex process and therefore it is usually broken
down into various sub-steps. Various verification and validation checks are performed on
the layout during physical design.
7. Fabrication:
After layout and verification, the design is ready for fabrication. Since layout data is
typically sent to fabrication on a tape, the event of release of data is called Tape
Out. Layout data is converted (or fractured) into photo-lithographic masks, one for each
layer. Masks identify spaces on the wafer, where certain materials need to be deposited,
diffused or even removed. Silicon crystals are grown and sliced to produce wafers.
Extremely small dimensions of VLSI devices require that the wafers be polished to near
perfection. The fabrication process consists of several steps involving deposition, and
diffusion of various materials on the wafer. During each step one mask is used. Several
dozen masks may be used to complete the fabrication process.
8. Packaging, Testing and Debugging:
Finally, the wafer is fabricated and diced into individual chips in a fabrication facility.
Each chip is then packaged and tested to ensure that it meets all the design specifications
and that it functions properly. Chips used in Printed Circuit Boards (PCBs) are packaged
in Dual In-line Package (DIP), Pin Grid Array (PGA), Ball Grid Array (BGA), and Quad
Flat Package (QFP). Chips used in Multi-Chip Modules (MCM) are not packaged, since
MCMs use bare or naked chips.
1. Computers
The emergence of VLSI technology has opened many new architectural concepts that
depart sharply from the design of conventional computer systems. The design of single-chip
computers, special-purpose chips to implement algorithms, and more intelligent computer
system modules, such as memory and I/O processors, are the basic impacts of VLSI technology
on computer system design. Using the general-purpose or special-purpose chips as basic
building blocks, very powerful but inexpensive computer systems can be designed. The low
cost of these systems enables the design of special-purpose computer systems in which the
architecture is tailored to the application. The design of special-purpose VLSI chips to
implement algorithms is illustrated by the implementation of a simple systolic priority queue.
However, the problem of complexity must be overcome to exploit the advantages of VLSI
technology. Design methodology and automated design tools are needed far more urgently than
ever in the generation of VLSI technology.
2. Medicine
VLSI devices are currently used in a wide variety of medical products ranging from
magnetic resonance imaging systems to conventional electrocardiographs to Holter monitors to
instruments for analyzing blood.
Portable ECG
The portable ECG machine was made possible largely due to progress in VLSI
design. Today’s portable ECG machines, such as the Elite (Siemens Burdick, Inc.), are fully
functional 12-lead ECG machines equal in every respect to larger machines with the exception
of paper size and mass storage capacity. A quick comparison points out the dramatic results that
can be obtained with VLSI. The VLSI in Digital Signal Processing 291 portable ECG is 15 times
smaller, 10 times lighter, and half as costly as the full size machine. It consumes 90 percent less
power and uses 60 percent fewer parts (Einspruch and Gold, 1989).
3. Defence systems
In Defence organizations, VLSI plays a major role as it is a part of Missile systems.
VLSI evolution represents a unique example of a very dynamic and pervasive trend in
commercial and military applications. Almost all ballistic machineries use VLSI technology.
CHAPTER 3
ICs IN VLSI SYSTEMS
FPGA stands for Field Programmable Gate Array. It is an integrated circuit which can be
“field” programmed to work as per the intended design. It means it can work as a
microprocessor, or as an encryption unit, or graphics card, or even all these three at once. As
implied by the name itself, the FPGA is field programmable. So, an FPGA working as a
microprocessor can be reprogrammed to function as the graphics card in the field, as opposed to
in the semiconductor foundries. The designs running on FPGAs are generally created using
hardware description languages such as VHDL and Verilog. FPGA is made up of thousands of
Configurable Logic Blocks (CLBs) embedded in an ocean of programmable interconnects.
The CLBs are primarily made of Look-Up Tables (LUTs), Multiplexers and Flip-Flops.
They can implement complex logic functions.
The basic building block of the FPGA is the Look Up Table based function generator. The
number of inputs to the LUT vary from 3,4,6, and even 8 after experiments. Now, we have
adaptive LUTs that provides two outputs per single LUT with the implementation of two
function generators.
Xilinx Virtex-5 is the most popular FPGA, that contains a Look up Table (LUT) which is
connected with MUX, and a flip flop as discussed above. Present FPGA consists of about
hundreds or thousands of configurable logic blocks. For configuring the FPGA, Modelsim and
Xilinx ISE softwares are used to generate a bitstream file and for development.
1.Design Entry:
The design entry is done in different techniques like schematic based, hardware description
language (HDL) and a combination of both etc. If the designer wants to deal with hardware, then
the schematic entry is a good choice.
If the designer thinks the design in an algorithmic way, then the HDL is the better choice. The
schematic based entry gives the designer a greater visibility and control over the hardware.
2.Design synthesis:
This process translates VHDL code into a device netlist format, i.e., a complete circuit with
logical elements. The design synthesis process will check the code syntax and analyze the
hierarchy of the design architecture.
This ensures the design optimized for the design architecture. The netlist is saved as Native
Generic Circuit (NGC) file.
3.Design Implementation:
The implementation process consists of:
Translate:
This process combines all the input netlists to the logic design file which is saved
as NGD (Native Generic Database) file. Here the ports are assigned to the physical elements like
pins, switches in the design. This is stored in a file called User Constraints File (UCF).
Map:
Mapping divides the circuit into sub-blocks such that they can be fit into the FPGA
logic blocks. Thus this process fits the logic defined by NGD into the combinational Logic
Blocks, Input-Output Blocks and then generates an NCD file, which represents the design
mapped to the components of FPGA.
Routing:
The routing process places the sub-blocks from the mapping process into the logic
block according to the constraints and then connects the logic blocks.
Device Programming:
The routed design must be loaded into the FPGA. This design must be converted
into a format supported by the FPGA. The routed NCD file is given to the BITGEN program,
which generates the BIT file. This BIT file is configured to the FPGA.
4.Design Verification:
Verification can be done at various stages of the process.
Behavioral Simulation (RTL Simulation):
Behavioral simulation is the first of all the steps that occur in the hierarchy of the
design. This is performed before cheap lace dresses the synthesis process to verify the RTL
code.
In this process, the signals and variables are observed and further, the procedures and functions
are traced and breakpoints are set.
Functional Simulation:
Functional simulation is performed post-translation simulation. It gives the
information about the logical operation of the circuit.
Static Timing Simulation:
This is done post mapping. Post map timing report gives the signal path delays.
After place and route, timing report takes the timing delay information. This provides a complete
timing summary of the design.
Field Programmable Gate Arrays are classified into three types based on applications
such as Low-end FPGAs, Mid-range FPGAs and high-end FPGAs.
1. Design Entry: In this step, the designer starts the design with a text description or system
specific language like HDL, C language etc.
2. Logic Synthesis: Logic synthesis generally helps to produce the netlist consisting the
description and interconnection of logic cells.
3. System Partitioning: Here partitioning of a large design into a small ASIC design takes
place.
4. Pre layout Simulation: Pre layout Simulation allows checking whether the design functions
correctly.
5. Floor planning: Using this step we can plan the arrangement of the blocks present in the
netlist on the chip.
6. Placement: Allows the placement of cells present in the block.
7. Routing: This step is carried out to provide the necessary interconnections between the cells.
8. Circuit Extraction: Here the translation of the integrated circuit to electrical circuit takes
place.
9. Post layout Simulation: It allows checking the final layout of the design.
Full-Custom ASICs
These are custom-made from scratch for a specific application. Their ultimate purpose
is decided by the designer. All the photolithographic layers of this integrated circuit are already
fully defined, leaving no room for modification during manufacturing.
Semi-Custom ASICs
These are partly customized to perform different functions within the field of their
general area of application. These ASICS are designed to allow some modification during
manufacturing, although the masks for the diffused layers are already fully defined.
Platform ASICs:
These are designed and produced from a defined set of methodologies, intellectual
properties and a well-defined design of silicon that shortens the design cycle and minimizes
development costs. Platform ASICs are made from predefined platform slices, where each slice
is a pre manufactured device, platform logic or entire system. The use of pre manufactured
materials reduces development costs for these circuits.
CHAPTER 4
COUNTERS AND FLIP-FLOPS
Each counter is useful for different applications. Usually, counter circuits are digital in nature,
and count in natural binary. Many types of counter circuits are available as digital building
blocks, for example a number of chips in the 4500 series implement different counters.
Occasionally there are advantages to using a counting sequence other than the natural binary
sequence—such as the binary coded decimal counter, a linear-feedback shift register counter, or
a Gray-code counter. Counters are useful for digital clocks and timers, and in oven timers, VCR
clocks, etc.
Asynchronous Counters
Asynchronous counters are those whose output is free from the clock signal. Because the flip
flops in asynchronous counters are supplied with different clock signals, there may be delay in
producing output.
The required number of logic gates to design asynchronous counters is very less. So they are
simple in design. Another name for Asynchronous counters is “Ripple counters”.
The number of flip flops used in a ripple counter is depends up on the number of states of
counter (ex: Mod 4, Mod 2 etc). The number of output states of counter is called “Modulus” or
“MOD” of the counter. The maximum number of states that a counter can have is 2n where n
represents the number of flip flops used in counter.
Applications of asynchronous counters are:
1. Asynchronous counters are used as frequency dividers, as divide by N counters.
2. These are used for low power applications and low noise emission.
3. These are used in designing asynchronous decade counter.
4. Also used in Ring counter and Johnson counter.
5. Asynchronous counters are used in Mod N ripple counters. EX: Mod 3, Mod 4, Mod 8, Mod
14, Mod 10 etc.
Synchronous Counters
The counters which use clock signal to change their transition are called “Synchronous
counters”. This means the synchronous counters depends on their clock input to change state
values. In synchronous counters, all flip flops are connected to the same clock signal and all flip
flops will trigger at the same time.
Synchronous counters are also known as ‘Simultaneous counters ’.There is no propagation delay
and no ripple effect in synchronous counters.
The most common and well known application of synchronous counters is machine motion
control, the process in which the rotary shaft encoders convert the mechanical pulses into
electric pulses. These pulses will act as clock input of the up/ down counter and will initiate the
circuit motion.
This circuit consists of photo transistor or light sensor and a LED connected to the rotor shaft.
This arrangement is connected to the UP/ DOWN counter. When the machine started to move, it
turns the encoder shaft by connecting and disturbing (making and breaking) the light beam
between the light sensor and LED.
By this motion, the rotor creates clock pulses to increase the count of the up/ down counter
circuit. So the counter note downs the motion of the shaft and gives the value that how much
distance the rotor has moved.
To count the motion of the rotor shaft we increment the count by moving shaft in one direction
and decrement the count by moving in another direction. We also use an encoder /decoder circuit
to differentiate the direction of motion.
Decade Counters
A Decade counter is a serial digital counter that counts ten digits .And it resets for every new
clock input. As it can go through 10 unique combinations of output, it is also called as “Binary
coded decimal counter”. A Decade counter can count 0000, 0001, 0010, 1000, 1001, 1010, 1011,
1110, 1111, 0000, and 0001 and so on. When the Decade counter is at REST, the count is equal
to 0000. This is first stage of the counter cycle. When we connect a clock signal input to the
counter circuit, then the circuit will count the binary sequence. The first clock pulse can make
the circuit to count up to 9 (1001). The next clock pulse advances to count 10 (1010).
1. Integrated oscillator
2. Low power CMOS
3. TTL compatible inputs
Ring Counters
A ring counter is a type of counter composed of flip-flops connected into a shift register, with
the output of the last flip-flop fed to the input of the first, making a "circular" or "ring" structure.
There are two types of ring counters:
1. A straight ring counter, also known as a one-hot counter, connects the output of the last shift
register to the first shift register input and circulates a single one (or zero) bit around the ring.
2. A twisted ring counter, also called switch-tail ring counter, walking ring counter, Johnson
counter, or Mobius counter, connects the complement of the output of the last shift register
to the input of the first register and circulates a stream of ones followed by zeros around the
ring.
Early applications of ring counters were as frequency prescalers (e.g. for Geiger counter and
such instruments), as counters to count pattern occurrences in cryptanalysis (e.g. in the Heath
Robinson code breaking machine and the Colossus computer), and as accumulator counter
elements for decimal arithmetic in computers and calculators, using either bi-quinary (as in the
Colossus) or ten-state one-hot (as in the ENIAC) representations.
Johnson Counters
A Johnson counter is a modified ring counter, where the inverted output from the last flip flop is
connected to the input to the first. The register cycles through a sequence of bit-patterns. The
MOD of the Johnson counter is 2n if n flip-flops are used. The main advantage of the Johnson
counter is that it only needs half the number of flip-flops compared to the standard ring
counter for the same MOD. Applications of Johnson counters are
1. Johnson counter is used as a synchronous decade counter or divider circuit.
2. It is used in hardware logic design to create complicated Finite states machine. ex: ASIC and
FPGA design.
3. The 3 stage Johnson counter is used as a 3 phase square wave generator which produces
1200 phase shift.
4. It is used to divide the frequency of the clock signal by varying their feedback.
In electronics, a flip-flop or latch is a circuit that has two stable states and can be used to store
state information – a bistable multivibrator. The circuit can be made to change state
by signals applied to one or more control inputs and will have one or two outputs. It is the basic
storage element in sequential logic. Flip-flops and latches are fundamental building blocks
of digital electronics systems used in computers, communications, and many other types of
systems. When used in a finite-state machine, the output and next state depend not only on its
current input, but also on its current state (and hence, previous inputs). It can also be used for
counting of pulses, and for synchronizing variably-timed input signals to some reference timing
signal. Flip-flops can be either level-triggered (asynchronous, transparent or opaque) or edge-
triggered (synchronous, or clocked). The term flip-flop has historically referred generically to
both level-triggered and edge-triggered circuits that store a single bit of data using gates.
Recently, some authors reserve the term flip-flop exclusively for discussing clocked circuits; the
simple ones are commonly called transparent latches. Using this terminology, a level-sensitive
flip-flop is called a transparent latch, whereas an edge-triggered flip-flop is simply called a flip-
flop. Using either terminology, the term "flip-flop" refers to a device that stores a single bit of
data, but the term "latch" may also refer to a device that stores any number of bits of data using a
single trigger. The terms "edge-triggered", and "level-triggered" may be used to avoid
ambiguity.
S-R Flip-Flops
Most simple type of flip flop is S-R Flip Flop. It has two inputs S and R and two outputs Q and .
The state of this latch is determined by condition of Q. If Q is 1 the latch is said to be SET and if
Q is 0 the latch is said to be RESET. This S-R Latch or Flip flop can be designed either by two
cross-coupled NAND gates or two-cross coupled NOR gates. When we design this latch by
using NOR gates, it will be an active high S-R latch. That means it is SET when S = 1. When we
design this latch by using NAND gates, it will be an active low S-R latch. That means it is SET
when S = 0. S R Flip Flop is also called SET RESET Flip Flop.
D Flip-Flop
In the SR flip flop an uncertain state occurred. This can be avoided by using D flip flop. Here D
stands for “Data”. It is constructed from SR flip flop. The two inputs (S &R) of the clocked SR
flip flop are connected to an inverter.
It is one of the most widely used flip – flops. It has a clock signal (Clk) as one input and Data
(D) as other. There are two outputs and these outputs are complement to each other. The symbol
of D flip – flop is shown below.
J-K Flip-Flop
JK flip – flop is named after Jack Kilby, an electrical engineer who invented IC.
A JK flip – flop is a modification of SR flip – flop. In this the J input is similar to the set input of
SR flip – flop and the K input is similar to the reset input of SR flip – flop. The condition J = K
= 1 which is not allowed in SR flip – flop (S = R = 1) is interpreted as a toggle command.
The JK flip flop has
Two data inputs J and K.
The toggle flip-flop changes state when the clock input is applied, T = 1 and remains unchanged
when T = 0. Then the transition from “0” to “1” will cause the output to toggle giving the flip-
flop its name. The toggle T-type flip-flop is the basic building block of many digital circuits
including frequency dividers and digital counters.
Toggle T-type flip-flops can be constructed from a JK flip-flop in two simple ways. In the first is
that the J and K inputs can be tied together HIGH as shown with the clock input becoming the
toggle as shown. The second way is with the J and K inputs tied together to provide the toggle
input with the clock input remaining unchanged. The output toggles when T and CLK= or equal
to “1”. The output remains unchanged when T or CLK are LOW.
The Data D-type flip-flop can just like the JK flip-flop be converted to perform as a toggle flip-
flop by connecting the Q output directly to the D-input with the toggling signal T being the clock
input as shown above. Connecting the Q to the input creates negative feedback.
CHAPTER 5
HARDWARE DESCRIPTION LANGUAGES
INTRODUCTION
Hardware description language (HDL) is a specialized computer language used to describe the
structure and behaviour of electronic circuits, and most commonly, digital logic circuits.
A hardware description language enables a precise, formal description of an electronic circuit
that allows for the automated analysis and simulation of an electronic circuit. It also allows for
the synthesis of a HDL description into a netlist (a specification of physical electronic
components and how they are connected together), which can then be placed and routed to
produce the set of masks used to create an integrated circuit.
A hardware description language looks much like a programming language such as C; it is a
textual description consisting of expressions, statements and control structures. One important
difference between most programming languages and HDLs is that HDLs explicitly include the
notion of time.
HDLs form an integral part of electronic design automation (EDA) systems, especially for
complex circuits, such as application-specific integrated circuits, microprocessors,
and programmable logic devices.
Structure of HDL
HDLs are standard text-based expressions of the structure of electronic systems and their
behaviour over time. Like concurrent programming languages, HDL syntax and semantics
include explicit notations for expressing concurrency. Languages whose only characteristic is to
express circuit connectivity between a hierarchy of blocks are properly classified
as netlist languages used in electric computer-aided design (CAD). HDL can be used to express
designs in structural, behavioral or register-transfer-level architectures for the same circuit
functionality; in the latter two cases the synthesizer decides the architecture and logic gate
layout.
HDLs are used to write executable specifications for hardware. A program designed to
implement the underlying semantics of the language statements and simulate the progress of
time provides the hardware designer with the ability to model a piece of hardware before it is
created physically. It is this executability that gives HDLs the illusion of being programming
languages, when they are more precisely classified as specification languages or modeling
languages. Simulators capable of supporting discrete-event (digital) and continuous-time
(analog) modeling exist, and HDLs targeted for each are available.
Verilog-95
With the increasing success of VHDL at the time, Cadence decided to make the language
available for open standardization. Cadence transferred Verilog into the public domain under
the Open Verilog International (OVI) (now known as Accellera) organization. Verilog was later
submitted to IEEE and became IEEE Standard 1364-1995, commonly referred to as Verilog-95.
Verilog 2001
Verilog-2001 is a significant upgrade from Verilog-95. First, it adds explicit support for (2's
complement) signed nets and variables. Previously, code authors had to perform signed
operations using awkward bit-level manipulations. The same function under Verilog-2001 can
be more succinctly described by one of the built-in operators: +, -, /, *, >>>. A
generate/endgenerate construct (similar to VHDL's generate/endgenerate) allows Verilog-2001
to control instance and statement instantiation through normal decision operators (case/if/else).
Verilog 2005
System Verilog
SystemVerilog is a superset of Verilog-2005, with many new features and capabilities to aid
design verification and design modeling. As of 2009, the SystemVerilog and Verilog language
standards were merged into SystemVerilog 2009 (IEEE Standard 1800-2009). The current
version is IEEE standard 1800-2017.
1. The key advantage of VHDL, when used for systems design, is that it allows the behaviour
of the required system to be described (modeled) and verified (simulated) before synthesis
tools translate the design into real hardware (gates and wires).
2. Another benefit is that VHDL allows the description of a concurrent system. VHDL is
a dataflow language in which every statement is considered for execution simultaneously,
unlike procedural computing languages such as BASIC, C, and assembly code, where a
sequence of statements is run sequentially one instruction at a time.
3. A VHDL project is multipurpose. Being created once, a calculation block can be used in
many other projects. However, many formational and functional block parameters can be
tuned (capacity parameters, memory size, element base, block composition and
interconnection structure).
4. A VHDL project is portable. Being created for one element base, a computing device project
can be ported on another element base, for example VLSI with various technologies.
CHAPTER 6
DESIGN, SIMULATION, AND IMPLEMENTATION OF
PROPOSED MODEL
Fig 6.1. Schematic of a single “T” Flip-flop obtained by conversion of “D” Flip-flop.
From the above modeling, it is clear that once the result from “D” flip-flop is obtained, it is fed
back as input thus combining with “T” input signal forming a toggle type flip-flop.
In order to convert the given D flip-flop into a T-type, we need to obtain the corresponding
conversion table, as shown in Figure 9. Here, the information in the excitation table of the D
flip-flop is inserted as a part of the T flip-flop's truth table.
Having obtained the conversion table, the next step is to express the input, D, in terms of T
and Qn.
Simulation Model:
Hence, we make 4 such conversions and thus 4 such “T” Flip-flop obtained is connected
together to form our model design.
Here we have used the Xilinx ISE(Integrated Synthesis Environment) and the EDA(Electronic
Design Automation) softwares for the simulation.
During simulation we write two codes. One is the main code comprising of three important
modules. They are:
1.Implementing main code
2. Implementing “T” Flip-flop logic
3.Implementing “D” Flip-flop logic
And the second code is called the Ripple Test Bench code.
Test benches are used to simulate your design without the need of any physical hardware. A
test bench is actually just another Verilog file! However, the Verilog you write in a test bench is
not quite the same as the Verilog you write in your designs. This is because all the Verilog you
plan on using in your hardware design must be synthesizable, meaning it has a hardware
equivalent.
The detailed representation of the simulation code is as follows:
T flip-flop:
module T_FF(q, clk, reset);
output q;
input clk, reset;
wire d;
D_FF dff0(q, d, clk, reset);
D flip-flop:
module D_FF(q, d, clk, reset);
output q;
input d, clk, reset;
reg q;
always @(posedge reset or negedge clk)
if (reset)
q = 1'b0;
else
q = d;
endmodule
Once the main coding is done, we can use the Test Bench coding which helps in viewing the
output directly through simulation rather than using a physical hardware.
In this case, we implement the Test Bench code and verify the output with the main code already
being implemented.
Test Bench:
module ripple_tb;
reg clk; // Input
reg reset; // Input
wire [3:0] q; // Output
// Instantiate the Unit Under Test
ripple_carry_counter r1 (.q(q), .clk(clk), .reset(reset));
// Control the clk signal that drives the design block. Cycle time = 10
initial
clk = 1'b0; // Set clk to 0
always
#5 clk = ~clk; // Toggle clk every 5 time units
A major advantage of preset guidance is that it is relatively simple compared to other types of
guidance and it does not require tracking or visibility.
CONCLUSION
The model thus developed using VLSI technology has been successfully simulated and being
implemented in the self guided ballistic missiles. This project also proves to be one of the most
convenient methods in every application that it is used. The major advantage of the model is that
is simple in construction and easy to maintain.
With various combinations available for circuit design, there is a wide range of usage of such
models. The Hardware description language used in this project has many benefits. The major
benefit of the language is fast design and better verification. The Top-down design and
hierarchical design method allows the design time; design cost and design errors to be reduced.
Another major advantage is related to complex designs, which can be managed and verified
easily. HDL provides the timing information and allows the design to be described in gate level
and register transfer level. Reusability of resources is one of the other advantage.
Thus, it can be concluded that ripple carry counter designed using Verilog HDL and the
corresponding T Flip-flops has wide range of benefits and can be implemented using complete
reliability.
FUTURE SCOPE
With the technology growing everyday paving way to new innovations, there has been a
urgent requirement for quick results. Keeping the point in consideration, new technologies
like VLSI can be implemented extensively in the field of Electrical and Electronics in order
to produce simple and quick response projects. With the current trend of using such
technologies being successful, means that the further research would be to develop advanced
versions.
In fields like Communication, Medicine, and Defence the development of VLSI oriented
innovation can put the country upfront considering the Economic status and also the welfare
of the country.
Defence Organisations are bound to have more benefits of using this technology as it reduces
the complexity of heavy equipments like Missiles and can obtain timely output making it
easy to operate.
This project will play an important in the future designs of defence equipments in order to
obtain simple and reliable operation.
REFERENCES