Synchronous Elastic Systems

Size: px
Start display at page:

Download "Synchronous Elastic Systems"

Transcription

1 Synchronous Elastic Systems Mike Kishinevsky and Jordi Cortadella Intel Strategic CAD Labs Hillsboro, USA Universitat Politecnica de Catalunya Barcelona, Spain

2 2 Contributors to SELF research Performance analysis: Jorge JúlvezJ Theory of elastic machines: Sava Krstic and John O Leary Micro-architectural pipelining: Timothy Kam, Marc Galceran Oms Optimization: Dmitry Bufistov, Josep Carmona Bill Grundmann

3 3 Agenda I. Basics of elastic systems II. III. IV. Early evaluation and performance analysis Applications of elastic systems Demo of SELF compiler

4 4 Synchronous Stream of Clock cycle Token (of data)

5 5 Synchronous Elastic Stream Clock cycle Clock cycle Bubble (no data) Token

6 6 Synchronous Circuit Latency =

7 7 Synchronous Elastic Circuit Latency = e Latency can vary

8 8 Ordinary Synchronous System A C A C = B D B D Changing latencies changes behavior

9 Synchronous Elastic (characteristic property) e A e C e A e e C = e B e D e B e D Changing latencies does NOT change behavior = time elasticity 9

10 10 Elasticity? Elasticity refers to elasticity of time, i.e. tolerance to changes in timing parameters, not properties of materials Luca Carloni et al. in the first systematic study of such systems called them Latency Insensitive Systems Other used names: Latency tolerant systems Synchronous emulation of asynchronous systems Synchronous handshake circuits We use term synchronous elastic to link to asynchronous elastic systems that have been developed before e.g., David Muller s s pipelines of late 1950s Ivan Sutherland s s micro-pipelines 1989 Tolerate the variability of input data arrival and computation delaysd Asynchronous elastic tolerate changes in continuous time Synchronous elastic - in discrete time

11 11 Why Scalable Modular (Plug & Play) Better energy-delay trade-offs (design for typical case instead of worst case) New micro-architectural opportunities in digital design Not asynchronous: use existing design experience, CAD tools and flows... but have some advantages of asynchronous

12 12 How to Design Synchronous Elastic Systems Example of the implementation: SELF = Synchronous Elastic Flow Others are possible

13 13 Pipelined communication sender receiver What if the sender does not always send valid data?

14 14 The bit sender receiver What if the receiver is not always ready?

15 15 The bit sender receiver

16 16 The bit sender receiver

17 17 The bit sender receiver

18 18 The bit sender receiver Back-pressure

19 19 The bit sender receiver Long combinational path

20 20 Cyclic structures Combinational cycle One can build circuits with combinational cycles (constructive cycles by Berry), but synthesis and timing tools do not like them

21 21 Example: pipelined linear communication chain with transparent latches sender H L H L receiver ½cycle ½cycle Master and slave latches with independent control

22 22 Shorthand notation (clock lines not shown) D Q En En clk

23 sender SELF (linear communication) receiver En En En En V V V V S S S S 23

24 SELF sender receiver En En En En 1 V V V V S S S S 0 24

25 SELF sender receiver En En En En 1 V V V V S S S S 0 25

26 SELF sender receiver En En En En 1 V V V V S S S S 0 26

27 SELF sender receiver En En En En 1 V V V V S S S S 0 27

28 SELF sender receiver En En En En 1 V V V V S S S S 0 28

29 SELF sender receiver En En En En 0 V V V V S S S S 0 29

30 SELF sender receiver En En En En 0 V V V V S S S S 0 30

31 SELF sender receiver En En En En 0 V V V V S S S S 0 31

32 SELF sender receiver En En En En 0 V V V V S S S S 0 32

33 SELF sender receiver En En En En 0 V V V V S S S S 0 33

34 SELF sender receiver En En En En 1 V V V V S S S S 1 34

35 SELF sender receiver En En En En 1 V V V V S S S S 1 35

36 SELF sender receiver En En En En 1 V V V V S S S S 1 36

37 SELF sender receiver En En En En 1 V V V V S S S S 1 37

38 SELF sender receiver En En En En 1 V V V V S S S S 1 38

39 SELF sender receiver En En En En 1 V V V V S S S S 1 39

40 SELF sender receiver En En En En 1 V V V V S S S S 1 40

41 SELF sender receiver En En En En 1 V V V V S S S S 1 41

42 SELF sender receiver En En En En 1 V V V V S S S S 1 42

43 SELF sender receiver En En En En 1 V V V V S S S S 0 43

44 SELF sender receiver En En En En 1 V V V V S S S S 0 44

45 SELF sender receiver En En En En 1 V V V V S S S S 0 45

46 SELF sender receiver En En En En 1 V V V V S S S S 0 46

47 SELF sender receiver En En En En 1 V V V V S S S S 0 47

48 SELF sender receiver En En En En 1 V V V V S S S S 0 48

49 SELF sender receiver En En En En 1 V V V V S S S S 0 49

50 SELF sender receiver En En En En 1 V V V V S S S S 0 50

51 51 Elastic channel and its protocol not Idle * Retry Sender Receiver * not Transfer

52 52 Elastic channel protocol Sender Receiver * D D * C C C B * A Transfer Retry Idle

53 53 Basic VS block En i En i V i-1 1 V i V i-1 1 VS V i S i-1 1 Si S i-1 1 Si VS block + data-path latch = elastic HALF-buffer (EHB) EHB + EHB = elastic buffer with capacity 2

54 Control specification of the EB 54

55 Two implementations 55

