Documente Academic
Documente Profesional
Documente Cultură
Kuruvilla Varghese
Course Objective
Specifications to Implementation
Algorithm to Architecture (Front end design)
Partitioning, Design of blocks, Timing Analysis
Device Technology: PLD, FPGA
Design entry: VHDL
Case studies (Communications, Embedded Systems,
Computer Architecture)
Kuruvilla Varghese
Pre-requisite
Digital Systems
Basics of Micro-processors
Basics of Computer Architecture
Basics of Communication Networks
Kuruvilla Varghese
Course Contents
Case Studies
Kuruvilla Varghese
System Level
Given a set of specifications for a digital system,
you will be able to design the system meeting the
specifications.
In particular, given an algorithm you will be able
to design the datapath and the controller(s) to
implement the functionality.
Kuruvilla Varghese
Digital Systems
You will be able to design the datapath using
higher level combinational and sequential blocks.
You will be able to solve the functional and timing
problems in the datapath.
You will be able to resolve various issues related
to the controller design.
You will be able to resolve synchronization issues.
Kuruvilla Varghese
VHDL
You will be able to write a VHDL code to implement a
particular design/block.
You will be able to analyze a VHDL code and infer what
circuit a synthesis tool might generate out of a code.
You will know how the VHDL simulation tool simulates the
code.
You will be able to write test benches to automate the
verification process.
Kuruvilla Varghese
PLDs
You will be able to choose a particular PLD for a
particular application.
You will be able to design and code to exploit the
architectural features of PLD
Kuruvilla Varghese
10
FPGAs
You will be able to choose a particular FPGA for a
particular application.
You will be able to use FPGAs in your design,
meeting the area and delay constraints and estimate
the power consumption.
You will be able to design and code to exploit the
architectural features of FPGA.
Kuruvilla Varghese
Exercises
11
References
12
13
Hierarchy
14
Learning
Bottom up
Transistor => Gates => Combinational => Sequential =>
Computing Blocks/Controllers => System
Design
Top down
Processor => ALU, Reg, =>
ALU => Adder, Sub
Adder => Gates => Transistors
Kuruvilla Varghese
15
Kuruvilla Varghese
16
A
Kuruvilla Varghese
17
B
0
0
1
1
0
0
1
1
Cin
0
1
0
1
0
1
0
1
S
0
1
1
0
1
0
0
1
Co
0
0
0
1
0
1
1
1
Kuruvilla Varghese
18
Kuruvilla Varghese
19
Kuruvilla Varghese
20
Level 0
Level 2
Level 1
Level 3
Level 4
Kuruvilla Varghese
10
21
Function / Logic
Combinational
Boolean Algebra, Minimization, Functions, Gates,
Encoders, Decoders, Multiplexers, Demultiplexers,
Parity circuits, Comparators, Priority encoders, Opendrain outputs, and Tri-state outputs, Schmitt-trigger
inputs, Adders, Subtractors, Incrementer, Decrementer,
Kuruvilla Varghese
22
Sequential
Flip-Flops, Latches
Counters, Registers, Shift Registers
Finite State Machines (FSM)
ROM, EPROM, EEPROM
SRAM, SSRAM
DRAM, SDRAM
FIFO
CAM
Kuruvilla Varghese
11
Minimization
23
Karnaugh Maps
Graphical tool, for humas
Quine-McCluskey (QM)
Minimal solution, Complexity
Espresso
Heuristic based on QM, Faster
Near minimal solution
Kuruvilla Varghese
Minimization
24
Multi-Level minimization
Decomposition (in to multiple terms)
Extraction of common sub-expressions of multiple
outputs
Factoring
Substitution
Flattening
Kuruvilla Varghese
12
1
1
0
1
0
1
25
De Morgans Theorem
Kuruvilla Varghese
26
Kuruvilla Varghese
13
B
0
1
0
1
B
0
1
0
1
Y
1
1
1
0
Y
1
1
1
0
27
Kuruvilla Varghese
B
0
1
0
1
Y
1
1
1
0
28
Invert
A
14
29
AND - OR
NAND - NAND
Kuruvilla Varghese
30
Y = (A/ + B/) C/
A
B
Y
C
A
B
Y
Kuruvilla Varghese
15
Encoder
31
O2
O1
O0
I7
Kuruvilla Varghese
Encoder
32
Kuruvilla Varghese
16
Decoder
33
Tri-State Gates
EN
Y
34
0, 1, Z (High Impedance)
Multiplexing
Buses
EN/
A
EN
Kuruvilla Varghese
17
Multiplexer
35
0 1 2 3
A
B
C
D
sel
De-Multiplexer
3 2 1 0
36
W
X
Y
Z
sel
Kuruvilla Varghese
18
Multiplexer / De-multiplexer
A
B
C
D
3 2 1 0
0 1 2 3
A
B
C
D
37
sel
sel
38
Flip-Flop
CK
CK
D
CLK
QL
QD
Kuruvilla Varghese
19
39
Combinational Circuits
tpd: Propagation delay
tPLH: tpd when output switches from L to H
tPHL: tpd when output switches from H to L
Kuruvilla Varghese
Flip-Flop Timing
D
40
ts: Setup time: Minimum time
input must be valid before the
active clock edge
CK
CLK
D
ts
th
tco
Kuruvilla Varghese
20
5 ns
5 ns
41
5 ns
Y
Static-0 Hazard
A
B
Static-1 Hazard
OR Gate
A: 1 0
Y
50
55
60
65
70
t ns
Model
Kuruvilla Varghese
42
B
C
C: 1, B: 0
1, A: 1
21
Dynamic Hazard
43
10 ns
Y 0
5 ns
Z 1
X 1
5 ns
A
X
Y
Z
45
50
55
60
t ns
65
Kuruvilla Varghese
Electrical Characteristics
44
VOHmin @ IOHmax
VOL = IOL * RON
IOL
VOLmax @ IOLmax
Kuruvilla Varghese
22
Electrical Characteristics
VOHmin
VIHmin
NMH
45
Fanout
Min (IOHmax /IIHmax ,
IOLmax/IILmax)
VILmax
VOLmax
NML
Power Dissipation
PD = C * V2DD * f
Kuruvilla Varghese
46
PD = C * V2DD * f
23
47
Transmission Lines
Reflections
Cross talk
Ground loops
Back end Tools
Kuruvilla Varghese
Device Technology
48
24
Device Technology
49
Kuruvilla Varghese
VLSI Technology
50
Kuruvilla Varghese
25
Design Methodology
51
Front-end design
Specifications => Gate and Flip-flop Net list
Algorithm => Architecture => Circuit
Back-end design
Gate and Flip-flop Net list => Chip Masks
Circuit => Transistor Level Circuit => Chip masks
Circuit => Configuration pattern (FPGA)
Kuruvilla Varghese
Design Methodology
52
Kuruvilla Varghese
26
FF
Comb
53
FF
Kuruvilla Varghese
Next
State
Inputs
NSL
54
Present
State
FF
OL
Outputs
Kuruvilla Varghese
27
55
System on Chip
FPGA Domain
Kuruvilla Varghese
SoC (Typical)
56
Number of peripherals
Timer, I/Os, Memory controllers, UART, USB,
28
57
Soft IP
HDL Design
Firm IP
Synthesized Circuit
Hard IP
Place and Routed IP
Kuruvilla Varghese
58
FPGA / ASIC
A part of the Device is reprogrammed to implement a
different functionality
Other part may or may not be used
Saves area, power and achieve lower delay
Reconfiguration time is important
Granularity is important
Flexibility is important
Kuruvilla Varghese
29
System Modeling
59
Application Areas
60
Communication Networks
Physical layer (Mixed-mode design)
Data link layer (Digital, Mostly in hardware, control in OS
Drivers)
Network layer (Processing in Hardware for Network elements
like Switches and Routers)
Signal Processing
Filters, Codecs, Compression, etc.
Computer Architecture
Kuruvilla Varghese
30