ASIC 120: Digital Systems and Standard-Cell ASIC Design - PowerPoint PPT Presentation

1 / 90
About This Presentation
Title:

ASIC 120: Digital Systems and Standard-Cell ASIC Design

Description:

ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 1: Introduction to Digital Circuits January 25, 2006 Outline Digital Systems Digital Design and its ... – PowerPoint PPT presentation

Number of Views:417
Avg rating:3.0/5.0
Slides: 91
Provided by: JeffWen2
Category:

less

Transcript and Presenter's Notes

Title: ASIC 120: Digital Systems and Standard-Cell ASIC Design


1
ASIC 120 Digital Systems and Standard-Cell ASIC
Design
  • Tutorial 1 Introduction to Digital Circuits
  • January 25, 2006

2
Outline
  • Digital Systems
  • Digital Design and its relation to ASICs
  • Combinational Logic
  • NOT, AND, OR, XOR, NAND, etc.
  • mux, half-adder, full-adder
  • Sequential Logic
  • flip-flop/register, shift register, counter

3
Digital Systems
  • Analog vs. Digital
  • continuously varying vs. discrete
  • imprecise vs. precise
  • 0..1 vs. 0 or 1
  • Digital systems excel at
  • repetitive calculations
  • large amounts of data
  • reproducible results

4
Digital Systems
  • Implemented in integrated circuits (ICs) mounted
    on a printed circuit board (PCB)

5
The Big Picture
6
The Big Picture
7
Components of a Digital System
  • Printed circuit board (PCB)
  • Embedded software
  • microprocessor
  • microcontroller
  • digital signal processor (DSP)
  • ASIC
  • Programmable Logic Device (PLD)
  • FPGA, etc.

8
ASICs
  • Application Specific Integrated Circuit
  • from a user perspective, implies integrated
    circuit with a specific application
  • from a design perspective, implies any integrated
    circuit
  • Since we are designers, ASICs include
  • SRAMs
  • phase locked loops (PLLs)
  • microprocessors
  • analog-to-digital converters
  • FPGAs
  • etc.

9
Consider an ASIC
  • Physically comprised of
  • Package
  • Pins
  • Silicon wafer
  • metal interconnect layers
  • insulating layers
  • vias
  • at the bottom, transistors resting on a silicon
    substrate

10
Consider an ASIC Package
11
Consider an ASIC Side View
Source Figure 3-11 from ECE 438 textbook
(Rabaey, Jan M., Anantha Chandrakasan, Borivoje
Nikolic, Digital Integrated Circuits A Design
Perspective, 2nd Edition Pearson Education New
Jersey, 2003.)
12
Consider an ASIC Substrate
Source Figure 3-13 from ECE 438 textbook (Rabaey
et al., Digital Integrated Circuits, 2nd
Edition)
13
Consider an ASIC
  • Conceptually
  • System
  • Module
  • Gate
  • Circuit
  • Device

Source Figure 1-6 from ECE 438 textbook (Rabaey
et al., Digital Integrated Circuits, 2nd
Edition)
14
FPGAs
  • Field Programmable Gate Array
  • part of the Complex Programmable Logic Device
    (CPLD) family of PLDs
  • essentially reprogrammable hardware
  • FPGAs can be very small or very big
  • clock rates over 1 GHz
  • implement multiple 32-bit processors

15
Components of an FPGA
  • Logic Elements (LEs)
  • Routing
  • Input/Output logic
  • Extra features
  • clocking
  • memory
  • memory interfaces
  • multipliers

16
The Logic Element
  • Two main parts
  • Look-Up Table (LUT) for combinational logic
  • Flip Flop (FF) for sequential logic (memory)

17
Top Level View of an FPGA
18
Top Level View of an FPGA
19
Digital ASIC/FPGA Design Flow
  • Dependent on target environment, process,
    resources available, etc.
  • Generic flow
  • System architecture
  • Register Transfer Level (RTL)
  • high level, synthesizable, optimized
  • functional simulation, timing simulation
  • Synthesis
  • more simulation
  • Manufacturing
  • testing

20
Register Transfer Level (RTL)
  • This is where we start
  • schematic
  • hardware description languages (VHDL, etc.)

21
Combinational and Sequential Logic
  • We can break a digital system into two types of
    logic
  • Combinational
  • computation happens in a linear fashion
  • Sequential
  • computation involves a feedback loop (memory)