56 Elastic buffer keeps data while stop is in flight W2R1 W1R2 W2R2 W1R1 EBs = FIFOs with two parameters: Forward latency Capacity Backward latency for stop propagation assumed (but need not be) equal to fwd latency Typical case: (1,2) - 1 cycle forward latency with capacity of 2 Replaces normal registers Decoupling buffers W1R1 Cannot be done with Single Edge Flops without double pumping Can use latches inside Master-Slave as shown before 56

57 57 Join + VS V 1 S 1 V S VS V 2 VS S 2

58 58 (Lazy) Fork V V 1 S 1 S V 2 S 2

59 Eager Fork S 1 V S ^ ^ V 1 V 2 S 2 59

60 60 Eager fork (another implementation) VS VS VS VS VS

61 61 Variable Latency Units [0 [0--k] k] cycles cycles go done clear V/S V/S

62 Coarse grain control 62

63 63 Elasticization Synchronous Elastic

64 CLK 64

65 65 PC FORK J O I N IF/ID ID/EX EX/MEM MEM/WB F O R J K O I N CLK

66 FORK V S J O I N V S J O I N V S V S F O R K V S CLK 66

67 1 0 FORK J O I N J O I N F O R K 1 0 CLK 67

68 Elastic control layer 1 1 Generation of gated clocks CLK 68

69 Equivalence Synchronous: stream of data D: a b c d e d f g h i j SELF: elastic stream of data D: a * b * * c d e * d f * g h * * i j V: S: Transfer sub-stream = original stream Called: transfer equivalence, flow equivalence, or latency equivalence 69

70 70 Marked Graph models of elastic systems

71 71 Modelling elastic control with Petri nets bubble data-token token data-token token bubble

72 Modelling elastic control with Petri nets bubble 2 data-tokens tokens data-token token Hiding internal transitions of elastic buffers 72

73 Modelling elastic control with Marked Graphs 73

74 Modelling elastic control with Marked Graphs Forward ( or Request) Backward ( or Acknowledgement) 74

75 75 Elastic control with Timed Marked Graphs. Continuous time = asynchronous d=250ps d=151ps Delays in time units

76 76 Elastic control with Timed Marked Graphs. Discrete time = synchronous elastic d=1 d=1 Latencies in clock cycles 1 1

77 77 Elastic control with Timed Marked Graphs. Discrete time. Multi-cycle operation d=2 d=1 2 1

78 78 Elastic control with Timed Marked Graphs. Discrete time. Variable latency operation d {1,2} d=1 e.g. discrete probabilistic distribution: average latency 0.8* *2 = 1.2 {1,2} 1

79 79 Modeling forks and joins d=1 1

80 80 Modelling combinational elastic blocks d=1 d=0 1 0

81 81 Elastic Marked Graphs An Elastic Marked Graph (EMG) is a Timed MG such that for any arc a there exists a complementary arc a satisfying the following condition a = a and a = a Initial number of tokens on a and a (M0(a)+M0(a )) = capacity of the corresponding elastic buffer Similar forms of pipelined Petri Nets and Marked Graphs have been previously used for modeling pipelining in HW and SW (e.g. Patil 1974; Tsirlin, Rosenblum 1982)

82 Reminder: Performance analysis of Marked graphs Th = operations / cycle = number of firings per time unit The throughput is given by the minimum mean-weight cycle Th=min(Th(A), Th(B), Th(C))=2/5 Th(A)=3/7 A B C Th(B)=3/5 Th(C)=2/5 Efficient algorithms: (Karp 1978), (Dasdan,Gupta 1998) 82

83 83 Early evaluation Naïve solution: introduce choice places issue tokens at choice node only into one (some) relevant path problem: tokens can arrive to merge nodes out-of of-order order later token can overpass the earlier one Solution: change enabling rule early evaluation issue negative tokens to input places without tokens, i.e. keep the same firing rule Add symmetric sub-channels with negative tokens Negative tokens kill positive tokens when meet Two related problems: Early evaluation and Exceptions (how to kill a data-token) token)

84 84 Examples of early evaluation MULTIPLEXOR a b T F c if s = T then c := a -- don t wait for b else c := b -- don t wait for a s MULTIPLIER a b * c if a = 0 then c := 0 -- don t wait for b

85 85 Petri nets Related work Extensions to model OR causality Kishinevsky et al. Change Diagrams [e.g. book of 1994] Yakovlev et al. Causal Nets 1996 Asynchronous systems Reese et al 2002: Early evaluation Brej 2003: Early evaluation with anti-tokens tokens Ampalan & Singh 2006: preemption using anti-tokens tokens

86 86 Dual Marked Graph Marking: Arcs (places) > Z (allow negative markings) Some nodes are labeled as early-enabling Enabling rules for a node: Positive enabling: M(a) > 0 for every input arc Early enabling (for early enabling nodes): M(a) > 0 for some input arcs Negative enabling: M(a) < 0 for every output arc Firing rule: the same as in regular MG

87 87 Dual Marked Graphs Early enabling can be associated with an external guard that depends on data variables (e.g., a select signal of a multiplexor) Actual enabling guards are abstracted away (unless needed) Anti-token generation: When an early enabled node fires, it generates anti-tokens in the predecessor arcs that had no tokens Anti-token propagation counterflow: When negative enabled node fires, it propagates the anti-tokens from the successor to the predecessor arcs

88 88 Dual Marked Graph model Enabled! -1

