SOC Interconnect modified version 2019 course

deepaliyewale1 16 views 95 slides Mar 05, 2025
Slide 1
Slide 1 of 95
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95

About This Presentation

Modified SOC notes


Slide Content

Unit 2: DIGITAL DESIGN ISSUES

Finite State Machines Finite State Machines (FSM) are sequential circuit used in many digital systems to control the behavior of systems and dataflow paths. Examples of FSM include control units and sequencers The state machines are modeled using two basic types of sequential networks- Mealy and Moore. In a Mealy machine, the output depends on both the present (current) state and the present (current) inputs. In Moore machine, the output depends only on the present state.

Mealy FSM A general model of a Mealy sequential machine consists of a combinatorial network, which generates the outputs and the next state, and a state register which holds the present state as shown below. The state register is normally modeled as D flip-flops. The state register must be sensitive to a clock edge. The other block(s) can be modeled either using the always procedural block or a mixture of the always procedural block and dataflow modeling statements; the always procedural block will have to be sensitive to all inputs being read into the block and must have all output defined for every branch in order to model it as a combinatorial block. The two blocks Mealy machine fig 1 The Three block Moore machine fig2 Fig1. Fig2.

State diagram of Parity Checker using Mealy machine

Moore FSM A general model of a Moore sequential machine is shown below. Its output is generated from the state register block. The next state is determined using the present (current) input and the present (current) state. Here the state register is also modeled using D flip-flops. Normally Moore machines are described using three blocks, one of which must be a sequential and the other two can be modeled using always blocks or a combination of always and dataflow modeling constructs.

Parity checker using Moore machine

Meta-stability In General meta-stability is an un-avoidable behavior of the circuit that may cause malfunction. From a specification point of view, synchronous elements such as flip flops specify a setup time and hold time. (setup time: data should be stable for this time before arrival of clock) (Hold time: data should be hold stable for this time after arrival of clock). Clock calculation depends upon setup time hold time and propagation delay If setup and hold time is violated then meta-stability will occur.

WHAT IS METASTABILITY? Meta-stability in digital systems occurs when two asynchronous signals combine in such a way that their resulting output goes to an indeterminate state. A common example is the case of data violating the setup and hold specifications of a latch or a flip-flop. In an ideal world, where all logic designs are synchronous and all inputs are tied to the system clock, meta-stability would not be a concern because all timing conditions for the flip-flops would be met. However, in most of the design, the data is asynchronous w.r.t. the clock making the flop a potential candidate for meta-stability as there’s no reasonable way to insure that the changing asynchronous data will meet the flop’s setup time. Occasionally – not often - the latched data will be corrupt. So the designer has to take care of these violations.

WHAT ARE THE CASES, WHEN METASTABILITY OCCURS? As we have seen that whenever setup and hold violation time occurs, meta-stability occurs, so it is to be seen when does this signal violate this timing requirement. • When the input signal is a asynchronous signal • When the clock skew is more (rise time and fall time is more then the tolerable values). • When interfacing two domains operating at two different frequency. • When the combinational delay is such way that, it changes flip-flop’s input in the required window (setup + hold window)

HOW TO MINIMIZE METASTABILITY ? Synchronize any asynchronous input through one path that has at least one and preferably two flip-flops in series. The flip-flops should be running on the same edge of your system clock as the rest of the circuit. Design any state machines whose operation is affected by these “synchronized” signals to follow a gray code pattern between states controlled by these signals. Gray Code is a counting scheme where only a single bit changes between numbers Ensure that setup time of the destination flip-flop is met. This will avoid the creation of metastable conditions inside the circuit and minimize the propagation of any should they occur. Compute a parity or checksum of the input data before the capture register. Latch that into the register as well. Have the code compute parity and compare it to that read. If there's an error, do another read. Use metastability hardened Flip-flops .

Noise margin Noise margin is a parameter closely related to the input-output voltage characteristics. This parameter allows us to determine the allowable noise voltage on the input of gate so that the output will not be affected. The specification most commonly used to specify noise margin in terms of two parameters. LOW noise Margin NM L and High noise Margin NM H

