Advance Digital Electronics FINAL PDF
Advance Digital Electronics FINAL PDF
Electronics
Dr. Montassar Aidi Sharif
PhD in Electrical and Computer
Engineering
[email protected]
Objectives
• Introduction to embedded systems
• FPGAs (Field Programable Gate Arrays)
2
Wireless Communications
3
Robotics Control
4
More examples
Smart Toys
5
Cruise Missile Guidance
6
7
8
Definition
◼ “Any sort of device which includes a
programmable computer but itself is not
intended to be a general-purpose
computer”
◼ Wayne Wolf
Required in the mid exam
9
Definition
10
Embedded systems overview
◼ Computing systems are everywhere
◼ Most of us think of “desktop” computers
– PC’s
– Laptops
– Mainframes
– Servers
◼ But there’s another type of computing system
– Far more common...
Slide credit Vahid/Givargis, Embedded Systems Design: A Unified Hardware/Software Introduction, 2000
11
Embedded systems overview
◼ Embedded computing systems
Computers are in here...
– Computing systems embedded
within electronic devices and here...
12
A “short list” of embedded
Anti-lock brakes
systems Modems
Auto-focus cameras MPEG decoders
Automatic teller machines Network cards
Automatic toll systems Network switches/routers
Automatic transmission On-board navigation
Avionic systems Pagers
Battery chargers Photocopiers
Camcorders Point-of-sale systems
Cell phones Portable video games
Cell-phone base stations Printers
Cordless phones Satellite phones
Cruise control Scanners
Curbside check-in systems Smart ovens/dishwashers
Digital cameras Speech recognizers
Disk drives Stereo systems
Electronic card readers Teleconferencing systems
Electronic instruments Televisions
Electronic toys/games Temperature controllers
Factory control Theft tracking systems
Fax machines TV set-top boxes
Fingerprint identifiers VCR’s, DVD players
Home security systems Video game consoles
Life-support systems Video phones
Medical testing systems Washers and dryers
13
How many do we use?
◼ Average middle-class home has 40 to 50
embedded processors in it
– Microwave, washer, dryer, dishwasher, TV, VCR,
stereo, hair dryer, coffee maker, remote control,
humidifier, heater, toys, etc.
◼ Luxury cars have over 60 embedded processors
– Brakes, steering, windows, locks, ignition, dashboard
displays, transmission, mirrors, etc.
◼ Personal computers have over 10 embedded
processors
– Graphics accelerator, mouse, keyboard, hard-drive, CD-
ROM, bus interface, network card, etc.
- Mike Schulte
14
Required in the mid exam
15
Types of Embedded Systems
16
Typical Embedded Systems
◼ Are designed to observed (through sensors)
and control something (through actuators)
E.g. air condition senses room temperature and
maintains it at set temperature via thermostat.
17
Embedded System Block Diagram
Control
(Output) Motor/Light
System Bus
Observe Temperature
Processor (Input) Sensor
mem
18
Processors
◼ Microprocessors for PCs
◼ Embedded processors or Microcontrollers
for embedded systems
– Often with lower clock speeds
– Integrated with memory and
– I/O devices e.g. A/D D/A PWM CAN
– Higher environmental specs
19
Design Constraints
Required in the mid exam
20
Required in the mid exam
Design Challenges
◼ Does it really work?
– Is the specification correct?
– Does the implementation meet the spec?
– How do we test for real-time characteristics?
– How do we test on real data?
◼ How do we work on the system?
– Observability, controllability?
– What is our development platform?
Slide credit – P Koopman, CMU
f1 = A • B • C + A • B • C
f2 = A • B + A • B • C
AND plane
PLA - Macrocell
Can implement combinational or sequential
Select
Enable
A
logic
B C
f1
Flip-flop
MUX
D Q
Clock
AND plane
CPLD Structure
Integration of several PLD blocks with a programmable
interconnect on a single chip
I/O Block
I/O Block
• PLD PLD •
• Block Block •
• •
Interconnection Matrix
I/O Block
I/O Block
• PLD PLD •
• Block Block •
• •
FPGA - Generic Structure
Logic block Interconnection switches
FPGA building blocks:
◼ Programmable logic blocks I/O
Implement combinatorial and
sequential logic
◼ Programmable interconnect
Wires to connect inputs and
outputs to logic blocks
I/O
I/O
◼ Programmable I/O blocks
Special logic blocks at the
periphery of device for external
connections
I/O
Digital Logic
Logic Gates
Transistor Switches
< 40 nm ! $$$
Digital Logic
3 Inputs
SUM of PRODUCTS
Black Box Truth Table
(Look Up Table LUT)
Digital Logic
3 Inputs
SUM of PRODUCTS
Black Box Truth Table
(Look Up Table LUT)
Logic Blocks
◼ Logic Functions implemented in Look Up
Table LUTs.
◼ Flip-Flops. Registers. Clocked Storage
elements. 16-bit SR
16x1 RAM
◼
a
LUT
b
y
c
mux
d flip-flop
q
e
clock
clock enable
set/reset
[email protected]
c.uk
Look Up Tables LUTs
◼ LUT contains Memory Cells to implement small logic functions
◼ Each cell holds ‘0’ or ‘1’ .
◼ Programmed with outputs of Truth Table
◼ Inputs select content of one of the cells as output
◼ Configured by re-programmable SRAM memory cells
3 Inputs LUT -> 8 Memory Cells
16-bit SR
16x1 RAM
a 4-input
LUT
3 – 6 Inputs b
c
y
mux
d flip-flop
q
e
clock
clock enable
set/reset SRAM
Out
A
B
C LUT D Q
Clock
Look-Up Tables (LUT)
◼ Look-up table with N-inputs can be used to implement any
combinatorial function of N inputs
◼ LUT is programmed with the truth-table
A B C D Z
A
0 0 0 0 0
B
0
0
0
0
0
1
1
0
1
1 C LUT Z
0 0 1 1 1 D
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1 LUT implementation
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1 A
1 0 1 0 1 B
1 0 1 1 1
1 1 0 0 0 Z
1 1 0 1 0 C
1 1 1 0 0
D
[email protected]
c.uk
Logic Blocks
◼ Larger Logic Functions built up by connecting
many Logic Blocks together
◼ Determined by SRAM cells SRAM cells
SRAM
[email protected]
c.uk
Logic Blocks
◼ Larger Logic Functions built up by connecting
many Logic Blocks together
[email protected]
c.uk
Logic Blocks
◼ Larger Logic Functions built up by connecting
many Logic Blocks together
◼ Determined by SRAM cells SRAM cells
SRAM
[email protected]
c.uk
Sequential Circuits
Combinational Logic (Larger circuits difficult to predict)
Synchronous Logic driven by a CLOCK
Registers, Flip Flops (Memory)
Intermediate
Shift Registers,
Pipelines,
Finite State Machines
EDGES
…
[email protected]
c.uk
Clocked Logic
◼ Registers on outputs. CLOCKED storage
elements.
◼ Synchronous FPGA Logic Design, Pipelined
Logic. a
16-bit SR
16x1 RAM
4-input
LUT
b
LHC BX frequency) e
clock
clock enable
set/reset
FPGA Fabric
General-purpose I/O
Up to > 1,000
banks I/O “pins”
0 through 7 (several 100 MHz)
3 6
Transceiver block
Differential pairs
Optical TRx
FPGA