Digital Design - Montana State University

advertisement
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
Digital Design:
An Embedded Systems
Approach Using VHDL
Chapter 1
Introduction and Methodology
Portions of this work are from the book, Digital Design: An Embedded
Systems Approach Using VHDL, by Peter J. Ashenden, published by Morgan
Kaufmann Publishers, Copyright 2007 Elsevier Inc. All rights reserved.
VHDL
Digital Design
„
Digital: circuits that use two voltage
levels to represent information
„
Logic: use truth values and logic to analyze
circuits
„
Design: meeting functional
requirements while satisfying
constraints
„
Constraints: performance, size, power,
cost, etc.
Digital Design — Chapter 1 — Introduction and Methodology
2
1
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Design using Abstraction
„
Circuits contain millions of transistors
„
„
Abstraction
„
„
„
How can we manage this complexity?
Focus on aspects relevant aspects, ignoring
other aspects
Don’t break assumptions that allow aspect
to be ignored!
Examples:
„
„
Transistors are on or off
Voltages are low or high
Digital Design — Chapter 1 — Introduction and Methodology
3
VHDL
Digital Systems
„
Electronic circuits that use discrete
representations of information
„
Discrete in space and time
Digital Design — Chapter 1 — Introduction and Methodology
4
2
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Embedded Systems
„
Most real-world digital systems include
embedded computers
„
„
Different functional requirements can
be implemented
„
„
„
Processor cores, memory, I/O
by the embedded software
by special-purpose attached circuits
Trade-off among cost, performance,
power, etc.
Digital Design — Chapter 1 — Introduction and Methodology
5
VHDL
Binary Representation
„
Basic representation for simplest form
of information, with only two states
„
„
„
„
„
a
a
a
a
a
switch: open or closed
light: on or off
microphone: active or muted
logical proposition: false or true
binary (base 2) digit, or bit: 0 or 1
Digital Design — Chapter 1 — Introduction and Methodology
6
3
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Binary Representation: Example
+V
switch_pressed
„
Signal represents the state of the switch
„
„
high-voltage => pressed,
low-voltage => not pressed
Equally, it represents state of the lamp
„
lamp_lit = switch_pressed
Digital Design — Chapter 1 — Introduction and Methodology
7
VHDL
Binary Representation: Example
+V
lamp_enabled
sensor
„
„
„
„
lamp_lit
dark
dark: it’s night time
lamp_enabled: turn on lamp at night
lamp_lit: lamp_enabled AND dark
Logically: day time => NOT lamp_lit
Digital Design — Chapter 1 — Introduction and Methodology
8
4
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Basic Gate Components
„
Primitive components for logic design
AND gate
OR gate
0
1
inverter
multiplexer
Digital Design — Chapter 1 — Introduction and Methodology
9
VHDL
Combinational Circuits
„
Circuit whose output values depend
purely on current input values
>30°C
vat 0
>25°C
low level
0
1
buzzer
>30°C
+V
vat 1
>25°C
select vat 1
select vat 0
low level
Digital Design — Chapter 1 — Introduction and Methodology
10
5
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Sequential Circuits
„
Circuit whose output values depend on
current and previous input values
„
„
Include some form of storage of values
Nearly all digital systems are sequential
„
„
Mixture of gates and storage components
Combinational parts transform inputs and
stored values
Digital Design — Chapter 1 — Introduction and Methodology
11
VHDL
Flipflops and Clocks
„
Edge-triggered D-flipflop
„
stores one bit of information at a time
rising edge
D
1
0
D
1
0
Q
1
0
Q
clk
„
clk
falling edge
Timing diagram
„
Graph of signal values versus time
Digital Design — Chapter 1 — Introduction and Methodology
12
6
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Real-World Circuits
„
Assumptions behind digital abstraction
„
„
„
„
ideal circuits, only two voltages,
instantaneous transitions, no delay
Greatly simplify functional design
Constraints arise from real components
and real-world physics
Meeting constraints ensures circuits are
“ideal enough” to support abstractions
Digital Design — Chapter 1 — Introduction and Methodology
13
VHDL
Integrated Circuits (ICs)
„
Circuits formed on surface of silicon wafer
„
„
„
„
Minimum feature size reduced in each
technology generation
Currently 90nm, 65nm
Moore’s Law: increasing transistor count
CMOS: complementary MOSFET circuits
+V
input
Digital Design — Chapter 1 — Introduction and Methodology
output
14
7
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Logic Levels
„
Actual voltages for “low” and “high”
„
Example: 1.4V threshold for inputs
receiver threshold
1.5V
nominal 1.4V threshold
1.0V
0.5V
signal with added noise
2.5V
logic high threshold
2.0V
driven signal
1.5V
1.0V
logic low threshold
0.5V
Digital Design — Chapter 1 — Introduction and Methodology
15
VHDL
Logic Levels
„
TTL logic levels with noise margins
signal with added noise
2.5V
2.0V
VOH
VIH
1.5V
driven signal
1.0V
VIL
0.5V
VOL
VOL: output low voltage
VOH: output high voltage
noise margin
noise margin
VIL: input low voltage
VIH: input high voltage
Digital Design — Chapter 1 — Introduction and Methodology
16
8
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Static Load and Fanout
„
Current flowing into or out of an output
„
High: SW1 closed, SW0 open
+V
„
R1
„
„
SW1
output
Low: SW0 closed, SW1 open
„
SW0
„
R0
„
Voltage drop across R1
Too much current: VO < VOH
Voltage drop across R0
Too much current: VO > VOL
Fanout: number of inputs
connected to an output
„
determines static load
Digital Design — Chapter 1 — Introduction and Methodology
17
VHDL
Capacitive Load and Prop Delay
„
Inputs and wires act as capacitors
output
+V
3.0V
R1
R0
tf
2.0V
input
VOH
1.0V
SW1
SW0
tr
VOL
Cin
„
„
„
tr: rise time
tf: fall time
tpd: propagation delay
„
delay from input transition
to output transition
Digital Design — Chapter 1 — Introduction and Methodology
18
9
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Other Constraints
„
„
Wire delay: delay for transition to
traverse interconnecting wire
Flipflop timing
„
„
„
delay from clk edge to Q output
D stable before and after clk edge
Power
„
„
current through resistance => heat
must be dissipated, or circuit cooks!
Digital Design — Chapter 1 — Introduction and Methodology
19
VHDL
Area and Packaging
„
Circuits implemented on silicon chips
„
„
Chips in packages with connecting wires
„
„
„
Larger circuit area => greater cost
More wires => greater cost
Package dissipates heat
Packages interconnected on
a printed circuit board (PCB)
„
Size, shape, cooling, etc,
constrained by final product
Digital Design — Chapter 1 — Introduction and Methodology
20
10
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Models
„
Abstract representations of aspects of a
system being designed
„
„
Allow us to analyze the system before
building it
Example: Ohm’s Law
„
„
„
„
V=I×R
Represents electrical aspects of a resistor
Expressed as a mathematical equation
Ignores thermal, mechanical, materials
aspects
Digital Design — Chapter 1 — Introduction and Methodology
21
VHDL
VHDL
„
VHSIC Hardware Description Language
„
„
A computer language for modeling
behavior and structure of digital systems
Electronic Design Automation (EDA)
using VHDL
„
„
„
Design entry: alternative to schematics
Verification: simulation, proof of properties
Synthesis: automatic generation of circuits
Digital Design — Chapter 1 — Introduction and Methodology
22
11
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Entity Declarations
„
Describes input and outputs of a circuit
>30°C
>25°C
above_30_0
above_25_0
temp_bad_0
or_0a
inv_0
or_0b
wake_up_0
below_25_0
low level
low_level_0
select_mux
0
>30°C
>25°C
1
above_30_1
above_25_1
buzzer
buzzer
temp_bad_1
inv_1
or_1a
or_1b
+V
wake_up_1
select_vat_1
below_25_1
low level
low_level_1
Digital Design — Chapter 1 — Introduction and Methodology
23
VHDL
Entity Declarations
library ieee; use ieee.std_logic_1164.all;
entity vat_buzzer is
port ( above_25_0, above_30_0,
low_level_0 : in std_logic;
above_25_1, above_30_1,
low_level_1 : in std_logic;
select_vat_1 : in std_logic;
buzzer : out std_logic );
end entity vat_buzzer;
Digital Design — Chapter 1 — Introduction and Methodology
24
12
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Structural Architectures
library dld; use dld.gates.all;
architecture struct of vat_buzzer is
signal below_25_0, temp_bad_0, wake_up_0 : std_logic;
signal below_25_1, temp_bad_1, wake_up_1 : std_logic;
begin
-- components for vat 0
inv_0 : inv (above_25_0, below_25_0);
or_0a : or2 (above_30_0, below_25_0, temp_bad_0);
or_0b : or2 (temp_bad_0, low_level_0, wake_up_0);
-- components for vat 1
inv_1 : inv (above_25_1, below_25_1);
or_1a : or2 (above_30_1, below_25_1, temp_bad_1);
or_1b : or2 (temp_bad_1, low_level_1, wake_up_1);
select_mux : mux2 (wake_up_0, wake_up_1, select_vat_1, buzzer);
end architecture struct;
Digital Design — Chapter 1 — Introduction and Methodology
25
VHDL
Behavioral Architectures
architecture behavior of vat_buzzer is
begin
buzzer <=
low_level_1 or
(above_30_1 or not above_25_1)
when select_vat_1 = '1' else
low_level_0 or
(above_30_0 or not above_25_0);
end architecture behavior;
Digital Design — Chapter 1 — Introduction and Methodology
26
13
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Design Methodology
„
„
Simple systems can be design by one
person using ad hoc methods
Real-world systems are design by teams
„
„
Require a systematic design methodology
Specifies
„
„
„
Tasks to be undertaken
Information needed and produced
Relationships between tasks
„
„
dependencies, sequences
EDA tools used
Digital Design — Chapter 1 — Introduction and Methodology
27
VHDL
A Simple Design Methodology
Requirements
and
Constraints
Design
Synthesize
Physical
Implementation
Manufacture
Functional
Verification
Post-synthesis
Verification
Physical
Verification
Test
OK?
N
Y
OK?
N
Y
OK?
Y
N
Digital Design — Chapter 1 — Introduction and Methodology
28
14
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Hierarchical Design
„
„
„
Circuits are too complex for us to
design all the detail at once
Design subsystems for simple functions
Compose subsystems to form the
system
„
„
„
Treating subcircuits as “black box”
components
Verify independently, then verify the
composition
Top-down/bottom-up design
Digital Design — Chapter 1 — Introduction and Methodology
29
VHDL
Hierarchical Design
Architecture
Design
Unit
Design
Design
Unit
Verification
Functional
Verification
OK?
N
Y
OK?
Y
Integration
Verification
N
N
OK?
Y
Digital Design — Chapter 1 — Introduction and Methodology
30
15
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Synthesis
„
We usually design using register-transferlevel (RTL) VHDL
„
„
„
Synthesis tool translates to a circuit of gates
that performs the same function
Specify to the tool
„
„
„
Higher level of abstraction than gates
the target implementation fabric
constraints on timing, area, etc.
Post-synthesis verification
„
synthesized circuit meets constraints
Digital Design — Chapter 1 — Introduction and Methodology
31
VHDL
Physical Implementation
„
Implementation fabrics
„
„
„
„
„
„
Application-specific ICs (ASICs)
Field-programmable gate arrays (FPGAs)
Floor-planning: arranging the subsystems
Placement: arranging the gates within
subsystems
Routing: joining the gates with wires
Physical verification
„
„
physical circuit still meets constraints
use better estimates of delays
Digital Design — Chapter 1 — Introduction and Methodology
32
16
Digital Design — Chapter 1 — Introduction and Methodology
6 September 2007
VHDL
Codesign Methodology
Requirements
and
Constraints
Partitioning
Hardware
Requirements
and Constraints
Software
Requirements
and Constraints
Hardware
Design and
Verification
Software
Design and
Verification
N
OK?
OK?
N
Manufacture
and Test
Digital Design — Chapter 1 — Introduction and Methodology
33
VHDL
Summary
„
„
„
„
Digital systems use discrete (binary)
representations of information
Basic components: gates and flipflops
Combinational and sequential circuits
Real-world constraints
„
„
„
logic levels, loads, timing, area, etc
VHDL models: structural, behavioral
Design methodology
Digital Design — Chapter 1 — Introduction and Methodology
34
17
Download