Noise Margin Note that if either NML or NMH for gate are reduced below 0.1* Vdd , then the gate may be susceptible to switching noise that may be present on the inputs. Apart from considering a single gate , one must consider the net effect of noise sources and noise margins on cascaded gates in assessing the overall noise immunity of a particular system. Quite often noise margins are compromised to improve speed of the circuit.

Noise Margin------

Fan-in Fan-out

Speed Performance Worst case rise delay= ( Rp /n)*(m*n* Cd+Cr+kCg ) gate ,drain, routing capacitance, effective resistance of p device in this gate, m-fan-in of gate,k-fanout,n width multiplier of p-device. Fall delay time = ( Rn /n)*(m*n*r* Cg+q (k)* Cg+k *Cg)) Rp = mRn BpWp = BnWn /m *q(k) function of routing capacitance

Clock skew Clock skew  is a phenomenon in synchronous circuits in which the clock signal (sent from the clock circuit or source or clock definition point) arrives at different components at different times. due to wire-interconnect length temperature variations capacitive coupling material imperfections and differences in input capacitance on the clock inputs  these factor became more critical for high frequency

Clock Skew-- Negative skew positive skew Positive skew occurs when the transmitting register receives the clock tick earlier than the receiving register. Negative skew is occurs when the receiving register gets the clock tick earlier than the sending reg Zero clock skew refers to the arrival of the clock tick simultaneously at transmitting and receiving reg Useful Skew clock skew can also benefit a circuit by decreasing the clock period locally at which the circuit will operate correctly, it means skew add more margin to meet setup. that is called useful skew

Clock distribution tree Need to reduce the skew on distributing the clock • This requires us to reduce the wire delay, and the buffer delay - But we can’t reduce the delay to the required levels (sub 100ps) so • Make the effective delay small, by balancing the delays of all the paths - Change a total delay problem to a matching problem - Make ∆T much smaller than Tdrive , Use a clock trees • Match the delay on different branches of tree - If the buffer delay matches - If the wire delay matches - Skew will be zero • Obvious question: - How well can you match delays?

Clock distribution Clock distribution tree. H-Tree. Balance tree network.

H tree : Regular structure which allows predictable delay .

Clock Jitter Jitter is the timing variations of a set of signal edges from their ideal values. Jitters in clock signals are typically caused by noise or other disturbances in the system. Contributing factors include thermal noise, power supply variations, loading conditions, device noise, and interference coupled from nearby circuits.

Types of Jitter Period Jitter Cycle to Cycle Period Jitter Long Term Jitter Phase Jitter Time Interval Error (TIE)

Period jitter Period jitter is the deviation in cycle time of a clock signal with respect to the ideal period over a number of randomly selected cycles. If we were given a number of individual clock periods, we can measure each one and calculate the average clock period as well as the standard deviation and the peak-to-peak value. The standard deviation and the peak-to-peak value are frequently referred to as the RMS value and the Pk-Pk period jitter, respectively.

Cycle to Cycle Jitter Cycle to cycle (C2C) jitter is defined in JEDEC Standard 65B as the variation in cycle time of a signal between adjacent cycles, over a random sample of adjacent cycle pairs. The JEDEC standard further specified that each sample size should be greater than or equal to 1,000. Please note that cycle to cycle jitter only involves the difference in period between 2 consecutive cycles, there is no reference to an ideal cycle.

Long term jitter Long-term jitter measures the change in a clock’s output from the ideal position, over several consecutive cycles. The actual number of cycles used in the measurement is application dependent. Long-term jitter is different from period jitter and cycle-to-cycle jitter because it represents the cumulative effect of jitter on a continuous stream of clock cycles over a long time interval. That is why long-term jitter is sometimes referred to as the accumulated jitter. Long term jitter is typically useful in graphics/video displays and long-range telemetry applications such as range finders.

Phase jitter Phase noise is usually described as either a set of noise values at different frequency offsets (e.g., -60 dBc /Hz –( decibels relative to the carrier per Hertz) at 20KHz and -95 dBc /Hz at 10MHz), or as a continuous noise plot over a range of frequencies. Phase jitter is the integration of phase noises over a certain spectrum and expressed in seconds.

Supply and ground bounce As a module is clocked , the current drawn from the power-supply leads tends to rise as the clock transition. The current reflects various stages of logic triggered by values changing due to clock transition. Any gate may change close to clock, large spike may occur. This is lead to what is termed as “ground bounce” for ground lead and Supply bounce for supply lead. Ground bounce can also occur in I/O Pads. Clock buffer can also cause considerable ground bounce in supply leads.