89 89 Passive anti-token token Passive DMG = version of DMG without negative enabling Negative tokens can only be generated due to early enabling, but cannot propagate Let D be a strongly connected DMG such that all cycles have positive cumulative marking Let D p be a corresponding passive DMG. If environment (consumers) never generate negative tokens, then throughput (D)( ) = throughput (D( p ) If capacity of input places for early enabling transitions is unlimited, then active anti-tokens tokens do not improve performance Active anti-tokens tokens reduce activity in the data-path (good for power reduction)

90 90 Properties of DMGs Firing invariant: Let node n be simultaneously positive (early) and negative enabled in marking M. Let M 1 be the result of firing n from M due to positive (early) enabling. Let M 2 be the result of firing n from M due to negative enabling. Then, M 1 = M 2 Token preservation. Let c be a cycle of a strongly connected DMG with initial marking M 0. For every reachable marking M : M(c) = M 0 (c) Liveness. A strongly connected passive DMG is live iff for every cycle c: M(c) > 0. For DMGs this is a sufficient condition of liveness It is also a necessary condition for positive liveness Repetitive behavior. In a SC DMG: a firing sequence s from M leads to the same marking iff every node fires in s the same number of times DMGs have properties similar to regular MGs

91 Implementing early enabling 91

92 92 How to implement anti-tokens tokens? Positive tokens Negative tokens

93 93 How to implement anti-tokens tokens? Positive tokens Negative tokens

94 How to implement anti-tokens tokens?

95 Controller for elastic buffer L H En En V L V H V V H L S S S S 95

96 96 Dual controller for elastic buffer En En V + V + S + S + V - S - V - S -

97 Dual Join and Fork 97

98 Join with early evaluation 98

99 99 Condition on Early Evaluation Function Early evaluation function makes decision based on presence of valid bits, not on their absence Formally: EE is positive unate with respect to data input Example: legal EE function for a data-path MUX (s select input)

100 100 Passive anti-token token (capacity one) Bigger capacity can be achieved by injecting anti-token up-down counters on elastic channels

101 101 Properties of elastic channels Invariants: mutually exclusive Kill (V - ) and (S + ) (V + ) and retain of a kill (S - )

102 102 DLX processor model with slow bypass Bypass α Fetch Decode Execute Memory β Write-back 1 α 1 β Throughput: Th = operations / cycle Late evaluation Th=0.5 Applying early evaluation on Execution and Write-back Th = 0.7 (α=0.3; β=0.3)

103 103 Conclusions Early evaluation can increase performance beyond the min cycle ratio The duality between positive and negative tokens suggests a clean and effective implementation Dual Marked Graphs is a formal model for analytical analysis and optimization methods

104 104 Performance analysis with early evaluation (joint work with Jorge JúlvezJ lvez)

105 105 Revisit Performance Analysis of Marked Graphs The throughput can also be computed by means of linear programming t1 p1 p2 t2 Average marking 1 mp = lim m p( τ)dτ t t t 0 t3 Throughput th = min( m p 1, mp2) th = min m [Campos, Chiola, Silva 1991] p p

106 Revisit Performance Analysis of Marked Graphs max th b p 1 p 2 a m p1 = 1 + t b t a m p2 = 0 + t a t b m p3 = 1 + t d t a m p4 = 0 + t a t c m p5 = 1 + t c t d reachability th constraints p 3 p 4 d p 5 c Th = 0.5 th m p2 // transition b th m p4 // transition c th m p5 // transition d th min(m p1, m p3 ) // transition a 106

107 107 GMG = Multi-guarded Dual Marked Graph Refinement of passive DMGs Every node has a set of guards Every guard is a set of input places (arcs) Example: t1 t3 t2 p1 p3 p2 t4 G(t4)={{p1,p3},{p2,p3}}

108 108 Early evaluation 1-α α β 1-β

109 Early Early evaluation evaluation α 1 α β 1 β α β (0.43) (0.43) (0.60) (0.60) (0.40) (0.40)

110 LP formulation for an upper bound of a throughput (by example) p 1 p 2 a α b p 3 1-α p 4 max th m p1 = 1 + t b t a m p2 = 0 + t a t b m p3 = 1 + t d t a m p4 = 0 + t a t c m p5 = 1 + t c t d th m p2 th m p4 th m p5 d p 5 c th = α m p1 + (1-α) m p3 Th = (2 - α) ) / (3 - α) 110

111 111 Averaging cycle throughput or cycle times does not work 1/2 p 1 p 2 a α b Averaging throughput of individual cycles Th = α 1/2 + (1- α) ) 2/3 = (4 - α) ) / 6 p 3 1-α p 4 2/3 d p 5 Th = (2 - α) ) / (3 - α) c Averaging effective cycle times of individual cycles 1/Th = 2α 2 + (1- α) ) 3/2 = (3 + α) ) / 2 Th = 2/(3+ α)

112 What can we do with synchronous elastic systems? 112

113 113 Variable latency units ALU ALU L = 3 L = 1 L = 2 L = 1 start done

114 Benchmark Patricia from Media Bench 1 st operand # adds # adds 2 nd operand Significant bits Statistics of operand sizes 12 bits of an adder do 95% of additions bits of adder used 114

115 Power-delay for an adder Compare 64 bits VLA and prefix adder relative delay 115

116 116 Variable-latency cache hits 12-cycle miss L2-cache 2-way associative 32KB 2-cycle hit L1-cache 1-cycle hit suggested by Joel Emer for ASIM experiment

117 117 Variable-latency cache hits 12-cycle miss L2-cache Pseudo-associative 32KB {1-2} cycle hit L1-cache 1-cycle hit Sequential access: if hit in first access L = 1, if not L=2 Trade-off: faster, or larger, or less power cache

118 118 Variable-latency cache hits 12-cycle miss L2-cache Pseudo-associative 64KB {2-3} cycle hit L1-cache 1-cycle hit Sequential access: if hit in first access L = 1, if not L=2 Trade-off: faster, or larger, or less power cache

119 Correct-by-construction pipelining Transforms: bypass retiming elasticize early enabling insert buffers and negative tokens size elastic buffer capacity ID RF E1 E2 Correct-by-construction ID 0 0 RF 1 1 E1 E2-1 SPEC IMP [Joint work with Timothy Kam and Marc Galceran] 119

