FÖRELÄSNING 3 Sekvenskretsar - vippor och latchar Digitalt konstruktionsexempel Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik (49)
Sekvenskretsar - vippor och latchar (S&S4 3.7/S&S5.) Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 2(49)
LOGIK OC VIPPOR Vi har maximalt en klockperiod på oss att utvärdera CMOS-logiken som finns mellan vippor/register. klocka klocka vippa Logik/grindar vippa Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 3(49)
KOMBINTORISK OC SEKVENTIELL KRETSR Logikkrets Logikkrets Tillstånd Kombinatorisk Sekventiell - FSM Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 4(49)
STTISK OC DYNMISK KRETSR in in ctrl En statisk krets - noden med det logiska värdet (efter NMOS:en) ansluts till V DD eller jord ctrl En dynamisk krets - noden med det logiska värdet (efter NMOS:en) håller sin spänning dynamiskt när ctrl = Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 5(49)
TIMINGKRETSR För det mesta kretsar analog teknik kring kontinuerlig signalamplitud och kontinuerlig tid, medan digital teknik använder sig av en begreppsvärld där signalamplitud och tid diskretiseras till / respektive klockcykler. De digitala kretsar vi hittills tittat på är förstärkande element som slår från jord till matningsspänning, och vi har alltså lärt känna hur digitala kretsar beter sig m.a.p. de digitala signalernas amplitud. Nu är det dags att studera de digitala kretsar som sköter synkroniseringen av signaler till de digitala tidsluckor som vi får använda: Dessa kallas timingkretsar för de tar hand om den klockstyrda tidspassningen ( timingen ) av de logiska signalerna. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 6(49)
En latch... LTCR OC VIPPOR är transparent under en halv klockperiod, och lagrar data på utgången under den andra halvan. fördröjer en signal en halv klockperiod. En D-vippa... innehåller två olika latchar (en Mästare följd av en Slav). fördröjer en signal en klockperiod. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 7(49)
DYNMISK OC STTISK LTCR φ φ φ φ Dynamisk latch Statisk latch Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 8(49)
LTCR OC TIMING φ in ut in φ P- latch öppen låst öppen låst ut φ in ut öppen ut = in låst ut från öppna tillståndet låses kvar in φ N- latch ut Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 9(49)
EN FLNKTRIGGD VIPPS EGENSKPER t setup t hold in positiv vippa ut φ in data φ ut t d data Setuptiden/holdtiden är den minsta tidrymd före/efter klockflanken som data måste finnas tillgängligt vid vippans ingång för att korrekt funktion ska kunna garanteras. Klockperioden måste väljas så att T > t setup + t d (vippa) + t d (logik). Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik (49)
EN MSTER-SLVE VIPP OC DESS TIMING in är fördröjd då den gått genom kombinatorisk logik före vippan Mästare φ Slav in P- N- latch latch ut φ in ut data data2 data Flanktriggat beteende! φ in vippa ut Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik (49)
EN KRETS FÖR EN MSTER-SLVE VIPP in φ φ ut φ Mästaren öppen φ Mästare φ Slav φ Slaven öppen Om klockinvers φ ligger före φ så kan vippan sluta att fungera, eftersom båda latcharna kommer vara öppna under kort tid: Vi får ett race (datarusning). Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 2(49)
TVÅFSKLOCKNING Mästaren öppen φ φ 2 φ in ut φ 2 φ Mästare φ 2 Slav Slaven öppen Med icke-överlappande tvåfasklockning kan man reglera så att race inte inträffar. Man har normalt sett inte råd med denna konservativa klockstrategi, för den kastar bort vår dyrbara tid. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 3(49)
KLOCKSKEV OC TIMINGBUDGET φ φ φ φ vippa logik vippa gröna vippans ut logikens ut Marginaler på logikens fördröjning krävs om det finns risk för klockskev. Logiken får alltså inte utnyttja hela periodtiden T p.g.a. klockskev. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 4(49)
Digitalt konstruktionsexempel Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 5(49)
KONSTRUKTIONSFLÖDE Övergripande kravspecifikation: Till exempel en komplett processor. Nedbrytning i detaljer: Till exempel fokusering på en multiplikator, mellan registergränser. lgoritmval: Ska multiplikatorn använda Booth-omkodning? En första design baserad på tidigare erfarenhet (re-use) och tumregler (t.ex. tekniker från Kretselektronik). Utvärdering: ar vi konstruerat rätt funktionellt? Klarar vi kravspecens timing och power? Vid en lyckad utvärdering är man klar, annars omkonstruktion. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 6(49)
EN MIPS-LIKNNDE PROCESSORS DTVÄG DT Reg RegB LU DT Reg Register File LS Unit DT Reg DT Reg Reg PC Unit DT Reg Pipeline Register MULTIPLIER MSB LSB Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 7(49)
EN FLEXCORE-PROCESSORS DTVÄG Control Imm ImmSel PCop Ready LS Size LUop Op OpB Wrddr WrEn MULT PC Unit LS Unit LU Register File Op OpB LSB MSB DT Reg ddress Data DT Reg RegB Op OpB DT Reg Reg DT Reg DT Reg Interconnect ddresses Interconnect Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 8(49)
NEDBRYTNING: MULTIPLIKTION y 7 y 6 y 5 y 4 y 3 y 2 y y x 7 x 6 x 5 x 4 x 3 x 2 x x p 7 p 6 p 5 p 4 p 3 p 2 p p p 6 p 5 p 4 p 3 p 2 p p p 52 p 42 p 32 p 22 p 2 p 43 p 33 p 23 p 3 p 34 p 24 p 4 p 25 p 5 p 6 p 7 p 72 p 62 p 2 p 73 p 63 p 53 p 3 p 74 p 64 p 54 p 44 p 4 p 75 p 65 p 55 p 45 p 35 p 5 p 66 p 56 p 46 p 36 p 26 p 6 p 77 p 76 p 7 p 67 p 57 p 47 p 37 p 27 p 7 s 5 s 4 s 3 s 2 s s s 9 s 8 s 7 s 6 s 5 s 4 s 3 s 2 s s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 9(49)
NEDBRYTNING: MULTIPLIKTORNS BLOCKSCEM X Y S Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 2(49)
LGORITMVL FÖR MULTIPLIKTION Teckensättning: Modifierad Booth-omkodning, Baugh-Wooley,... Reduktion av partiella produktbitar: Carry-save, PM-träd, Wallace-träd, Left-Right, Leapfrog,... Vad ska man välja? Erfarenhet och/eller kunnande från digitalkurser behövs. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 2(49)
LGORITMVL: BOOT-OMKODNING (2) Vi har x = x 2 + x 2 + x 2 2 2 + x 3 2 3. nalysera x = 2x x. 2( x 2 + x 2 + x 2 2 2 + x 3 2 3 ) ( x 2 + x 2 + x 2 2 2 + x 3 2 3 ), eller x 2 + x 2 + x 2 2 + x 3 2 2 + x 2 x 2 x 2 2 2 x 3 2 3, eller x 2 + ( x ( x ))2 + ( x 2 x )2 + ( x 3 x 2 )2 2 x 2 3, eller 3 ( x 2 + x 2x )2 + ( x 3 2x 2 )2 3. Bara två signifikansnivåer används till sist: 2 - and 2-3. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 22(49)
LGORITMVL: BOOT-OMKODNING 2(2) x i-2 x i- x i Inc + + +2-2 - - s = x y där y =, x =. x 4 x 5 (x 6 ) = ddera (-2 y)2 2. x 2 x 3 x 4 = ddera ( y)2 2 3. x x x 2 = ddera (- y)2 4 + Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 23(49)
INITIL DESIGN: BOOT-OMKODNINGSKRETSR X Y Neg X X 2i+ X 2i- X 2i y i y i- Neg Z X2 X 2i+ X 2i X 2i- X 2i X Z X2 S p ij Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 24(49)
INITIL DESIGN: CRRY-SVE FÖR PP-REDUKTION Final dder LSB Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 25(49)
INITIL DESIGN: LOGRITMISK STRUKTUR => LÅG DELY Final dder LSB Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 26(49)
Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 27(49) INITIL DESIGN: 6-BITRS MULTIPLIKTOR SGD 6bit 2 3 5 6 4 8 9 7 2 4 5 3 7 8 6 2 2 9 23 24 22 26 27 25 29 3 28 X 3 X
Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 28(49) UTVÄRDERING V TIMING ur ska man kunna hitta fördröjningen i en komplicerad krets? Statisk timinganalys (ST)! SGD 6bit 2 3 5 6 4 8 9 7 2 4 5 3 7 8 6 2 2 9 23 24 22 26 27 25 29 3 28 X 3 X
ci a a + b b co s s UTVÄRDERING: ST () co ci b a b a s s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 29(49)
Siffran inom grindsymbolen representar ackumulerad fördröjning från primäringångarna ci b a UTVÄRDERING: ST 2() co s b a s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 3(49)
UTVÄRDERING: ST 3() co ci b a 2 s b a 2 s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 3(49)
UTVÄRDERING: ST 4() co ci b a 2 s b a 2 3 s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 32(49)
UTVÄRDERING: ST 5() 4 co ci b a 2 s b a 2 3 4 s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 33(49)
UTVÄRDERING: ST 6() 4 5 co ci b a 2 s b a 2 3 4 Maximum av 4, 2, 5 ger kritiska vägens fördröjning s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 34(49)
UTVÄRDERING: ST 7() Gå baklänges för att hitta kritiska vägen 4 5 co ci b a 2 s b a 2 3 4 s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 35(49)
UTVÄRDERING: ST 8() 4 5 co ci b a 2 s b a 2 3 4 s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 36(49)
UTVÄRDERING: ST 9() 4 5 co ci b a 2 s b a 2 3 4 s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 37(49)
UTVÄRDERING: ST () 4 5 co ci b a 2 s b a 2 3 4 s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 38(49)
UTVÄRDERING: ST () 4 5 co ci b a 2 s b a 2 3 4 Blå pil ger den kritiska vägen s Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 39(49)
UTVÄRDERING: VI UPPTÄCKER ETT TIMINGPROBLEM Ursprungskretsen klarar inte större fan-outs! Ny, buffrad krets Neg X 2i+ Neg x 2i+ X X 2i- X 2i Z x 2i Z X 2i+ X 2i X x 2i- X2 X 2i- X 2i X2 Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 4(49)
Fördröjning [ns] UTVÄRDERING: OLIK KODR-FN-OUT Multiplikatorbredd [4 -> 64 bitar] Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 4(49)
KSKDKOPPLING - BUFFRING (3) tt försöka driva en stor kapacitans med en ynklig grind är ineffektivt. 3,4 YNKLIG INVERTERRE, STOR LSTKP 3,2 3, 2,8 2,6 2,4 2,2 2,,8,6,4,2, 8,m 6,m 4,m 2,m,, 5,p Time (lin) (TIME) Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 42(49)
KSKDKOPPLING - BUFFRING 2(3) Buffert In x Int Kx Ut C C int K C L t d För inverteraren som driver bufferten, är belastningskapacitansen C int K (under förutsättning att buffertens två gateterminaler helt dominerar C int ). För bufferten gäller att transistorbredderna W K. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 43(49)
KSKDKOPPLING - BUFFRING 3(3) Vi vet att t d C L W. Därför gäller t d C.. För den första inverteraren: t dinv = K t d x eftersom C int ökar K gånger. C L C 2. För bufferten: t dbuf = --------------- t eftersom K d dess C ut är C L C gånger större och dess W är K gånger större (än för kretsen till höger). C t d C t d C L C C L Leta efter minimal delay: = t. K d --------------- = K = ----- K 2 C Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 44(49)
BUFFERT MED FÖR LITET K - DÅLIG UT 3,5 BUFFER MED K=3: GUL - INT, RÖD - UT 3, 2,5 2,,5, 5,m,, 5,p Time (lin) (TIME) Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 45(49)
BUFFERT MED LGOM K 3,5 BUFFER MED K=7 3, 2,5 2,,5, 5,m,, 5,p Time (lin) (TIME) Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 46(49)
BUFFERT MED FÖR STORT K - DÅLIG INT 3,5 BUFFER MED K=2 3, 2,5 2,,5, 5,m,, 5,p Time (lin) (TIME) Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 47(49)
BUFFRING I MULTIPLIKTORNS SLUTDDERRE X 2 3 4 6 7 8 9 2 2 22 23 24 25 26 27 28 29 3 5 Inte enbart hänger man på ett stort antal grindar, utan ledningen som ansluter dem är i regel ganska lång. Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 48(49)
64-B DDER FRÅN INTEL Per Larsson-Edefors, Chalmers tekniska högskola ED35 Kretselektronik 49(49)