CT 222: HARDWARE DESCRIPTION
LANGUAGES AND PROGRAMMABLE
LOGIC
Instructor: Mr. Mwalongo M, R
(Assistant Lecturer)
Office No: AB 15 (Admin Block)
E-mail: [email protected]
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 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
5
Better and easier design auditing and verification
ASIC AND FPGA DEVICES
ASIC
It 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;
6
Standard Cells
ASIC AND FPGA DEVICES
Gate Arrays are logic gates that are pre-laid in matrix
form on a chip.
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 Cell
In 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
ASIC AND FPGA DEVICES
FPGAs
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
ASIC AND FPGA DEVICES
FPGAs
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 a programming language, but is specifically
oriented to describing hardware structures and behaviors.
12
HARDWARE DESCRIPTION
LANGUAGES (HDL)
The 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 (HDL)
There 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
HDL TOOL SUITES
Simulator
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
HDL TOOL SUITES
Template 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
25
observe its outputs.
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 specifies how they should be connected
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 macro-cells 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