120 Tree topology NoC AGENT R AGENT AGENT R R AGENT AGENT R R AGENT AGENT [In collaboration with Ken Stevens, Charles Dike, Bill Grundmann] 120

121 121 Router node interface B A Router C

122 122 NoC Router M EHB S S B A EHB M S C Relative order of tokens between agents is preserved M EHB

123 Switch and Merge 123

124 124 Correctness (short story) Developed theory of elastic machines (for late evaluation) Verify correctness of any elastic implementation = check conformance with the definition of elastic machine All SELF controllers are verified for conformance Elasticization is correct-by by-construction Theory for early evaluation and negative delays is more challenging Sketch of a theory, but no fully satisfactory compositional properties found yet Verification done on concrete systems and controllers

125 125 Summary SELF gives a low cost implementation of elastic machines Functionality is correct when latencies change New micro-architectural opportunities Compositional theory proving correctness Early evaluation - mechanism for performance and power optimization Optimization methods (that we did not discuss): Retiming and recycling, buffer optimization and pipelining Applications to design of NoC link layer

126 See reference list for some relevant publications 126

127 SELF compiler Flow graph Parameterized library of controllers Control generation Netlist of distributed controllers Verilog SMV blif Simulator Performance Backend synthesis NuSMV SIS & ABC Verification Logic synthesis 127

128 Example 128

129 Example Evaluation Throughput No early evaluation Passive anti-tokens tokens M2 W Passive anti-tokens tokens F3 W Active anti-tokens tokens

Equivalence Checking For Synchronous Elastic Circuits

Equivalence Checking For Synchronous Elastic Circuits Equivalence Checking For Synchronous Elastic Circuits Vidura Wijayasekara and Sudarshan K. Srinivasan Department of Electrical and Computer Engineering North Dakota State University Fargo ND 58104 Email:

More information

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1> Chapter 5 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 5 Chapter 5 :: Topics Introduction Arithmetic Circuits umber Systems Sequential Building

More information

Synchronous Elastic Networks

Synchronous Elastic Networks Synchronous Elastic Networks Sava Krstić Strategic CAD Labs, Intel Corporation Hillsboro, Oregon, USA Jordi Cortadella Universitat Politècnica de Catalunya Barcelona, Spain Mike Kishinevsky, John O Leary

More information

CMPEN 411 VLSI Digital Circuits Spring Lecture 19: Adder Design