Power distribution Techniques Power distribution presents several significant problems. First we must design a global power distribution network that runs both VDD and Vss entirely in metal. We must size wire properly so that they can handle require current. We must ensure that the transient behavior of the distribution N/W does not cause a problem for logic to which it supplies current. Tackle power supply loss (IR loss) Tackle power supply loss (I*di/ dt loss).

Interconnect Routing Chip-level wiring design is usually divided into two phases: global routing assigns wires to routing channels between the blocks. detailed routing d esigns the layouts for the wiring.

The Routing Constraints: Placement constraint Number of routing layers Delay constraint Meet all geometrical constraints (design rules) Physical/Electrical/Manufacturing constraints: Crosstalk Process variations, yield, or lithography issues?

Line Probe Routing: Let S and T denote a pair of terminals to be connected. Basic idea: Assume no obstacles for the time being. A vertical line drawn through S and a horizontal line passing though T will intersect . In the presence of obstacles, several such lines need to be drawn. Line search algorithms do not guarantee finding the optimal path. – May need several backtrackings. – Running time and memory requirements are significantly less. – Routing area and paths are represented by a set of line segments.

Maze Routing Given: A planar rectangular grid graph. Two points S and T on the graph. Obstacles modeled as blocked vertices . Objective: Find the shortest path connecting S and T. This technique can be used in global or detailed routing (switchbox) problems.

Detailed Routing Three types of detailed routing methods: Channel Routing 2-D Switchbox Routing 3-D Switchbox Routing Channel routing → 2-D switchbox → 3-D switchbox If the switchbox or channels are unroutable without a large expansion, global routing needs to be done again.

Channel routing: channel may grow in one dimension to accommodate wires; pins generally on only two opposite sides. Channel routing is a special case of the routing problem in which wires are connected within the routing channels. To apply channel routing, a routing region is usually decomposed into routing channels.

Switchbox routing: Switch box routing is harder than channel routing because we can’t expand the switchbox to make room for more wires. pins are on all four sides, fixing dimensions of the box.

Power Optimization: Logic Gates ___________________________________ Reduce Power consumption of isolated gate logic To make it change its output as few times as possible. Number of unnecessary changes to a gate’s output . The gate would not be useful if it never changed its output value. To reduce the number of unnecessary changes to a gate’s output

Glitching in a simple logic network Glitches and Power _______________________________________________

Some sources of glitches are more systematic and easier to eliminate. Sources of Glitches ___________________________________ Glitching in a chain of adders.

Need to be able to estimate the signal probabilities in the network. The signal probability Ps is the probability that signal s is 1. The probability of a transition Ptr,s can be derived from the signal probability, assuming that the signal’s values on clock cycles are independent: Ptr,s = 2Ps(1-Ps) Signal Probabilities ___________________________________

Delay-independent and delay-dependent power estimation ___________________________________ There are two major ways to compute signal probabilities and power consumption: 1. delay-independent and 2. delay-dependent. Analysis based on delay-independent signal probabilities is less accurate than delay-dependent analysis but delay-independent values can be computed much more quickly .

The time/accuracy trade-offs for power estimation track those for delay estimation: 1. circuit level methods are the most accurate and costly; 2. switch-level simulation is somewhat less accurate but more efficient; 3. logic-based simulation is less powerful but can handle larger networks.

Wire Parasitic Wire Resistance Rlin = *d/z*w (wire resistivity ,width, length, height) Capacitance Side wall, bottom wall, Fringe, plate capacitance. Cline= C.d C= capacitance per unit length d =length

Signal Integrity Issues Reflection noise: Due to impedance mismatch, stubs, vias and other discontinuity Cross talk: Due to electromagetic coupling between signal and vias Power ground noise: Ground bounce and power bounce Packaging: Packaging interconnect structure

The placement of pads around the ring is usually determined by the required order of pins on the package. The wires to the package cannot be crossed without danger of shorting, so if the package pins are required in a certain order, the pads must be arranged in that order. The order of pins on the package determines routability of the board and electrical noise among other things . The order of pins on a package has been known to determine which candidate design wins a design contest.
Tags