Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
10
+ 32
= 2
0(3
1 +31)
1 = (2,3) = 3
21
+ 32
= 1
0(3
2 +32)
Problem of
this simple
encoder?
(29)
Product in Mind
Priority Encoder
Problem of this priority
encoder 4-to-2?
Inputs Outputs
D3 D2 D1 D0 Q1 Q0
0 0 0 1 0 0
0 0 1 X 0 1
0 1 X X 1 0
1 X X X 1 1
0 0 0 0 X X
Exercise: Design the priority encoder 8-to-3 and
decoder 3-to-8
1/ Truth table
2/ SOP expression of the outputs
3/ Structure diagram
4/ Coding based on the structure diagram
Application?
(30)
Product in Mind
1-bit Half and full adder
Half adder
Full adder
a b cout s
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
a b cin cout s
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1
(31)
Product in Mind
n-bit Adder Ripple carry
Problem?
(32)
Product in Mind
n-bit Adder Carry Look-Ahead
CLA adder: generating the special circuit to calculate
the carry flag
CLA 4-bit
(33)
Product in Mind
n-bit Adder Carry Look-Ahead (cont)
Carry generator value is generated by ai and bi
value is generated by the
previous propagation
(34)
Product in Mind
n-bit Adder Carry Look-Ahead (cont)
Carry generator
Problem?
(35)
Product in Mind
n-bit Adder Carry Look-Ahead (cont)
Combining the Ripple Carry method and CLA method
by connecting the small CLA adders
Vietnam National University
Integrated Circuit Design Research and Education Center
DIGITAL IC STRUCTURE
(SEQUENTIAL CIRCUIT)
Digital Integrated Circuit Design Flow
(37)
Product in Mind
Concept
What is sequential
circuit?
Sequential circuit = Logic circuit
+ memory elements
This understanding is allowed
but it is not the origin
understanding
(38)
Product in Mind
Concept (cont)
The output is dependent not only on the present inputs
to the device, but also on past inputs or previous
outputs
This is sequential circuit
How is this circuit
understood?
Where is it used?
(39)
Product in Mind
D Latch
SR NOR latch
D latch based on the SR NOR latch
D latch based on the SR NAND latch
SR NAND latch
(40)
Product in Mind
D Latch (cont)
Can be used to store one bit of information.
D latch is a level triggering device.
The clock pulse is high, then the output Q follows the
input D.
The clock input is low, the last state of the D input is
trapped and held in the latch.
(41)
Product in Mind
D Flip-Flop
Can be used to store one bit of information.
D Flip-Flop is an edge triggering device
The output Q follows the input D at the rising or falling
edge.
The value of Q is held untill the next rising or falling edge.
(42)
Product in Mind
D Flip-Flop
when clock = 0 when clock changes from 0 to 1 clock = 1, data changes from 0 to 1
(43)
Product in Mind
Compares D Latch & D Flip-Flop
Many logic synthesis tool use only D Flip-Flop and D
Latch (Why are JK FF and T FF not used?)
D Latch D Flip-Flop
Triggering Level Edge
Circuit size Small Large
Delay and power
consumption
Little More
Application Temporary buffer Register
(44)
Product in Mind
JK Latch/Flip-Flop is not used popularly
Two inputs
Race between Q and CLK => high
frequency
Two inputs
The area and the power
consumed is more than D
FF
(45)
Product in Mind
T Latch/Flip-Flop is not used popularly
More switching activity n
comparison with the D flip-flop
Race between Q and CLK
=> high frequency
master-slave T flip-flop
area and power consumption
Why?
D flip-flop is the
best choice
(46)
Product in Mind
Flip-Flop applications
Register
Counter
FIFO (First In First Out)
LIFO (Last In First Out)
SRAM (Synchronous RAM)
Finite State Machine (FSM)
These problems will be
presented the next time
(47)
Product in Mind
Setup time and hold time
When using FFs to design the sequential circuit, we
must care a timing window around the clocking event
during which the synchronous input must remain stable
and unchanged to be recognized
What must steps be
cared?
Negative hold time
Negative setup time
Invalid timing
Vietnam National University
Integrated Circuit Design Research and Education Center
TIMING PATHS
Digital Integrated Circuit Design Flow
(49)
Product in Mind
Concepts
Timing path is the important concept. The timing
analysis tool finds and analyzes all of the timing paths in
the design.
Each path has a startpoint and an endpoint
The startpoint of a path (or the data launch point) is a
clock pin of a sequential element or an input port of the
design.
The endpoint of a path (or the data capture point) is a
data input pin of a sequential element or an output port of
the design.
(50)
Product in Mind
Timing path types
Path 1: Starts at an input port and ends at the data
input of a sequential element
Path 2: Starts at the clock pin of a sequential element
and ends at the data input of a sequential element
Path 3: Starts at the clock pin of a sequential element
and ends at an output port
Path 4: Starts at an input port and ends at an output
port
Dont have the
feedback line
(51)
Product in Mind
Reducing the
The purpose of the timing path values
How to reduce the
delay of the critical
path?
Vietnam National University
Integrated Circuit Design Research and Education Center