CMPEN 411 VLSI Digital Circuits Spring Lecture 19: Adder Design CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 19: Adder Design [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11 CMPEN 411 L19

More information

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring - Principles of Computer rchitecture Miles Murdocca and Vincent Heuring 999 M. Murdocca and V. Heuring -2 Chapter Contents. Introduction.2 Combinational Logic.3 Truth Tables.4 Logic Gates.5 Properties

More information

ALU, Latches and Flip-Flops

ALU, Latches and Flip-Flops CSE14: Components and Design Techniques for Digital Systems ALU, Latches and Flip-Flops Tajana Simunic Rosing Where we are. Last time: ALUs Plan for today: ALU example, latches and flip flops Exam #1 grades

More information

Chapter 3. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 3 <1>

Chapter 3. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 3 <1> Chapter 3 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 3 Chapter 3 :: Topics Introduction Latches and Flip-Flops Synchronous Logic Design Finite

More information

CMP N 301 Computer Architecture. Appendix C

CMP N 301 Computer Architecture. Appendix C CMP N 301 Computer Architecture Appendix C Outline Introduction Pipelining Hazards Pipelining Implementation Exception Handling Advanced Issues (Dynamic Scheduling, Out of order Issue, Superscalar, etc)

More information

Skew-Tolerant Circuit Design

Skew-Tolerant Circuit Design Skew-Tolerant Circuit Design David Harris David_Harris@hmc.edu December, 2000 Harvey Mudd College Claremont, CA Outline Introduction Skew-Tolerant Circuits Traditional Domino Circuits Skew-Tolerant Domino

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Chapter 3 Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu http://www.ee.unlv.edu/~b1morris/cpe1/ CPE1: Digital Logic Design I Section 14: Dr. Morris Sequential Logic Design Chapter 3 Chapter

More information

Adders, subtractors comparators, multipliers and other ALU elements

Adders, subtractors comparators, multipliers and other ALU elements CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Adders 2 Circuit Delay Transistors have instrinsic resistance and capacitance

More information

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 02, 03 May 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 53 Most Essential Assumptions for Real-Time Systems Upper

More information

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary EECS50 - Digital Design Lecture - Shifters & Counters February 24, 2003 John Wawrzynek Spring 2005 EECS50 - Lec-counters Page Register Summary All registers (this semester) based on Flip-flops: q 3 q 2

More information

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 Multi-processor vs. Multi-computer architecture µp vs. DSP RISC vs. DSP RISC Reduced-instruction-set Register-to-register operation Higher throughput by using

More information

Chapter 3. Chapter 3 :: Topics. Introduction. Sequential Circuits

Chapter 3. Chapter 3 :: Topics. Introduction. Sequential Circuits Chapter 3 Chapter 3 :: Topics igital esign and Computer Architecture, 2 nd Edition avid Money Harris and Sarah L. Harris Introduction Latches and Flip Flops Synchronous Logic esign Finite State Machines

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu CPE100: Digital Logic Design I Final Review http://www.ee.unlv.edu/~b1morris/cpe100/ 2 Logistics Tuesday Dec 12 th 13:00-15:00 (1-3pm) 2 hour

More information

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec09 Counters Outline.

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec09 Counters Outline. Review: Designing with FSM EECS 150 - Components and Design Techniques for Digital Systems Lec09 Counters 9-28-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley

More information

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. Digital Integrated Circuits A Design Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Arithmetic Circuits January, 2003 1 A Generic Digital Processor MEM ORY INPUT-OUTPUT CONTROL DATAPATH

More information

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs Appendix B Review of Digital Logic Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Elect. & Comp. Eng. 2 DeMorgan Symbols NAND (A.B) = A +B NOR (A+B) = A.B AND A.B = A.B = (A +B ) OR

More information

State and Finite State Machines

State and Finite State Machines State and Finite State Machines See P&H Appendix C.7. C.8, C.10, C.11 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Building a Processor memory inst register

More information

EECS150 - Digital Design Lecture 25 Shifters and Counters. Recap

EECS150 - Digital Design Lecture 25 Shifters and Counters. Recap EECS150 - Digital Design Lecture 25 Shifters and Counters Nov. 21, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines Reminder: midterm on Tue 2/28 will cover Chapters 1-3, App A, B if you understand all slides, assignments,

More information

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models 4. Petri Nets Introduction Different Classes of Petri Net Petri net properties Analysis of Petri net models 1 Petri Nets C.A Petri, TU Darmstadt, 1962 A mathematical and graphical modeling method. Describe

More information

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. Digital Integrated Circuits A Design Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Arithmetic Circuits January, 2003 1 A Generic Digital Processor MEMORY INPUT-OUTPUT CONTROL DATAPATH

More information

Issues on Timing and Clocking

Issues on Timing and Clocking ECE152B TC 1 Issues on Timing and Clocking X Combinational Logic Z... clock clock clock period ECE152B TC 2 Latch and Flip-Flop L CK CK 1 L1 1 L2 2 CK CK CK ECE152B TC 3 Clocking X Combinational Logic...

More information

Adders, subtractors comparators, multipliers and other ALU elements

Adders, subtractors comparators, multipliers and other ALU elements CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Instructor: Mohsen Imani UC San Diego Slides from: Prof.Tajana Simunic Rosing

More information

Synchronous Sequential Circuit Design. Digital Computer Design

Synchronous Sequential Circuit Design. Digital Computer Design Synchronous Sequential Circuit Design Digital Computer Design Races and Instability Combinational logic has no cyclic paths and no races If inputs are applied to combinational logic, the outputs will always

More information

2IN35 VLSI Programming Lab Work Communication Protocols: A Synchronous and an Asynchronous One

2IN35 VLSI Programming Lab Work Communication Protocols: A Synchronous and an Asynchronous One 2IN35 VLSI Programming Lab Work Communication Protocols: A Synchronous and an Asynchronous One René Gabriëls, r.gabriels@student.tue.nl July 1, 2008 1 Contents 1 Introduction 3 2 Problem Description 3

More information

Control Network Generator For Latency Insensitive Designs

Control Network Generator For Latency Insensitive Designs Control Network Generator For Latency Insensitive Designs Eliyah Kilada, Kenneth S. Stevens University of Utah Eliyah.Kilada@utah.edu, kstevens@ece.utah.edu Abstract Creating latency insensitive or asynchronous

More information

CSE477 VLSI Digital Circuits Fall Lecture 20: Adder Design

CSE477 VLSI Digital Circuits Fall Lecture 20: Adder Design CSE477 VLSI Digital Circuits Fall 22 Lecture 2: Adder Design Mary Jane Irwin ( www.cse.psu.edu/~mji ) www.cse.psu.edu/~cg477 [Adapted from Rabaey s Digital Integrated Circuits, 22, J. Rabaey et al.] CSE477

More information

Direct mapping of low-latency asynchronous

Direct mapping of low-latency asynchronous School of Electrical, Electronic & Computer Engineering Direct mapping of low-latency asynchronous controllers from STGs D.Sokolov, A.Bystrov, A.Yakovlev Technical Report Series NCL-EECE-MSD-TR-2006-110

More information

UMBC. At the system level, DFT includes boundary scan and analog test bus. The DFT techniques discussed focus on improving testability of SAFs.

UMBC. At the system level, DFT includes boundary scan and analog test bus. The DFT techniques discussed focus on improving testability of SAFs. Overview Design for testability(dft) makes it possible to: Assure the detection of all faults in a circuit. Reduce the cost and time associated with test development. Reduce the execution time of performing

More information

Lecture 7: Logic design. Combinational logic circuits

Lecture 7: Logic design. Combinational logic circuits /24/28 Lecture 7: Logic design Binary digital circuits: Two voltage levels: and (ground and supply voltage) Built from transistors used as on/off switches Analog circuits not very suitable for generic

More information

Laboratory Exercise #8 Introduction to Sequential Logic

Laboratory Exercise #8 Introduction to Sequential Logic Laboratory Exercise #8 Introduction to Sequential Logic ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise #8 1 Introduction

More information

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010 EE 224: INTROUCTION TO IGITAL CIRCUITS & COMPUTER ESIGN Lecture 6: Sequential Logic 3 Registers & Counters 05/10/2010 Avinash Kodi, kodi@ohio.edu Introduction 2 A Flip-Flop stores one bit of information

More information

VLSI Design Verification and Test Simulation CMPE 646. Specification. Design(netlist) True-value Simulator

VLSI Design Verification and Test Simulation CMPE 646. Specification. Design(netlist) True-value Simulator Design Verification Simulation used for ) design verification: verify the correctness of the design and 2) test verification. Design verification: Response analysis Specification Design(netlist) Critical

More information

Hw 6 due Thursday, Nov 3, 5pm No lab this week

Hw 6 due Thursday, Nov 3, 5pm No lab this week EE141 Fall 2005 Lecture 18 dders nnouncements Hw 6 due Thursday, Nov 3, 5pm No lab this week Midterm 2 Review: Tue Nov 8, North Gate Hall, Room 105, 6:30-8:30pm Exam: Thu Nov 10, Morgan, Room 101, 6:30-8:00pm

