Unformatted text preview:

PowerPoint PresentationTopicsSerial data systems (e.g., TPC)Serial data in the phone system (E-1)Timeslot detailsParallel-to-serial conversionSerial-to-parallel conversionDestination timingSerial communication on ONE wireStill a couple of problemsSynchronous System StructureTypical synchronous-system timingClock SkewClock-skew calculationIn-Class Practice ProblemSlide 16Slide 17Slide 18Example of bad clock distributionClock distribution in ASICs“Clock-tree” solutionGating the clockIf you really must gate the clock...Asynchronous inputsA simple synchronizerOnly one synchronizer per inputEven worseThe way to do itRecommended synchronizer designMetastability decision windowMetastability resolution timeFlip-flop metastable behaviorTypical flip-flop metastability parametersIs 1000 years enough?Multiple-cycle synchronizerDe-skewed multiple-cycle synchronizerNext timeEE365Adv. Digital Circuit DesignClarkson UniversityLecture #13Clock Skew & SynchronizationTopicsRissacher EE365Lect #13•More Serial•Clock Skew•SynchronizationSerial data systems (e.g., TPC)Rissacher EE365Lect #13Serial data in the phone system (E-1) •2.048 Mb/s links between phone switches and subscribers–partitioned into 32 64 Kb/s channels•Each channel gets a timeslot in a “frame” where it can send 8 bits every 125 sec.–8000 frames/secRissacher EE365Lect #13Timeslot detailscount = 255Rissacher EE365Lect #13Parallel-to-serial conversion256LSBs are bit numberAssert shift-registerLOAD input during bit 7Timeslot number canbe decoded and usedto select source ofparallel dataSerial data todestinationcount = 255Rissacher EE365Lect #13Serial-to-parallel conversionSynchronize destination’s counter to source’sShift in serial dataDetect that acomplete bytehas beenreceivedHolding registerfor completebyteNote:loads0…0Rissacher EE365Lect #13Destination timingSerial-in, parallel-outshift register outputsHolding-register outputsGrab complete byte when availableRissacher EE365Lect #13Serial communication on ONE wire•Serial communication requires three signals: CLOCK, SYNC, and DATA. Yet only one “wire” is used. How?•One solution: Manchester code.•Or use a phase-locked loop (analog circuit)to extract clock from the data:Rissacher EE365Lect #13Still a couple of problems•Framing -- SYNC signal–Solution: Use a unique data pattern for SYNC•PLL clock recovery -- what if too many zeroes are transmitted? PLL can’t stay in sync.–Solution: Use a code that guarantees a minimum number of ones–Phone system: Map 00000000 --> 00000010 (creating slight voice distortion)•Gigabit Ethernet: Uses 8B10B code, solving both problems–Map each byte into 8 bits–Use only a “good” subset of 210 code words–Use another code word for synchronizationRissacher EE365Lect #13Synchronous System StructureEverything is clocked by the same, common clockRissacher EE365Lect #13Typical synchronous-system timing•Outputs have one complete clock period to propagate to inputs.•Must take into account flip-flop setup times at next clock period. Rissacher EE365Lect #13Clock Skew–Clock signal may not reach all flip-flops simultaneously.–Output changes of flip-flops receiving “early” clock may reach D inputs of flip-flops with “late” clock too soon.Reasons for slowness:(a) wiring delays(b) capacitance(c) incorrect designRissacher EE365Lect #13Clock-skew calculation•tffpd(min) + tcomb(min)  thold  tskew(max) > 0•First two terms are minimum time after clock edge that a D input changes•Hold time is earliest time that the input may change•Clock skew subtracts from the available hold-time margin•Compensating for clock skew:–Longer flip-flop propagation delay–Explicit combinational delays–Shorter (even negative) flip-flop hold timesRissacher EE365Lect #13In-Class Practice ProblemRissacher EE365Lect #13tffpd(min) = 5 nstcomb(min) = 20 nsthold = 20 ns tskew(max) = 10 nsComb Logic(Excitation Eqns)CLKDelayCalculate whether clock-skew is an issue for the indicated Flip-FlopIn-Class Practice ProblemRissacher EE365Lect #13tffpd(min) = 5 nstcomb(min) = 20 nsthold = 20 ns tskew(max) = 10 nstffpd(min) + tcomb(min)  thold  tskew(max) = -5 nsCalculate whether clock-skew is an issue for the indicated Flip-FlopIn-Class Practice ProblemRissacher EE365Lect #13tffpd(min) = 5 nstcomb(min) = 20 nsthold = 20 ns tskew(max) = 10 nsComb Logic(Excitation Eqns)CLKDelayNow add a delay to the circuit to fix the issue.In-Class Practice ProblemRissacher EE365Lect #13tffpd(min) = 5 nstcomb(min) = 20 nsthold = 20 ns tskew(max) = 10 nsComb Logic(Excitation Eqns)CLKDelay> 5 nsExample of bad clock distributionRissacher EE365Lect #13Clock distribution in ASICs•This is what a typical ASIC router will do if you don’t lay out the clock by hand.Rissacher EE365Lect #13“Clock-tree” solution•Often laid out by hand•Wide,fast metal (low R ==> fast RC time constant)Rissacher EE365Lect #13Gating the clock•Definitely a no-no–Glitches possible if control signal (CLKEN) is generated by the same clock–Excessive clock skew in any case.Rissacher EE365Lect #13If you really must gate the clock...Rissacher EE365Lect #13Asynchronous inputs•Not all inputs are synchronized with the clock•Examples:–Keystrokes–Sensor inputs–Data received from a network (transmitter has its own clock)•Inputs must be synchronized with the system clock before being applied to a synchronous system.Rissacher EE365Lect #13A simple synchronizerRissacher EE365Lect #13Only one synchronizer per inputRissacher EE365Lect #13Even worse•Combinational delays to the two synchronizers are likely to be different.Rissacher EE365Lect #13The way to do it•One synchronizer per input•Carefully locate the synchronization points in a system.•But still a problem -- the synchronizer output may become metastable when setup and hold time are not met.Rissacher EE365Lect #13Recommended synchronizer design•Hope that FF1 settles down before “META” is sampled.–In this case, “SYNCIN” is valid for almost a full clock period.–Can calculate the probability of “synchronizer failure” (FF1 still metastable when META sampled)Rissacher EE365Lect #13Metastability decision windowRissacher EE365Lect #13Metastability resolution timeRissacher EE365Lect #13Flip-flop metastable behavior•Probability of flip-flop output being in the metastable state is an exponentially decreasing function of tr (time since clock edge, a.k.a. “resolution


View Full Document

CLARKSON EE 365 - LECTURE

Documents in this Course
Load more
Download LECTURE
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LECTURE and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LECTURE 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?