Chapter 2
Chapter 2
(1)
Systems Hierarchy
Level of Abstraction
Functions
CPUs, memories
Increasing
•Fidelity
•#of events
ALUs, registers
Switches
(2)
Describing Systems
microphone
To the
Processor headphones
ZPS
61899
speakers
amplifier
(3)
What Elements Should be in a
Description?
• Descriptions should be at multiple levels of
abstraction
– The descriptive elements must be common to multiple
levels of hierarchy
(4)
What Elements Should be in a
Description?
• VHDL was conceived for the description of digital
systems
– From switches to networked systems
(5)
Attributes of Digital Systems
Event
a a sum
b
b
carry
sum
carry
5 10 15 20 25 30 35 40
Time (ns)
(6)
Attributes of Digital Systems: Timing
R
Clk
Triggering D Q
edge
D
Q
Clk
Q
S
10 15 20 25 30 35 40
Time (ns)
(7)
Attributes of Digital Systems: Timing
TRANSMIT
ACK
(8)
Attributes of Digital Systems: Signal
Values
• We associate logical values with the state of a signal
possible
signal values?
(9)
Attributes of Digital Systems: Multiple Drivers
• Shared Signals
– multiple drivers
(10)
Modeling Digital Systems
(11)
Execution Models for VHDL Programs
• For Simulation
– Discrete event simulation
– Understanding is invaluable in debugging programs
• For Synthesis
– Hardware inference
– The resulting circuit is a function of the building blocks used
for implementation
• Primitives: NAND vs. NOR
• Cost/performance
(12)
Simulation vs. Synthesis
entity my_ckt is
port (x, y : in bit ;
z : out bit )
end entity my_ckt;
architecture behavioral of
my_ckt is synthesis
begin
-- some code here
--
end architecture behavioral;
entity my_ckt is
port (x, y :in bit ;
z : out bit )
end entity my_ckt; simulation
architecture behavioral of
my_ckt is
begin
-- some code here
--
end architecture behavioral;
(13)
Simulation of Digital Systems
@5 ns
@5 ns @15 ns
0
@10 ns
Head
(14)
Discrete Event Simulation: Example
Simulation Time Event List Head
Initial state: a = b = 1, sum = carry = U
10ns 10
b
a@15ns
sum
a sum
carry
b
5 10 15 20 25 30 35 40
carry
(15)
Discrete Event Simulation
(16)
Simulation Modeling
a sum
b VHDL Model
carry
compiler
(17)
Synthesis and Hardware Inference
Design HDL
Specification
Author HDL
Synthesis
Author Hardware
engine
Design
(18)
Summary
(19)