Title: EEE 361 Digital Design and HDL Modeling
1EEE 361Digital Design and HDL Modeling
- HDL Introduction
- (Logic and Computer Design Fundamentals 3-1)
- (Introductory VHDL Chapter 1 and 3.2)
2Outline 1
- Digital Circuits/Logic Types/Timing
- Hierarchy
- Top-down design
- Computer Aided Design
- Hardware Description Languages (HDL)
- Simulation
- Synthesis
3Outline 2
Code in VHDL
Analyze
Simulate
N
Expected behaviour?
Synthesize
Y
4Digital Circuits 1
- Basics of digital circuits were covered last year
in 245. You are responsible for all of the
material in 245 - Recall
- Circuits are digital as they rely on discrete
values (as opposed to analog systems) - An analog signal of low or high value is used to
represent a binary number - A binary system employed as it is simpler to
implement than a multi-valued digital system - Transistors are combined in gates to model our
system of Boolean algebra AND, OR, NOT, XOR
5Digital Circuits 2
- Review
- We develop circuits based on a requirement and
the development of a representative Boolean
equation - The equation is simplified through the use of a
Karnaugh map or through Boolean manipulation - This equation is then used to develop the circuit
- Circuits can be combinational (outputs based
solely on inputs) or sequential (where outputs
are based on inputs and state). Examples?
6Digital Circuits Logic Type 1
- Circuits can interpret a logic 1 as the high
value(H) or the low value(L) - When the high value is chosen this is known as a
positive logic system - When the low value is chosen this is known as a
negative logic system - High and low are simply relative to each other,
the values could actually both be negative (ie
-5 and -10 volts) - YOU choose if 1 and 0 are assigned to High
and Low or Low and High, respectively
7(No Transcript)
8Digital Circuits Logic Type 2
- The barbs on the negative logic diagram are
there to denote negative logic. - Typically "bubbles" are used
- Now the same gate can be a positive logic AND
gate or a negative logic OR gate - Bottom line be aware this exists, but well work
with positive logic in our class
9Digital Circuits Timing
- Components do not respond instantaneously to
changes in voltage - How long is a nanosecond?
- Delays affect how quickly a circuit may function
and can introduce hazards into a circuit if
designs are created with no consideration for
their impact - Time to change voltages also results in "inertia"
- If an input is brought from low to high, the
output may not change if the input is returned to
low too quickly
10Digital Circuits Timing
11Hierarchy 1
- As designs become more complex, it becomes
difficult to maintain the big picture of its
operation - Function groupings of components can be replaced
by symbols to ease understanding
12Hierarchy 2
- In designing a large project, a divide and
conquer approach is used where the circuit is
broken in to pieces called blocks - The interfaces to these blocks are clearly
defined to allow for easy interconnection - Blocks that are still too large/complex can be
further divided into smaller blocks - This design approach is known as a hierarchical
design where the resulting symbols and schematics
represent the hierarchy of the circuit
13Hierarchy 3
- A hierarchy gives a simplified representation of
a complex circuit - A hierarchy usually ends at a set of primitive
blocks - Hierarchies allow for reuse of blocks
14Hierarchy 4
- Reference was made to primitive blocks
- A primitive block is a rudimentary block, such as
a gate, which has a symbol, but no logic
schematic. Its function cannot be further
expanded to more logic symbols. - A primitive block is a kind of predefined block.
A predefined block is a structure which has a
symbol but no logic schematic. While they could
be described by more logic symbols, their
function is defined by a program or description
that serves as a model
15Top-Down Design 1
Design steps for an Application Specific
Integrated Circuit (ASIC)
Requirements
Functional Design
Behavioural Simulation
Register Transfer Level Design
RTL Simulation Validation
Logic Simulation Verification
Logic Design
Circuit Design
Timing Simulation Circuit Analysis
Physical Design
Design Rule Checking
16Top-Down Design 2
- To work with a hierarchy, the design needs to be
designed from the top-down - Circuit function specified
- Constraints place on cost, performance,
reliability - Circuit divided into blocks small enough to
design the logic - Logic design proceeds with division of blocks as
required - In reality, design must often proceed bottom-up
to provide blocks that can be reused
17Computer Aided Design 1
- The design of complex digital circuits has become
impossible without computer aid - Designs are too complex to design manually, not
just because of size, but also because of a
number of (conflicting) constraints - The circuit must be fast
- The circuit must use the least number of gates
possible - The circuit must use as little power as possible
- The circuit must be reliable
- Design-to-market time must be as quick as possible
18Computer Aided Design 2
- Computer aided design can be used in two main
ways - The computer can help with the schematic design
managing the drawing and classification of
functional blocks and their implementation - Advantage Humans work visually and this is just
another tool to help in a visual design - Disadvantages a circuit with millions of gates
still takes time to design, is cumbersome, and is
not portable from one tool to another - There must be a better way!
19Hardware Description Language
- Computer aided design
- Another use of computers in circuit design is the
employment of a Hardware Description Language
(HDL) - Allows
- Documentation
- The development of formal specifications for a
circuit - Modeling of a circuit
- Circuit simulation
- Circuit synthesis
- Examples VHDL, Verilog, Abel
20Quick Example 1
- Inverter
- Specification
- C becomes NOT A (after some time)
- Model
- IN -gt a
- OUT -gt c
- These are known as ports in HDL
c
a
Inverter
21Quick Example 2
- Describe how the black box works
library IEEE use IEEE.std_logic_1164.all entity
Inverter is port ( a in bit c out
bit ) end Inverter architecture BlackBox of
Inverter is begin clt NOT a end BlackBox
Interface
Magic (including delays, if any)
22Simulation
- We can now simulate to test if our model produces
the outputs as required by the specification - Simulation process of using a model to mimic
the behaviour of a physical system
23Synthesis 1
- Synthesis is the translation of the model into a
more detailed version with optimization - Optimization can be for
- Speed
- Surface area
- Power consumption
- A combination of any of the above
- Synthesis complementary to simulation,
constructing a physical system from a model - Automatic generation from abstract description
using predefined set of basic building blocks
24Synthesis 2
Requirements
Functional Design
Register Transfer Level Design
Synthesis
Behavioural Simulation (VHDL)
Place and Route
Timing Extraction
25Synthesis 3
- The technology library that is used determines
properties of the gates. Important parameters
are - Fan-in (How many inputs can a gate accept?)
- Propagation Delay (previously discussed)
- Fan-out (How much load can be put on a gate)
- Cost
- Noise Margin
- Power Dissipation (Power consumed heat!)
26Questions