22
RTL and Combinational/Sequential Logic
Sequential
Feedback
Data Out
Register
Register
Register
Data In
Cloud of Logic
Cloud of Logic
Clock
Combinational
23
Combinational Logic NOT
Truth Table
Input
Output
A X
0 1
1 0
Boolean algebra expression X A
24
Combinational Logic AND
A B X
0 0 0
0 1 0
1 0 0
1 1 1
Boolean algebra expressions X A ? B X AB
25
Combinational Logic OR
A B X
0 0 0
0 1 1
1 0 1
1 1 1
Boolean algebra expression X A B
26
Combinational Logic XOR
A B X
0 0 0
0 1 1
1 0 1
1 1 0
Boolean algebra expression X A ? B
27
Combinational Logic NAND
A B X
0 0 1
0 1 1
1 0 1
1 1 0
Boolean algebra expressions X A ? B X AB
28
NAND Transistor Schematic
29
NAND Transistor Layout
vdd
gnd
30
Combinational Logic NOR, XNOR
A B X
0 0 1
0 1 0
1 0 0
1 1 0
X A B
A B X
0 0 1
0 1 0
1 0 0
1 1 1
X A ? B
31
Building Combinational Circuits
A B C X
0 0 0 0
0 1 0 0
1 0 0 1
1 1 0 1
0 0 1 0
0 1 1 1
1 0 1 0
1 1 1 1
X AC BC
32
Combinational Logic MUX(multiplexer)
A B C X
0 0 0 0
0 1 0 0
1 0 0 1
1 1 0 1
0 0 1 0
0 1 1 1
1 0 1 0
1 1 1 1
X AC BC
33
Half Adder
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S A ? B C AB
34
Full Adder
S A ? B ? Ci Co AB Ci(A ? B)
35
Full Adder
36
Full Adder Application 8-BitRipple-Carry Adder
  • Constructed by connecting 8 full adders together

A0
A1
A2
A3
A4
A5
A6
A7
B0
B1
B2
B3
B4
B5
B6
B7
0
Carry Out
S0
S1
S2
S3
S4
S5
S6
S7
37
What Ive Skipped
  • Gates with more than two inputs
  • Karnaugh maps
  • Quine-McCluskey method
  • Binary arithmetic, base conversions
  • Practical digital circuits have more than 0s and
    1s
  • Transmission gates, tri-state buffers

38
Sequential Logic
39
Basic Feedback Element SR Latch
S R Q Qnext
0 0 0 0
0 0 1 1
1 0 1 1
1 0 0 1
0 1 1 0
0 1 0 0
1 1 0 N/A
1 1 1 N/A
40
Basic Feedback Element SR Latch
  • Simplified truth table

S R Q
0 0 hold
1 0 1 (set)
0 1 0 (reset)
1 1 invalid
41
Basic Feedback Element SR Latch
0
0
1
0
(Hold State)
42
Basic Feedback Element SR Latch
0
0
1
0
1
0
(Hold State)
43
Basic Feedback Element SR Latch
0
1
0
0
(Hold State)
44
Basic Feedback Element SR Latch
0
1
0
1
0
0
(Hold State)
45
Basic Feedback Element SR Latch
0
0
1
1
(Set State)
46
Basic Feedback Element SR Latch
0
0
1
0
1
1
(Set State)
47
Basic Feedback Element SR Latch
0
0
1
0
0
1
(Set State)
48
Basic Feedback Element SR Latch
0
0
0
0
0
1
(Set State)
49
Basic Feedback Element SR Latch
0
1
0
0
0
1
(Set State)
50
Basic Feedback Element SR Latch
0
1
0
1
0
1
(Set State)
51
Basic Feedback Element SR Latch
1
0
1
1
(Invalid State)
52
Basic Feedback Element SR Latch
1
0
1
0
1
1
(Invalid State)
53
Basic Feedback Element SR Latch
1
0
1
0
0
1
(Invalid State)
54
Basic Feedback Element SR Latch
1
0
0
0
0
1
(Invalid State)
55
Basic Feedback Element SR Latch
  • Q and Q are supposed to have opposite
    (complementary) values
  • i.e., Q Q
  • In the invalid state (S 1, R 1) Q ? Q
  • should be avoided

56
D Flip-Flop or Register
D Clk Q Qnext
0 0 0 0
0 0 1 1
1 0 0 0
1 0 1 1
0 0?1 0 0
0 0?1 1 0
1 0?1 0 1
1 0?1 1 1
57
D Flip-Flop or Register
  • Clock input controls when data output takes value
    of data input
  • triggered on either rising or falling edge of
    clock