More information

Combinational Logic Design Combinational Functions and Circuits

Combinational Logic Design Combinational Functions and Circuits Combinational Logic Design Combinational Functions and Circuits Overview Combinational Circuits Design Procedure Generic Example Example with don t cares: BCD-to-SevenSegment converter Binary Decoders

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines 1 Clocks A microprocessor is composed of many different circuits that are operating simultaneously if each

More information

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007 EECS 150 - Components and Design Techniques for Digital Systems FSMs 9/11/2007 Sarah Bird Electrical Engineering and Computer Sciences University of California, Berkeley Slides borrowed from David Culler

More information

DSP Design Lecture 5. Dr. Fredrik Edman.

DSP Design Lecture 5. Dr. Fredrik Edman. SP esign SP esign Lecture 5 Retiming r. Fredrik Edman fredrik.edman@eit.lth.se Fredrik Edman, ept. of Electrical and Information Technology, Lund University, Sweden-www.eit.lth.se SP esign Repetition Critical

More information

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2) INF2270 Spring 2010 Philipp Häfliger Summary/Repetition (1/2) content From Scalar to Superscalar Lecture Summary and Brief Repetition Binary numbers Boolean Algebra Combinational Logic Circuits Encoder/Decoder

More information

EE 209 Logic Cumulative Exam Name:

EE 209 Logic Cumulative Exam Name: EE 209 Logic Cumulative Exam Name: 1.) Answer the following questions as True or False a.) A 4-to-1 multiplexer requires at least 4 select lines: true / false b.) An 8-to-1 mux and no other logi can be

More information

Computer Architecture 10. Fast Adders

Computer Architecture 10. Fast Adders Computer Architecture 10 Fast s Ma d e wi t h Op e n Of f i c e. o r g 1 Carry Problem Addition is primary mechanism in implementing arithmetic operations Slow addition directly affects the total performance

More information

Chapter 7. Sequential Circuits Registers, Counters, RAM

Chapter 7. Sequential Circuits Registers, Counters, RAM Chapter 7. Sequential Circuits Registers, Counters, RAM Register - a group of binary storage elements suitable for holding binary info A group of FFs constitutes a register Commonly used as temporary storage

More information

EECS150 - Digital Design Lecture 18 - Counters

EECS150 - Digital Design Lecture 18 - Counters EECS150 - Digital Design Lecture 18 - Counters October 24, 2002 John Wawrzynek Fall 2002 EECS150 - Lec18-counters Page 1 Counters Special sequential circuits (FSMs) that sequence though a set outputs.

More information

EECS150 - Digital Design Lecture 18 - Counters

EECS150 - Digital Design Lecture 18 - Counters EECS50 - Digital Design Lecture 8 - Counters October 24, 2002 John Wawrzynek Fall 2002 EECS50 - Lec8-counters Page Counters Special sequential circuits (FSMs) that sequence though a set outputs. Examples:

More information

UNIVERSITY OF WISCONSIN MADISON

UNIVERSITY OF WISCONSIN MADISON CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Minsub Shin, Lisa Ossian, Sujith Surendran Midterm Examination 2 In Class (50 minutes) Friday,

More information

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid CSE140: Components and Design Techniques for Digital Systems Midterm Information Instructor: Mohsen Imani Midterm Topics In general: everything that was covered in homework 1 and 2 and related lectures,

More information

CMP 338: Third Class

CMP 338: Third Class CMP 338: Third Class HW 2 solution Conversion between bases The TINY processor Abstraction and separation of concerns Circuit design big picture Moore s law and chip fabrication cost Performance What does

More information

Area-Time Optimal Adder with Relative Placement Generator

Area-Time Optimal Adder with Relative Placement Generator Area-Time Optimal Adder with Relative Placement Generator Abstract: This paper presents the design of a generator, for the production of area-time-optimal adders. A unique feature of this generator is

More information

CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 17: Dynamic Sequential Circuits And Timing Issues

CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 17: Dynamic Sequential Circuits And Timing Issues CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 17: Dynamic Sequential Circuits And Timing Issues [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan,

More information

Special Nodes for Interface

Special Nodes for Interface fi fi Special Nodes for Interface SW on processors Chip-level HW Board-level HW fi fi C code VHDL VHDL code retargetable compilation high-level synthesis SW costs HW costs partitioning (solve ILP) cluster

More information

EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining

EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining Slide 1 EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining Slide 2 Topics Clocking Clock Parameters Latch Types Requirements for reliable clocking Pipelining Optimal pipelining

More information

Review for B33DV2-Digital Design. Digital Design

Review for B33DV2-Digital Design. Digital Design Review for B33DV2 The Elements of Modern Behaviours Design Representations Blocks Waveforms Gates Truth Tables Boolean Algebra Switches Rapid Prototyping Technologies Circuit Technologies TTL MOS Simulation

More information

ALU A functional unit

ALU A functional unit ALU A functional unit that performs arithmetic operations such as ADD, SUB, MPY logical operations such as AND, OR, XOR, NOT on given data types: 8-,16-,32-, or 64-bit values A n-1 A n-2... A 1 A 0 B n-1

More information

EECS150 - Digital Design Lecture 23 - FSMs & Counters

EECS150 - Digital Design Lecture 23 - FSMs & Counters EECS150 - Digital Design Lecture 23 - FSMs & Counters April 8, 2010 John Wawrzynek Spring 2010 EECS150 - Lec22-counters Page 1 One-hot encoding of states. One FF per state. State Encoding Why one-hot encoding?

More information

EECS150 - Digital Design Lecture 17 - Sequential Circuits 3 (Counters)

EECS150 - Digital Design Lecture 17 - Sequential Circuits 3 (Counters) EECS150 - Digital Design Lecture 17 - Sequential Circuits 3 (Counters) March 19&21, 2002 John Wawrzynek Spring 2002 EECS150 - Lec13-seq3 version 2 Page 1 Counters Special sequential circuits (FSMs) that

More information

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control Logic and Computer Design Fundamentals Chapter 8 Sequencing and Control Datapath and Control Datapath - performs data transfer and processing operations Control Unit - Determines enabling and sequencing

More information

Clock signal in digital circuit is responsible for synchronizing the transfer to the data between processing elements.

Clock signal in digital circuit is responsible for synchronizing the transfer to the data between processing elements. 1 2 Introduction Clock signal in digital circuit is responsible for synchronizing the transfer to the data between processing elements. Defines the precise instants when the circuit is allowed to change

More information

VLSI Design. [Adapted from Rabaey s Digital Integrated Circuits, 2002, J. Rabaey et al.] ECE 4121 VLSI DEsign.1

VLSI Design. [Adapted from Rabaey s Digital Integrated Circuits, 2002, J. Rabaey et al.] ECE 4121 VLSI DEsign.1 VLSI Design Adder Design [Adapted from Rabaey s Digital Integrated Circuits, 2002, J. Rabaey et al.] ECE 4121 VLSI DEsign.1 Major Components of a Computer Processor Devices Control Memory Input Datapath

More information

6. Finite State Machines

6. Finite State Machines 6. Finite State Machines 6.4x Computation Structures Part Digital Circuits Copyright 25 MIT EECS 6.4 Computation Structures L6: Finite State Machines, Slide # Our New Machine Clock State Registers k Current

More information

EECS150 - Digital Design Lecture 21 - Design Blocks

EECS150 - Digital Design Lecture 21 - Design Blocks EECS150 - Digital Design Lecture 21 - Design Blocks April 3, 2012 John Wawrzynek Spring 2012 EECS150 - Lec21-db3 Page 1 Fixed Shifters / Rotators fixed shifters hardwire the shift amount into the circuit.

More information

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Performance, Power & Energy ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Recall: Goal of this class Performance Reconfiguration Power/ Energy H. So, Sp10 Lecture 3 - ELEC8106/6102 2 PERFORMANCE EVALUATION

More information

And Inverter Graphs. and and nand. inverter or nor xor

And Inverter Graphs. and and nand. inverter or nor xor And Inverter Graphs and and nand inverter or nor xor And Inverter Graphs A B gate 1 u gate 4 X C w gate 3 v gate 2 gate 5 Y A u B X w Y C v And Inverter Graphs Can represent any Boolean function: v i+1

More information

EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates

EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs April 16, 2009 John Wawrzynek Spring 2009 EECS150 - Lec24-blocks Page 1 Cross-coupled NOR gates remember, If both R=0 & S=0, then

More information

Fundamentals of Computer Systems

Fundamentals of Computer Systems Fundamentals of Computer Systems Review for the Final Stephen A. Edwards Columbia University Summer 25 The Final 2 hours 8 problems Closed book Simple calculators are OK, but unnecessary One double-sided

More information

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference)

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference) ECE 3401 Lecture 23 Pipeline Design Control State Register Combinational Control Logic New/ Modified Control Word ISA: Instruction Specifications (for reference) P C P C + 1 I N F I R M [ P C ] E X 0 PC

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: J. Rose and

More information

VLSI Signal Processing

VLSI Signal Processing VLSI Signal Processing Lecture 1 Pipelining & Retiming ADSP Lecture1 - Pipelining & Retiming (cwliu@twins.ee.nctu.edu.tw) 1-1 Introduction DSP System Real time requirement Data driven synchronized by data

More information

Computer Architecture

Computer Architecture Lecture 2: Iakovos Mavroidis Computer Science Department University of Crete 1 Previous Lecture CPU Evolution What is? 2 Outline Measurements and metrics : Performance, Cost, Dependability, Power Guidelines

More information

Combinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as

Combinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as Summary of Combinational Logic : Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs3/ Combinational device/circuit: any circuit

More information

CS470: Computer Architecture. AMD Quad Core

CS470: Computer Architecture. AMD Quad Core CS470: Computer Architecture Yashwant K. Malaiya, Professor malaiya@cs.colostate.edu AMD Quad Core 1 Architecture Layers Building blocks Gates, flip-flops Functional bocks: Combinational, Sequential Instruction

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 6 Following the slides of Dr. Ahmed H. Madian محرم 1439 ه Winter

More information

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) ELEC 2200-002 Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering

More information

Computers also need devices capable of Storing data and information Performing mathematical operations on such data

Computers also need devices capable of Storing data and information Performing mathematical operations on such data Sequential Machines Introduction Logic devices examined so far Combinational Output function of input only Output valid as long as input true Change input change output Computers also need devices capable

More information

Sequential Logic. Handouts: Lecture Slides Spring /27/01. L06 Sequential Logic 1

Sequential Logic. Handouts: Lecture Slides Spring /27/01. L06 Sequential Logic 1 Sequential Logic Handouts: Lecture Slides 6.4 - Spring 2 2/27/ L6 Sequential Logic Roadmap so far Fets & voltages Logic gates Combinational logic circuits Sequential Logic Voltage-based encoding V OL,

More information

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department Page 1 of 13 COE 202: Digital Logic Design (3-0-3) Term 112 (Spring 2012) Final

More information

EE241 - Spring 2006 Advanced Digital Integrated Circuits

EE241 - Spring 2006 Advanced Digital Integrated Circuits EE241 - Spring 2006 Advanced Digital Integrated Circuits Lecture 20: Asynchronous & Synchronization Self-timed and Asynchronous Design Functions of clock in synchronous design 1) Acts as completion signal

