Path: utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!amdcad!henry From: henry@amdcad.AMD.COM (Henry Choy) Newsgroups: comp.arch Subject: Re: Metastability Message-ID: <25434@amdcad.AMD.COM> Date: 27 Apr 89 20:11:16 GMT References: <25423@amdcad.AMD.COM> Reply-To: henry@amdcad.UUCP (Henry Choy) Organization: Advanced Micro Devices Lines: 63 In article <25423@amdcad.AMD.COM> rpw3@amdcad.UUCP (Rob Warnock) writes: >josh@klaatu.rutgers.edu (J Storrs Hall) writes: >+--------------- >| One commonly reads in articles about arbiter circuits that >| it has been proven that the problem of metastability cannot >| be completely avoided. Is there an actual proof anywhere? >| --JoSH >+--------------- > >The real trick to making a good (not perfect) synchronizer is getting >a latch stage with a very high gain-bandwidth product "around the loop". The GBP also depends heavily on the capacitive loading at the output of the loop. If the synchronizer is designed on chip, I'll try to minimize the caps (diffusion, interconnects, fanout) by using a small output driver, and not let anything else to touch the cross-coupled nodes. >You can also make a two-stage synchronizer, where the second stage can >fail only if the first stage comes out of metastable just as the second >stage clocks. [You have to bias the output of the first stage so a first- >stage metastable looks like a clean one or zero to the second stage.] >Depending on your environment, this is sometimes better than clocking >a single-stage synchronizer at 1/2 the rate. > My feeling is that the propagation delay of the second stage significantly reduce the available time for synchronization. So instead of having a probability fo failure (with respect to the available time) Pr(T-Tprop), the two-stage synchronizer has a probability approximately Pr(T/2 - Tprop)**2. But Pr(t) is exponential -t/tau Pr(t) = Ke (tau = sqrt(1/GB)) +T/2tau Pr(T/2 - Tprop) = Pr(T - Tprop) * e 2 So, (Pr(T/2 - Tprop)) Tprop/tau ------------------ = Ke Pr(T - Tprop) Typically, Tprop >> tau and K is O(1). Just my opinion, Rob. > >Rob Warnock >Systems Architecture Consultant > >UUCP: {amdcad,fortune,sun}!redwood!rpw3 >DDD: (415)572-2607 >USPS: 627 26th Ave, San Mateo, CA 94403 > A paper by L. Marino (IEEE Trans. on Comp., Feb.81) and another by Lindsay Kleeman & A. Cantoni (same, Jan. 87) has proofs on metastable problems. Several papers on metastability (all published in JSSC) deserve credits: Veendrick, 4'80, Flannagan, 8'85, Sakurai, 8'88 Henry Choy Advanced Micro Devices, Inc. henry@amdcad.AMD.com