digital design & computer arch. - eth z · digital design & computer arch. lecture 7a:...
TRANSCRIPT
![Page 1: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/1.jpg)
Digital Design & Computer Arch.Lecture 7a: Sequential Logic Design II
Prof. Onur Mutlu
ETH ZürichSpring 2020
12 March 2020
![Page 2: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/2.jpg)
Agenda for This Weekn Today
q Wrap up Sequential Logic
q Hardware Description Languages and Verilog n Combinational Logicn Sequential Logic
n Tomorrow
q Timing and Verification
2
![Page 3: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/3.jpg)
Agenda for Next Weekn Thursday
q Von Neumann Model of Executionq Instruction Set Architecture
n LC-3 and MIPS
n Friday
q ISA and Assembly Programming
3
![Page 4: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/4.jpg)
Assignment: Required Lecture Videon Why study computer architecture?n Why is it important?n Future Computing Architectures
n Required Assignmentq Watch Prof. Mutlu’s inaugural lecture at ETH and understand itq https://www.youtube.com/watch?v=kgiZlSOcGFM
n Optional Assignment – for 1% extra creditq Write a 1-page summary of the lecture and email us
n What are your key takeaways?n What did you learn?n What did you like or dislike?n Submit your summary to Moodle – Deadline: April 1
4
![Page 5: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/5.jpg)
Extra Assignment: Moore’s Law (I)n Paper reviewn G.E. Moore. "Cramming more components onto integrated
circuits," Electronics magazine, 1965
n Optional Assignment – for 1% extra creditq Write a 1-page review q Upload PDF file to Moodle – Deadline: April 1
n I strongly recommend that you follow my guidelines for (paper) review (see next slide)
5
![Page 6: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/6.jpg)
Extra Assignment: Moore’s Law (II)n Guidelines on how to review papers critically
q Guideline slides: pdf pptq Video: https://www.youtube.com/watch?v=tOL6FANAJ8c
q Example reviews on “Main Memory Scaling: Challenges and Solution Directions” (link to the paper)n Review 1n Review 2
q Example review on “Staged memory scheduling: Achieving high performance and scalability in heterogeneous systems” (link to the paper)n Review 1
6
![Page 7: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/7.jpg)
Required Readings (This Week)n Hardware Description Languages and Verilog
q H&H Chapter 4 in full
n Timing and Verificationq H&H Chapters 2.9 and 3.5 + (start Chapter 5)
n By tomorrow, make sure you are done with q P&P Chapters 1-3 + H&H Chapters 1-4
7
![Page 8: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/8.jpg)
Required Readings (Next Week)n Von Neumann Model, LC-3, and MIPS
q P&P, Chapters 4, 5q H&H, Chapter 6q P&P, Appendices A and C (ISA and microarchitecture of LC-3)q H&H, Appendix B (MIPS instructions)
n Programmingq P&P, Chapter 6
n Recommended: Digital Building Blocksq H&H, Chapter 5
8
![Page 9: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/9.jpg)
Wrap-Up Sequential Logic Circuits and Design
9
![Page 10: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/10.jpg)
Finite State Machine:Schematic
10
![Page 11: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/11.jpg)
FSM Schematic: State Register
11
![Page 12: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/12.jpg)
12
FSM Schematic: State Register
S1
S0
S'1
S'0
CLK
state register
Resetr
![Page 13: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/13.jpg)
13
FSM Schematic: Next State Logic
S1
S0
S'1
S'0
CLK
next state logic state register
Reset
TA
TB
inputs
S1 S0
r
S’1 =S1 xor S0
S’0 =(S1 ∙S0 ∙TA)+(S1 ∙S0 ∙TB)
![Page 14: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/14.jpg)
14
FSM Schematic: Output Logic
S1
S0
S'1
S'0
CLK
next state logic output logicstate register
Reset
LA1
LB1
LB0
LA0
TA
TB
inputs outputs
S1 S0
r
LA1 =S1LA0 =S1 ∙S0LB1 =S1LB0 =S1 ∙S0
![Page 15: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/15.jpg)
15
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
![Page 16: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/16.jpg)
16
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
![Page 17: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/17.jpg)
17
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
![Page 18: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/18.jpg)
18
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
![Page 19: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/19.jpg)
19
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
![Page 20: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/20.jpg)
20
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
![Page 21: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/21.jpg)
21
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
![Page 22: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/22.jpg)
22
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTBThis is from H&H Section 3.4.1
![Page 23: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/23.jpg)
23
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
![Page 24: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/24.jpg)
24
FSM Timing Diagram
CLK
Reset
TA
TB
S'1:0
S1:0
LA1:0
LB1:0
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10
S1 (01) S2 (10) S3 (11) S0 (00)
t (sec)
??
??
S0 (00)
S0 (00) S1 (01) S2 (10) S3 (11) S1 (01)
??
??
0 5 10 15 20 25 30 35 40 45
Green (00)
Red (10)
S0 (00)
Yellow (01) Red (10) Green (00)
Green (00) Red (10)Yellow (01)
S0LA: yellow
LB: red
S1LA: yellow
LB: red
S2LA: red
LB: green
S3LA: red
LB: yellow
Reset TATA__
__TBTB
See H&H Chapter 3.4
![Page 25: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/25.jpg)
Finite State Machine:State Encoding
25
![Page 26: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/26.jpg)
FSM State Encodingn How do we encode the state bits?
q Three common state binary encodings with different tradeoffs1. Fully Encoded2. 1-Hot Encoded3. Output Encoded
n Let’s see an example Swiss traffic light with 4 statesq Green, Yellow, Red, Yellow+Red
26
![Page 27: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/27.jpg)
FSM State Encoding (II)1. Binary Encoding (Full Encoding):
q Use the minimum number of bits used to encode all statesn Use log2(num_states) bits to represent the states
q Example states: 00, 01, 10, 11q Minimizes # flip-flops, but not necessarily output logic or
next state logic
2. One-Hot Encoding:q Each bit encodes a different state
n Uses num_states bits to represent the statesn Exactly 1 bit is “hot” for a given state
q Example states: 0001, 0010, 0100, 1000q Simplest design process – very automatableq Maximizes # flip-flops, minimizes next state logic
27
![Page 28: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/28.jpg)
FSM State Encoding (III)3. Output Encoding:
q Outputs are directly accessible in the state encoding
q For example, since we have 3 outputs (light color), encode state with 3 bits, where each bit represents a color
q Example states: 001, 010, 100, 110n Bit0 encodes green light output, n Bit1 encodes yellow light outputn Bit2 encodes red light output
q Minimizes output logic q Only works for Moore Machines (output function of state)
28
![Page 29: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/29.jpg)
FSM State Encoding (III)3. Output Encoding:
q Outputs are directly accessible in the state encoding
q For example, since we have 3 outputs (light color), encode state with 3 bits, where each bit represents a color
q Example states: 001, 010, 100, 110n Bit0 encodes green light output, n Bit1 encodes yellow light outputn Bit2 encodes red light output
q Minimizes output logic q Only works for Moore Machines (output function of state)
29
The designer must carefully choosean encoding scheme to optimize the design
under given constraints
![Page 30: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/30.jpg)
Moore vs. Mealy Machines
30
![Page 31: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/31.jpg)
Recall: Moore vs. Mealy FSMsn Next state is determined by the current state and the inputsn Two types of finite state machines differ in the output
logic:q Moore FSM: outputs depend only on the current stateq Mealy FSM: outputs depend on the current state and the
inputs
31
CLKM Nk knext
statelogic
outputlogic
Moore FSM
CLKM Nk knext
statelogic
outputlogic
inputs
inputs
outputs
outputsstate
statenextstate
nextstate
Mealy FSM
![Page 32: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/32.jpg)
Moore vs. Mealy FSM Examplesn Alyssa P. Hacker has a snail that crawls down a paper tape with
1’s and 0’s on it. n The snail smiles whenever the last four digits it has crawled over
are 1101. n Design Moore and Mealy FSMs of the snail’s brain.
32
CLKM Nk knext
statelogic
outputlogic
Moore FSM
CLKM Nk knext
statelogic
outputlogic
inputs
inputs
outputs
outputsstate
statenextstate
nextstate
Mealy FSM
![Page 33: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/33.jpg)
Moore vs. Mealy FSM Examplesn Alyssa P. Hacker has a snail that crawls down a paper tape with
1’s and 0’s on it. n The snail smiles whenever the last four digits it has crawled over
are 1101. n Design Moore and Mealy FSMs of the snail’s brain.
33
CLKM Nk knext
statelogic
outputlogic
Moore FSM
CLKM Nk knext
statelogic
outputlogic
inputs
inputs
outputs
outputsstate
statenextstate
nextstate
Mealy FSM
![Page 34: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/34.jpg)
State Transition Diagrams
34
reset
Moore FSM
S00
S10
S20
S30
S41
0
1 1 0 1
1
01 00
reset
S0 S1 S2 S30/0
1/0 1/0 0/01/1
0/01/0
0/0
Mealy FSMWhat are the tradeoffs?
![Page 35: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/35.jpg)
FSM Design Proceduren Determine all possible states of your machinen Develop a state transition diagram
q Generally this is done from a textual descriptionq You need to 1) determine the inputs and outputs for each state and
2) figure out how to get from one state to anothern Approach
q Start by defining the reset state and what happens from it – this is typically an easy point to start from
q Then continue to add transitions and statesq Picking good state names is very importantq Building an FSM is like programming (but it is not programming!)
n An FSM has a sequential “control-flow” like a program with conditionals and goto’sn The if-then-else construct is controlled by one or more inputsn The outputs are controlled by the state or the inputs
q In hardware, we typically have many concurrent FSMs
35
![Page 36: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/36.jpg)
What is to Come: LC-3 Processor
36
Scanned by CamScanner
![Page 37: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/37.jpg)
What is to Come: LC-3 Datapath
37
![Page 38: Digital Design & Computer Arch. - ETH Z · Digital Design & Computer Arch. Lecture 7a: Sequential Logic Design II Prof. OnurMutlu ETH Zürich Spring 2020 12 March 2020. Agenda for](https://reader036.vdocuments.us/reader036/viewer/2022071101/5fd9f61d1a6a2840ba46fc58/html5/thumbnails/38.jpg)
Digital Design & Computer Arch.Lecture 7a: Sequential Logic Design II
Prof. Onur Mutlu
ETH ZürichSpring 2020
12 March 2020