More information

Logic Design II (17.342) Spring Lecture Outline

Logic Design II (17.342) Spring Lecture Outline Logic Design II (17.342) Spring 2012 Lecture Outline Class # 10 April 12, 2012 Dohn Bowden 1 Today s Lecture First half of the class Circuits for Arithmetic Operations Chapter 18 Should finish at least

More information

Lecture 9: Sequential Logic Circuits. Reading: CH 7

Lecture 9: Sequential Logic Circuits. Reading: CH 7 Lecture 9: Sequential Logic Circuits Reading: CH 7 Sequential Logic FSM (Finite-state machine) Inputs Current State COMBINATIONAL LOGIC Registers Outputs = f(current, inputs) Next state 2 storage mechanisms

More information

Roland Dobai Elena roland.dobai@savba.sk Institute of Informatics, Slovak Academy of Sciences, Slovakia Annual Doctoral Workshop on Mathematical and Engineering Methods in Computer Science, November 13

More information

CMSC 313 Lecture 25 Registers Memory Organization DRAM

CMSC 313 Lecture 25 Registers Memory Organization DRAM CMSC 33 Lecture 25 Registers Memory Organization DRAM UMBC, CMSC33, Richard Chang A-75 Four-Bit Register Appendix A: Digital Logic Makes use of tri-state buffers so that multiple registers

More information

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering SEQUENTIAL CIRCUITS: LATCHES Overview Circuits require memory to store intermediate

More information

Logic Synthesis and Verification

Logic Synthesis and Verification Logic Synthesis and Verification Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall Timing Analysis & Optimization Reading: Logic Synthesis in a Nutshell Sections

More information

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 09/10, Jan., 2018 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 43 Most Essential Assumptions for Real-Time Systems Upper

More information

THE UNIVERSITY OF MICHIGAN. Faster Static Timing Analysis via Bus Compression

THE UNIVERSITY OF MICHIGAN. Faster Static Timing Analysis via Bus Compression Faster Static Timing Analysis via Bus Compression by David Van Campenhout and Trevor Mudge CSE-TR-285-96 THE UNIVERSITY OF MICHIGAN Computer Science and Engineering Division Department of Electrical Engineering

More information

State & Finite State Machines

State & Finite State Machines State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11 Big Picture: Building a Processor memory inst register file

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu CPE100: Digital Logic Design I Midterm02 Review http://www.ee.unlv.edu/~b1morris/cpe100/ 2 Logistics Thursday Nov. 16 th In normal lecture (13:00-14:15)

More information

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D. Basic Experiment and Design of Electronics LOGIC CIRCUITS Ho Kyung Kim, Ph.D. hokyung@pusan.ac.kr School of Mechanical Engineering Pusan National University Digital IC packages TTL (transistor-transistor

More information

Philadelphia University Student Name: Student Number:

Philadelphia University Student Name: Student Number: Philadelphia University Student Name: Student Number: Faculty of Engineering Serial Number: Final Exam, First Semester: 2017/2018 Dept. of Computer Engineering Course Title: Logic Circuits Date: 29/01/2018

More information

Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc.

Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc. Finite State Machines Introduction Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc. Such devices form

More information

EE141. Lecture 28 Multipliers. Lecture #20. Project Phase 2 Posted. Sign up for one of three project goals today

EE141. Lecture 28 Multipliers. Lecture #20. Project Phase 2 Posted. Sign up for one of three project goals today EE141-pring 2008 igital Integrated ircuits Lecture 28 Multipliers 1 Announcements Project Phase 2 Posted ign up for one of three project goals today Graded Phase 1 and Midterm 2 will be returned next Fr

More information

DSP Design Lecture 7. Unfolding cont. & Folding. Dr. Fredrik Edman.

DSP Design Lecture 7. Unfolding cont. & Folding. Dr. Fredrik Edman. SP esign Lecture 7 Unfolding cont. & Folding r. Fredrik Edman fredrik.edman@eit.lth.se Unfolding Unfolding creates a program with more than one iteration, J=unfolding factor Unfolding is a structured way

More information

School of EECS Seoul National University

School of EECS Seoul National University 4!4 07$ 8902808 3 School of EECS Seoul National University Introduction Low power design 3974/:.9 43 Increasing demand on performance and integrity of VLSI circuits Popularity of portable devices Low power

More information

EXPERIMENT Bit Binary Sequential Multiplier

EXPERIMENT Bit Binary Sequential Multiplier 12.1 Objectives EXPERIMENT 12 12. -Bit Binary Sequential Multiplier Introduction of large digital system design, i.e. data path and control path. To apply the above concepts to the design of a sequential

More information

Digital Integrated Circuits A Design Perspective

Digital Integrated Circuits A Design Perspective Digital Integrated Circuits A Design Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Designing Sequential Logic Circuits November 2002 Sequential Logic Inputs Current State COMBINATIONAL

More information

Different encodings generate different circuits

Different encodings generate different circuits FSM State Encoding Different encodings generate different circuits no easy way to find best encoding with fewest logic gates or shortest propagation delay. Binary encoding: K states need log 2 K bits i.e.,

More information

Energy Delay Optimization

Energy Delay Optimization EE M216A.:. Fall 21 Lecture 8 Energy Delay Optimization Prof. Dejan Marković ee216a@gmail.com Some Common Questions Is sizing better than V DD for energy reduction? What are the optimal values of gate

More information

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec 09 Counters Outline.

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec 09 Counters Outline. Review: esigning with FSM EECS 150 - Components and esign Techniques for igital Systems Lec 09 Counters 9-28-0 avid Culler Electrical Engineering and Computer Sciences University of California, Berkeley

More information