Uploaded by Fahad Said

Lect 1 mwalongo

advertisement
CT 222: HARDWARE DESCRIPTION
LANGUAGES AND PROGRAMMABLE LOGIC
Instructor:
Mr. Mwalongo M, R
(Assistant Lecturer)
Office No:
AB 15 (Admin Block)
E-mail:
mwalongomarko@gmail.com
DIGITAL SYSTEM DESIGN FLOW AND
HARDWARE DESCRIPTION LANGUAGES
(HDLS)
INTRODUCTION
 Traditionally,
digital system design was a manual process of
designing and capturing circuits using schematic entry tools.
This process has many disadvantages and is rapidly being
replaced by new methods.
 System
designers are always competing to build cost-effective
products as fast as possible in highly competitive environment.
3
INTRODUCTION
 In
order to achieve this, top down design methodologies
including Hardware Description Languages (HDLs) and
synthesis and simulation are in use.
A
product of this instance is any electronic equipment
containing Application-Specific Integrated Circuits (ASICs), or
Field-Programmable Gate-Arrays (FPGAs).
4
INTRODUCTION
 Advantages

of top down design methodology;
Increased productivity yields shorter development cycles with more
product features and reduced time to market.

Reduced non-recurring engineering costs

Design reuse is enabled

Increased flexibility to design changes

Faster exploration of alternative architectures

Faster exploration of alternative technology libraries

Better and easier design auditing and verification
5
ASIC AND FPGA DEVICES
 ASIC
 It
device
is a device that is partially manufactured by an ASIC and
vendor generic form. Its manufacturing process is the most
complex, time consuming,
and expensive part of the total
manufacturing process.
 There
are two types/categories of ASIC devices;
Gate Arrays and;
Standard Cells
6
 Gate
ASIC AND FPGA DEVICES
Arrays are logic gates that are pre-laid in matrix form on a
chip.
A
gate array is an approach to the design and manufacture of
ASICs using a prefabricated chip with components that are later
interconnected into logic devices according to a custom order by
adding metal interconnect layers in the factory.
 Types
of gate arrays

Channeled

Non-channeled/channel-less
7
ASIC AND FPGA DEVICES
 Channeled
gate array is manufactured with single or
double rows of basic cells across the silicon.
 The
channels between the rows of cells are used for
interconnecting the basic cells during the final customization
process.
 Channel-less
gate array is manufactured with a “sea” of
basic cells across the silicon and there are no dedicated
channels for interconnections.
8
ASIC AND FPGA DEVICES
 Standard
 In
Cell
this category, devices do not have the concept of a cell
and no components are prefabricated on the silicon chip.
 The
manufacturer creates custom masks for every stage of
device’s process and means silicon is utilized much more
efficiently than gate arrays.
9
 FPGAs

ASIC AND FPGA DEVICES
They are integrated circuits designed to be configured by a
customer or a designer after manufacturing – hence the term
"field-programmable".

The FPGA configuration is generally specified using
a hardware description language (HDL), similar to that used
for an application-specific integrated circuit (ASIC).
10
 FPGAs

ASIC AND FPGA DEVICES
Each FPGA vendor manufactures devices to proprietary
architecture.

Architecture includes an number of programmable logic
blocks that are connected to programmable switching matrices.

To configure a device for a particular functional operation
these switching matrices are programmed to route signals
between the individual logic blocks.
11
HARDWARE DESCRIPTION
LANGUAGES
 HDL
(HDL)
is a language that describes the hardware of digital systems in a
textual form.
 It
resembles to programming language, but is specifically
oriented to describing hardware structures and behaviors.
12
HARDWARE DESCRIPTION
LANGUAGES
 The
(HDL)
main difference with the traditional programming
languages is HDL’s representation of extensive parallel
operations whereas traditional ones represent mostly serial
operations.
 The
most common use of a HDL is to provide an
alternative to schematics.
13
HARDWARE DESCRIPTION
LANGUAGES
 HDL
(HDL)
can be used to represent logic diagrams, Boolean
expressions, and other more complex digital circuits.
 Thus,
in top down design, a very high-level description of a
entire system can be precisely specified using an HDL.