58
Latches vs. Flip-Flops
  • Latches
  • no clock input
  • data output changes in response to data input
  • level-sensitive
  • Flip-Flops
  • has clock input
  • data output changes in response to data input on
    rising or falling clock edge
  • edge-sensitive

59
Synchronous vs. Asynchronous
  • Synchronous
  • circuit operation governed by a clock
  • currently more popular and practical
  • flip-flops
  • Asynchronous
  • circuit operation independent of a clock
  • potentially faster than synchronous
  • lower power consumption
  • difficult to design
  • latches

60
Sequential Constructs
  • Shift registers
  • Counters
  • State Machines (next tutorial)

61
Shift Register
  • Consider a series of D flip-flops (DFFs)
    connected in series, as a 4-bit shift register

Data Out
Data In
Clk
62
Shift Register
0
0
0
0
0
Data Out
Data In
0
Clk
63
Shift Register
0
0
1
0
0
Data Out
Data In
0
Clk
64
Shift Register
0
0
1
1
0
Data Out
Data In
? (1)
Clk
65
Shift Register
0
0
0
1
0
Data Out
Data In
? (0)
Clk
66
Shift Register
0
0
0
0
1
Data Out
Data In
? (1)
Clk
67
Shift Register
1
0
0
0
0
Data Out
Data In
? (1)
Clk
68
Shift Register
0
1
0
0
0
Data Out
Data In
? (1)
Clk
69
Counters Ring Counter
  • Connect shift register output to input
  • Add set and clear functionality to DFFs

Clk
Init
70
Counters Ring Counter
0
0
0
1
0
Clk
1
Init
71
Counters Ring Counter
0
0
0
1
0
Clk
0
Init
72
Counters Ring Counter
0
0
0
0
1
? (1)
Clk
0
Init
73
Counters Ring Counter
1
0
0
0
0
? (1)
Clk
0
Init
74
Counters Ring Counter
0
1
1
0
0
? (1)
Clk
0
Init
75
Counters Ring Counter
  • Each DFF output is a digit in a binary number
  • Sequence was 1000 (8)
  • 0100 (4)
  • 0010 (2)
  • 0001 (1)
  • 1000 (8)

0
0
0
1
0
? (1)
Clk
0
Init
76
T Flip-Flop
  • Clock is the only input
  • Output inverts on rising edge of the clock (or
    toggle) input

77
Counters Binary Counter
  • Implemented using series of T flip-flops
  • Counts 0000, 0001, 0010, 0011, etc.

Clk
78
Counters Binary Counter
0
0
0
0
Clk
79
Counters Binary Counter
0
0
1
0
? (1)
Clk
80
Counters Binary Counter
0
0
0
1
? (1)
Clk
81
Counters Binary Counter
0
0
1
1
? (1)
Clk
82
Counters Binary Counter
1
0
0
0
? (1)
Clk
83
Counters Binary Counter
and so on
1
0
1
0
Q
Q
Q
Q
? (1)
Clk
T
T
T
T
84
State Machines
  • Useful abstract constructs for more complex
    sequential logic
  • More on these next time

85
What Ive Skipped
  • Other flip-flops (RS, JK)
  • Many other interesting sequential circuits
    (barrel shifters, gray counters, etc.)

86
Hardware Description Languages (HDLs)
  • HDL describes in text a digital circuit
  • Examples
  • VHDL (we will look at this next time)
  • Verilog
  • AHDL
  • JHDL

87
Hardware Description Languages (HDLs)
  • schematics are useful for
  • drawing high level diagrams
  • manually working out simple pieces of logic
  • HDLs are useful for
  • describing complex digital systems
  • HDLs are not...
  • software programming languages (C, Java,
    assembly, etc.)

88
Summary
  • Digital Systems
  • Digital Design and its relation to ASICs
  • Combinational Logic
  • NOT, AND, OR, XOR, NAND, etc.
  • mux, half-adder, full-adder
  • Sequential Logic
  • flip-flop/register, shift register, counter

89
Next Tutorial
  • State machines
  • Tutorial 1 in VHDL
  • Digital Design Thought Process
  • VHDL is not a programming language like C or Java
  • hardware entities represented using text

90
UW ASIC Design Team
  • www.asic.uwaterloo.ca
  • Reference material
  • Bryce Leungs tutorials (UW ASIC website)
  • Michael Goldsmiths tutorials (UW ASIC website)
  • ECE 223, 427, 438 course notes textbooks
  • My contact info
  • Jeff Wentworth, j.wentworth_at_gmail.com
Write a Comment
User Comments (0)
About PowerShow.com