Professional Documents
Culture Documents
Digital System Design With Plds and Fpgas: Kuruvilla Varghese Dese Indian Institute of Science
Digital System Design With Plds and Fpgas: Kuruvilla Varghese Dese Indian Institute of Science
Kuruvilla Varghese
DESE
Indian Institute of Science
Kuruvilla Varghese
Kuruvilla Varghese
1
Course Objective 3
Pre-requisite 4
• Digital Systems
– Boolean Algebra, Minimization
– Gates, Combinational Logic
– Flip-flops, Registers, Counters
– Timing
– CMOS circuits
• Basics of Micro-processors
• Basics of Computer Architecture
• Basics of Communication Networks
Kuruvilla Varghese
2
Course Contents 5
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
3
At the end of the course … 7
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
4
At the end of the course … 9
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
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
5
Exercises 11
References 12
6
13
Kuruvilla Varghese
DESE
Indian Institute of Science
Kuruvilla Varghese
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
7
Learning: Level 0 - MOS Transistors 15
Kuruvilla Varghese
A B Q
0 0 0
0 1 0
1 0 0
1 1 1
Kuruvilla Varghese
8
Learning: Level 2 - Full Adder 17
A B Cin S Co
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Kuruvilla Varghese
Kuruvilla Varghese
9
Learning: Level 4 - Multiplier 19
Kuruvilla Varghese
Level 0 Level 1
Kuruvilla Varghese
10
Digital Design: Major Constituents 21
• Function / Logic
• Combinational
– Boolean Algebra, Minimization, Functions, Gates,
Encoders, Decoders, Multiplexers, Demultiplexers,
Parity circuits, Comparators, Priority encoders, Open-
drain outputs, and Tri-state outputs, Schmitt-trigger
inputs, Adders, Subtractors, Incrementer, Decrementer,
…
Kuruvilla Varghese
• 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
Functions and Gates: AND 25
Kuruvilla Varghese
Kuruvilla Varghese
13
Functions and Gates: NAND 27
1 1 0
Kuruvilla Varghese
A B Y
Invert
0 0 1
A Y
0 1 1
1 0 1 NAND – Universal Gate
1 1 0 AND, OR and Invert functions
14
Functions and Gates 29
AND - OR
NAND - NAND
Kuruvilla Varghese
Y = (A/ + B/) C/
A
B
Y
C
A
B
Y
C
Kuruvilla Varghese
15
Encoder 31
Kuruvilla Varghese
Encoder 32
Kuruvilla Varghese
16
Decoder 33
Kuruvilla Varghese
Tri-State Gates 34
EN • 0, 1, Z (High Impedance)
A Y • Multiplexing
• Buses
EN/
A Y
EN
Kuruvilla Varghese
17
Multiplexer 35
0 1 2 3
B
Y
C
D
sel
Kuruvilla Varghese
De-Multiplexer 36
W
3 2 1 0
A X
Y
Z
sel
Kuruvilla Varghese
18
Multiplexer / De-multiplexer 37
A A
3 2 1 0
0 1 2 3
B B
C C
D D
sel sel
CK CK
CLK
QL
QD
Kuruvilla Varghese
19
Major Constituents: Timing 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 40
Kuruvilla Varghese
20
Major Constituents: Timing 41
5 ns 5 ns 5 ns 5 ns
A B
Static-0 Hazard
A
B Static-1 Hazard
OR Gate
Y A: 1 0
50 55 60 65 70 t ns Model
Kuruvilla Varghese
C: 1, B: 0 1, A: 1 0
Kuruvilla Varghese
21
Dynamic Hazard 43
A 10 ns
Y 0 1 0 5 ns
Z 1 0 1 0
5 ns X 1 0
45 50 55 60 65 t ns
Kuruvilla Varghese
Electrical Characteristics 44
VOLmax @ IOLmax
Kuruvilla Varghese
22
Electrical Characteristics 45
Fanout
VOHmin Min (IOHmax /IIHmax ,
NMH
VIHmin IOLmax/IILmax)
VILmax
VOLmax NML
Power Dissipation
PD = C * V2DD * f
Kuruvilla Varghese
• PD = C * V2DD * f
23
High Frequency Designs 47
• Transmission Lines
• Reflections
• Cross talk
• Ground loops
• Back end Tools
Kuruvilla Varghese
Device Technology 48
Kuruvilla Varghese
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
Sequential Circuits: Data Path 53
FF Comb FF
Kuruvilla Varghese
Next Present
State State
Inputs
NSL FF OL Outputs
Kuruvilla Varghese
27
System on Chip / Intellectual Property 55
Kuruvilla Varghese
SoC (Typical) 56
Kuruvilla Varghese
28
Intellectual Property (Digital Hardware) 57
• Soft IP
– HDL Design
• Firm IP
– Synthesized Circuit
• Hard IP
– Place and Routed IP
Kuruvilla Varghese
• 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