This high-level description can then be refined and
partitioned into lower-level descriptions as a part of the
design process.
14
HARDWARE DESCRIPTION
LANGUAGES
 There

(HDL)
are two standard HDL’s that are supported by IEEE.
VHDL (Very-High-Speed Integrated Circuits Hardware
Description Language) - Sometimes referred to as VHSIC
HDL, this was developed from an initiative by US. Dept.
of Defense.

Verilog HDL – developed by Cadence Data systems and
later transferred to a consortium called Open Verilog
International (OVI).
15
HDL BASED DIGITAL DESIGN
 Why
HDLs?

Support larger system designs.

By describing the design in a high-level (=easy to
understand) language, we can simulate our design before
we manufacture it. This allows us to catch design errors.
16
HDL TOOL SUITES
 Text

editor
Allows you to write, edit and save an HDL program.
 Compiler

Finds syntax errors.

Creates
an
intermediate
file
that
describes
the
interconnections and logic operations.
17
HDL TOOL SUITES
 Synthesizer

Targets the design to a specific hardware technology such as
PLD, FPGA or ASIC.

Refers to one or more libraries having gates, flipflops,
registers, adders, counters etc.

By
analyzing
the
intermediate
design
description,
synthesizer “infer” the opportunity to map portions of the
design into these larger-scale library components.
18
HDL TOOL SUITES
 Simulator

Inputs: HDL program and test bench/ waveform editor.

Test bench is the timed sequence of inputs for the hardware
described by HDL.

Waveform editor used to graphically represent the inputs.
19
 Simulator

HDL TOOL SUITES
Simulator runs the specified input sequence on the
described hardware and determines the values of hardware’s
internal signals and its outputs over a specified period of
time.

Outputs are viewed graphically through waveform editor and also a
text file that lists signal values, errors and warnings.
20
 Template

HDL TOOL SUITES
generator
Creates text file with the outline of commonly used program
structure so that the designer can “fill in the blanks” to create
source code for a particular purpose.
 Schematic

viewer
Creates schematic diagram corresponding to an HDL
program, based on output of compiler.

May differ from final synthesized result.
21
HDL TOOL SUITES
 Translator

Targets the compiler’s intermediate-language output to a real
device such as PLD, FPGA or ASIC

There is also an associated fitter and chip viewer.

Fitter fits the translated realization into available resources on
the real device.

Chip viewer lets the designer see how the design has been laid
out on the chip.
22
HDL TOOL SUITES
 Timing

analyzer
Calculates delays through some or all of the signal paths in the
final chip and produces a report showing the worst case paths
and their delays.
 Back

annotator
Inserts delay clauses or statements in the original HDL source
program, corresponding to delays calculated by the timing
analyzer.
23
HDL –BASED DESIGN FLOW
24
FRONT-END STEPS


Block diagram: define modules and their interfaces
Coding: writing of HDL code for modules, their
interfaces and their internal details

Compilation: the HDL compiler analyzes the code for
syntax errors and compatibility with other modules on
which it relies

Simulation: define and apply inputs to the design and
observe its outputs.
25
FRONT-END STEPS
 Verification:

Functional verification: study the circuit’s logical
operation

Timing
verification:
study
circuit’s
operation
including estimated delays, and verify setup, hold
and other timing requirements.
26
BACK-END STEPS

Synthesis: converts the HDL description into a
set of primitives or components that can be
assembled in the target technology.

E.g.: with PLDs and CPLDs, the synthesis tool
may generate two-level SOP equations.

With ASICs, it may generate a list of gates and a
netlist
that
connected
specifies
how
they
should
be
27
BACK-END STEPS

Fitting: a fitter maps the synthesized primitives
or components onto available device resources.

For
PLD
or
CPLD,
this
means
assigning
equations to available AND-OR elements.

For FPGA or ASIC, it means selecting macrocells or laying down individual gates in a pattern
and finding ways to connect them within the
physical constraints of the FPGA or ASIC die---
place-and-route process
28
BACK-END STEPS

Timing verification: actual circuit delays due
to wire lengths, electrical loading and other
factors
can
be
calculated
with
reasonable
precision
29
THANK YOU!!!!!!!!!!
30
Download