Lecture #3: Sequential Logic: From Nand To Tetris
Lecture #3: Sequential Logic: From Nand To Tetris
Sequential
Logic
From Nand to Tetris
www.nand2tetris.org
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 1
Sequential VS combinational logic
• Combinational devices: operate on data only;
provide calculation services (e.g. Nand … ALU)
• Sequential devices: operate on data and a clock signal;
as such, can be made to be state-aware and provide storage and synchronization
services
• Sequential devices are sometimes called “clocked devices”
• The low-level behavior of clocked / sequential gates is tricky
• The good news:
– All sequential chips can be based on one low-level sequential gate,
called “data flip flop”, or DFF
– The clock-dependency details can be encapsulated at the
low-level DFF level
– Higher-level sequential chips can be built on top of DFF gates
using combinational logic only.
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 2
Outline
• Clock
– Flip-flop gates
– Binary cells
– Registers
– RAM
• Counters
• Perspective.
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 3
The Clock HW
simulator
demo
out(t) = in(t-1)
in
sequential
chip out = in
sequential
chip out
(notation)
clock
signal
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 5
1-bit register
(we call it “Bit”)
load
Objective: build a storage unit that can:
(a) Change its state to a given input
in Bit out
(b) Maintain its state over time (until changed)
Won’t work
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 6
Bit register (cont.) HW
simulator
demo
Interface Implementation
load
load load
in
in in Bit out out in Bit Bit ... Bit out out
MUX
DFF w DFF
w
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 7
Multi-bit register HW
simulator
demo
load load
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 9
Counter Needed: a storage device that can:
(a) set its state to some base value
(b) increment the state in every clock cycle
(c) maintain its state (stop incrementing) over clock cycles
(d) reset its state
in PC (counter) out
w bits w bits
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 10
Counter Simulation Lab
Remember:
• Output latches on tock (end of cycle)
• Control bits dictate NEXT output (see
above)
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 11
BREAK!
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 12
Random Access Memory HW
simulator
(RAM)
demo
load
o RAM
register 0
o How? .
(word) (word)
register n-1
load
in
16 bits out
RAMn
address 16 bits
log 2 n
bits
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 14
RAM anatomy
RAM 64
RAM8
RAM 8
.. 8
.
register
..
. 8 RAM8
Register
register
Recursive ascent
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 15
Recap: Sequential VS
combinational logic
Combinational chip chip
Combinational Sequential chipchip
Sequential
(optional)
(optional) time delay
time delay (optional)
(optional)
out = some
out =function of (in)of (in)
some function out(t)out(t)
= some function
= some of (in(t-1),
function out(t-1))
of (in(t-1), out(t-1))
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 16
Time matters
tock tock tock tock
n During a tick-tock cycle, the internal states of all the clocked chips are allowed
to change, but their outputs are “latched” (changes to input have no immediate
effect on their outputs)
n At the beginning of the next cycle, the outputs of all the clocked chips in the
architecture commit to the new values (not within cycle itself!)
Implications:
a Reg1
q Challenge: propagation delays
b Reg2
speed.
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 17
Perspective
• All the memory units described in this lecture are standard
Access
time Cost
• Typical memory hierarchy
– SRAM (“static”), typically used for the cache
– DRAM (“dynamic”), typically used for main memory
– Disk
(Elaborate caching / paging algorithms)
• A Flip-flop can be built from Nand gates
• But ... real memory units are highly optimized, using a great variety
of storage technologies.
– Classic Design = Nand gates + feedback loops
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 18
End notes: some poetry
about the limits of logic ...
There exists a field where things are neither true nor false;
I’ll meet you there. (Rumi)
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 2: Boolean Arithmetic slide 19