Giáo trình Nguyên lý thiết kế mạch dãy - Nguyễn Quốc Cường

pdf 48 trang huongle 3860
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Nguyên lý thiết kế mạch dãy - Nguyễn Quốc Cường", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_nguyen_ly_thiet_ke_mach_day_nguyen_quoc_cuong.pdf

Nội dung text: Giáo trình Nguyên lý thiết kế mạch dãy - Nguyễn Quốc Cường

  1. Nguyên lý thi t k mch dãy Nguy n Qu c Cưng – 3I Ni dung • Gi i thi u • Các ph n t hai tr ng thái n đnh • Flip-Flops • Phân tích các máy tr ng thái đng b bi xung nh p • Thi t k các máy tr ng thái đng b bi xung nh p Sequential logic design 2
  2. Tài li u tham kh o • Digital Design: Principles & Practices – John F Wakerly – Printice Hall Sequential logic design 3 Gi i thi u •Mch logic dãy: – output 2 tín hi u input ti th i đim tn – output 2 c vào tín hi u input trong quá kh • Ví d: mch điu khi n ch n kênh TV s dng nút bm channel–up và channel-down: – nu tr ưc đĩ kênh đang ch n là 9, nu bm channel-up thì kênh la ch n là 10 – nu tr ưc đĩ kênh đang ch n là 1, nu bm channel-up thì kênh la ch n là 2 – • Vi c s dng bng đ mơ t các output ph thu c vào t hp các inputs đi vi các mch dãy là KHƠNG TH Sequential logic design 4
  3. Tr ng thái • Trong mch dãy s dng khái ni m tr ng thái đ mơ t: – Tr ng thái ca mt mch dãy là tp hp các bi n tr ng thái mà giá tr ca nĩ ti mt th i đim ch a đy đ các thơng tin cn thi t trong quá kh cho phép xác đnh các ho t đng ca mch trong tươ ng lai – Trong mch logic các bi n tr ng thái ch cĩ hai giá tr 0 và 1. –S tr ng thái ca mch cĩ n bi n tr ng thái bng 2n tr ng thái Sequential logic design 5 Các ph n t 2 tr ng thái n đnh Mch cĩ hai tr ng thái n đnh: •Nu Q = HIGH thì Q_L = LOW •Nu Q = LOW thì Q_L = HIGH Sequential logic design 6
  4. Phân tích tươ ng t • Xem xét đin áp Vout và Vin Giao ca 2 đ th ti 3 đim đĩ là các đim cân bng ca mch: • Hai đim n đnh (ng vi các tr ng thái Q = 0 ho c Q = 1) •Mt đim metastable: ti đĩ Vout1 và Vout2 cĩ giá tr đin áp nm gi a mc 1 và 0 Sequential logic design 7 Metastable • Th c t th i gian mch tr ng thái metastable th ưng ng n, lý do, ch cn mt tác đng đ ln ca nhi u s kéo nĩ v mt trong hai tr ng thái stable Sequential logic design 8
  5. Latch và Flip-Flops • Latch và Flip-flops là các ph n t cơ bn trong mch logic dãy • Flip-Flops: dùng đ ch mt thi t b logic dãy cĩ kh năng ly mu tín hi u đu vào và thay đi tín hi u đu ra ti th i đim đưc xác đnh bi tín hi u xung nh p • Latch: dùng đ ch thi t b logic dãy cĩ kh năng quan sát tín hi u inputs mt cách liên tc và cĩ th thay đi đu ra ca nĩ ti bt kỳ th i đim nào mà khơng ph thu c vào tín hi u xung nh p • Tuy nhiên th ưng 2 khái ni m này cĩ th s dng nh ư nhau Sequential logic design 9 S-R Latch (Flip-flops) S-R flip-flop: (set-reset) R = 1, S = 0  Q = 0 (reset) S=1, R=0  Q = 1(set) QN : th ưng là đu bù ca Q, trong các tài li u cịn đưc ký hi u Q_L hay Tuy nhiên trong tr ng hp S=R=1 thì Q = QN = 0 Nu R = 0, S = 0 thì mch gi ng nh ư mt ph n t bistable Sequential logic design 10
  6. khơng đốn đưc tr ưc giá tr ca Q và QN khi c R vàSthayđi giá tr ti cùng th i đim Sequential logic design 11 Ký hi u Sequential logic design 12
  7. Trong cơng ngh CMOS và TTL các c ng NAND th ưng đưc s dng h ơn là cng NOR Sequential logic design 13 S – R latch v i Enable • S-R và: output thay đi ph thu c vào R và S input • S-R latch v i Enable: outputthayđi ph thu c vào R và S ch vi điu ki n tín hi u Enable tích cc Sequential logic design 14
  8. Sequential logic design 15 D latch (D flip-flops) Sequential logic design 16
  9. • D latch: gi ng S-R latch v i R làđo c a S: – Tránh đưc tr ưng h p S=R=1 trong S-R latch •Vi C = 1 (tích c c): – D = 1  Q = 1, QN = 0 – D = 0  Q = 0, QN = 1 • D latch v n g p ph i v n đ v metastable khi D vàCthayđi đng th i • Tín hi u C (Control) cịn đưc ký hi u nh ư là E (Enable), Clk (Clock) hay G (Gate) Sequential logic design 17 Nu D thay đi trong kho ng th i gian t setup và thold thì D latch cĩ th rơiv ào tr ng thái metastable ho c khơng xác đnh Sequential logic design 18
  10. D Flip-flop tác đng theo s ưn lên D flip-flop tác đng theo s ưn lên : s dng 2 D latch: •Dlatchđu tiên đưc g i là master: •CLK = 0  latch m •CLK = 1 latchđ ĩng •D latch th haiđưc g i là slave: • m trong su t th i gian CLK = 1, tuy nhiên giá tr ca nĩ ch thayđi t i th i đim b t đu khi CLK thay đi t 01 do master đã đĩng vàkhơng thay đi trong kho ng th Sequentiali gian CLK logic = design1 19 Sequential logic design 20
  11. khi CLK thay đi 0 1 n u điu ki n t_{hold} và t_{setup} khơng th a mãn, D flip-flop cĩ th rơiv ào tr ng thái khơng xác đnh ho c metasatble. Sequential logic design 21 D flip-flop tác đng theo s ưn xu ng Sequential logic design 22
  12. D flip-flop cĩđu vào khơng đng b ðu vào khơng đng b preset và clear Chúý : tuy nhiên s ơ đtrênkhơngđưc dùng đ ch to IC vì s gate l n (11 gates) Sequential logic design 23 Sơ đ D flip-flop s dng 6 gates (thay vì11 gates nh ư đã gi i thi u tr ưc) Sequential logic design 24
  13. D flip-flop tác đng theo s ưn xung v i đu vào Enable Sequential logic design 25 Master/Slave S-R flip-flop Gi ng D flip-flop: Q thay đi t i th i đim s ưn xu ng c a xung Control Khác D flip-flop: Q ph thu c vào các tín hi u input trong su t th i gian C=1 tr ưc khi chuy n xu ng 0  flip-flop tác đng theo xung Sequential logic design 26
  14. Trong tr ưng h p R=S=1, n u C chuy n 1 0 các outputs s rơiv ào tr ng thái khơng xác đnh ho c metastable Sequential logic design 27 Master-Slave J-K flip-flop • J-K flip flop tránh đưc hi n t ưng c a R-S flip- flop khi c haiđu vào b ng 1 Sequential logic design 28
  15. 1s catching 0s catching Sequential logic design 29 • 1s catching: t i s ưn xu ng c a xung C: – J = 0 , K = 1 thưng Q = 0 và QN = 1 – nh ng Q = 1, QN = 0, lý do là cĩ mt xung J = 1 t n ti khi C = 1 • 0s catching: t i s ưn xu ng c a xung C: – J = 1 , K = 0 thưng Q = 1 và QN = 0 – nh ng Q = 0 và QN =1, lý do cĩ mt xung K = 1 t n ti khi C = 1 • ð J-K flip-flop ho t đng đúng yêu c u J vàK khơng thay đi trong su t quá trình C = 1 Sequential logic design 30
  16. Flip-flop J-K tác đng theo s ưn xung • Hi n t ưng 1s và 0 s catching cĩ th kh c ph c s dng Edge-Trigerred J-K flip-flop Sequential logic design 31 Sequential logic design 32
  17. Sequential logic design 33 T (Toggle) flip-flop • T flip-flop: thay đi tr ng thái t i m i xung đng h Sequential logic design 34
  18. Sequential logic design 35 Sequential logic design 36
  19. Máy tr ng thái đng b bi xung nh p • ð hi u phân tích máy tr ng thái (state- machine), trưc tiên xem xét “cloked- synchronous state machine”: – state machine: máy tr ng thái, t ng quát cho m ch logic dãy – clocked: các ph n t thayđi tr ng thái theo tín hi u điu khi n – synchronous: các ph n t thayđi tr ng thái b i cùng mt tín hi u clock Sequential logic design 37 Cu trúc c a máy tr ng thái (Mealy machine) Sequential logic design 38
  20. • State memory: – ch a n flip-flop đlưugi tr ng thái hi n th i c a máy, cĩ 2n tr ng thái khác nhau – các flip-flops đưc n i chung m t ngu n Clock • Tr ng thái ti p theo c a máy đưc quy t đnh b i m ch Next-State Logic F là mt hàm c a – các bi n current state – các bi n input • Output logic G: là hàm c a: – các bi n current state – các bi n input • F và G là các m ch logic t hp Sequential logic design 39 • Các flip-flop cĩ th s dng: – D flip-flop – J-K flip-flop – Tuy nhiên khi thi t k mch dãy thì D flip-flop tác đng theo s ưn hay đưc s dng vì vi c thi t k mch logic ngày nay s dng ch yu là các IC logic l p trình đưc (đưc ch to cĩ sn các D flip-flop) • Output ph thu c c vào current state và input  cu trúc Mealy machine Sequential logic design 40
  21. Moore machine Sequential logic design 41 Pipelined output Yêu c u: output trong m t chu k ỳ ph thu c vào giá tr state và input c a chu k ỳ tr ưc  s dng thêm m t t ng nh ( flip-flop) đn Mealy machine Nu ghép Output pipeline memory nh ư là mt ph n c a state-memory  tr thành Moore machine Sequential logic design 42
  22. Các bi u th c đc tr ưng • Mơ t latch hay flip-flop cĩ th s dng các bi u th c đc tr ưng (characteristic equation): – Mơ t tr ng thái ti p theo nh ư là hàm c a current state vàinput – Quy ưc: Q* nh ư là “next value of Q” • Bi u th c đc tr ưng khơng mơ t chi ti t các ho t đng theo th i gian ca thi t b (ví d D flip- flop tác đng theo s ưn lên, xu ng hay m c thì đu cĩ chung m t bi u th c đc tr ưng) Sequential logic design 43 Sequential logic design 44
  23. Phân tích máy tr ng thái v i D flip-flop •Gm 3 bưc: – Xác đnh hàm F và G –S dng F vàGđ xây d ng b ng state và output ng v i m i t hp current state và current input – (option) V state diagram Sequential logic design 45 Sequential logic design 46
  24. ví d phân tích •Ti m i xung nh p D FF(flip-flop) s sample tín hi u t i D input và truy n đn đu ra Q Q* = D • Cĩ 2 D FF: – ký hi u output là Q0 và Q1 là 2 bi n tr ng thái – ký hi u input là D0 và D1 là hai tín hi u kích thích (excitation) • Bi u th c kích thích (excitation equation): Sequential logic design 47 •S dng bi u th c đc tr ưng c a D FF • Thay bi u th c kích thích: bi u th c này th hi n giá tr các bi n tr ng thái ti p theo nh ư là hàm c a current state vàcurrentinput , đưc g i là các bi u th c chuy n (transistion equation) Sequential logic design 48
  25. (a): transistion table 4 tr ng thái (Q1,Q0) = (0,0) (0,1) (1,0) (1,1) cĩ 8 t hp state/input 1 tín hi u input EN = 0 , 1 (b): state table: b ng cách gán tên cho các tr ng thái (0,0) = A, (0,1) = B, (1,0) = C và (1,1) = D ta cĩ bng tr ng thái (b) S ký hi u cho current state, S * ký hi u cho next state Sequential logic design 49 •T sđ, xây d ng hàm logic cho output •Tđ ĩ xây d ng b ng (c): state/output table Sequential logic design 50
  26. Mi vịng trịn (hay nút) ký hi u cho m t state. Tên vịng trịn là tên c a state Các state liên k t b i các m ũi tên ch chi u chuy n tr ng thái vàđiu ki n chuy n Sequential logic design 51 các b ưc phân tích chi ti t Sequential logic design 52
  27. Ví d (bài t p v nhà) Sequential logic design 53 • excitation equation Transistion table • excitation equation Sequential logic design 54
  28. • output equation state/output table Sequential logic design 55 • Bi u đ tr ng thái Sequential logic design 56
  29. •Mi liên k t đưc gán v i m t bi u th c  transistion expression • Chuy n tr ng thái x y ra khi t hp các giá tr input sao cho transistion expression = 1 •Nu liên k t đưc gán “1” cĩ ngh ĩa là luơn x y ra Sequential logic design 57 Phân tích state machine v i J-K flip-flop • Các m ch clocked-synchronous state machine vi J-K ff cĩ th phân tích gi ng nh ư làvơiDff vi l ưu ý: – Bi u th c kích thích c n ph i vi t cho 2 input J và K – Bi u th c đc tr ưng c a J-K ff là Q* = J ¢ Q’ + K’ ¢ Q Sequential logic design 58
  30. Sequential logic design 59 • Bi u th c kích thích • Bi u th c chuy n tr ng thái • Bi u th c output Sequential logic design 60
  31. Sequential logic design 61 Sequential logic design 62
  32. Các b ưc thi t k mch logic dãy đng b Sequential logic design 63 Ví d Bi u di n d ng tín hi u theo th i gian Sequential logic design 64
  33. Phân tích yêu c u • zk bng 1 n u: –Ak = 0 và Ak-1 = 0 ho c –Ak = 1 và Ak-1 = 1 ho c – B =1 b t đu t th i đim (trong quá kh ) mà ti đĩ A b ng nhau t i 2 xung nh p liên ti p (trong tr ưng hp này z=1 khơng ph thu c vào A) • Ng ưc l i z s bng 0 Sequential logic design 65 Tr ng thái (1) • Tr ng thái ( trong kho ng th i gian t kđn k+1) • A0 (Z = 0) –Ak = 0 và Ak-1 = 1 – và B = 0 t i th i đim màtrưc đĩđãc ĩ mt c p giá tr A b ng nhau (trong quá kh ) • A1 (Z = 0) –Ak = 1 và Ak-1 = 0 – và B = 0 ti th i đim bt k ỳ( nh ư v y t i th i đim k, B cĩ th = 1 ho c 0) màtrưc đĩđã cĩ mt c p giá tr A b ng nhau (trong quá kh ) • OK00 (Z = 1) –Ak = 0 và Ak-1 = 0 – B b t k ỳ • OK11 (Z = 1) –Ak = 1 và Ak-1 = 1 – B b t k ỳ • OKA0 (Z= 1) –Ak = 0 và Ak-1 = 1 – B = 1 k t th i đim gn nh t cĩ cĩ cp A cĩ giá tr bng nhau • OKA1 (Z=1) –Ak = 1 và Ak-1 = 0 – B = 1 k t th i đim gn nh t cĩ cĩ cp A cĩ giá tr bng nhau Sequential logic design 66
  34. Bng chuy n tr ng thái (1) Sequential logic design 67 INIT A0 OK00 A1 OK11 A0 OK00 OKA1 OKA0 A0 OK11 A0 Sequential logic design 68
  35. Tr ng thái (2) • A0 vàA 1 tươ ng t nhưtrên • OK0 (Z=1) –Ak = 0 và Ak-1 = 0 và B b t k ỳ – ho c A k = 0 và Ak-1 = 1 và B = 1 k t th i đim gn nh t cĩ cĩ cp A cĩ giá tr bng nhau • OK1 (Z=1) –Ak = 1 và Ak-1 = 1 và B b t k ỳ – ho c A k = 1 và Ak-1 = 0 và B = 1 k t th i đim gn nh t cĩ cĩ cp A cĩ giá tr bng nhau Sequential logic design 69 Bng chuy n tr ng thái (2) Sequential logic design 70
  36. Sequential logic design 71 Ti thi u hĩa s tr ng thái • Ý t ưng gi m s tr ng thái là da trên vi c xác đnh tr ng thái t ươ ng đươ ng • Hai tr ng thái S 1 và S2đưc coi làtươngđươngnu th a mãn 2 điu ki n: –S1 và S2 cn t o ra output gi ng nhau v i t t c các t hp input –Vi m i t hp input, S 1 và S2 cn t o ra next state gi ng nhau ho c t ươ ng đươ ng Sequential logic design 72
  37. OK00 và OKA0 làtươngđương OK11 và OKA1 làtươngđương Sequential logic design 73 Bi n tr ng thái • n flip-flop cĩ th mơ t 2n tr ng thái • vi s tr ng thái c n ít nh t (log 2s) flip-flop  cĩ th cĩ mt s tr ng thái khơng s dng • Trong ví d vi 5 tr ng thái s cn ít nh t 3 flip - flop (dư 3 tr ng thái khơng s dng) • Chú ý: vi c l a ch n s bi n tr ng thái ít nh t khơng đm b o r ng: – các bi u th c kích thích làđơngin nh t – các bi u th c output làđơngin nh t – mch là r nh t Sequential logic design 74
  38. • Làm cách nào đ la ch n s bi n tr ng thái và t hp các bi n tr ng thái t ti ưu ??? • Câu tr li là: ph i ti n hành th tt c các tr ưng h p cĩ th  tn r t nhi u th i gian: Sequential logic design 75 Sequential logic design 76
  39. Các tr ng thái khơng s dng Sequential logic design 77 Tng h p s dng D flip-flop • Nh c l i: s dng D flip-flop cĩưuđim: – tn t i dng IC r i c ũng nh ư trong các thi t b lp trình đưc –D s dng (hơn so v i J-K flip-flop) vì bi u th c đc tr ưng đơ n gi n Q* = D • Do (Q* = D) do b ng transistion/output = excitation/output Sequential logic design 78
  40. Bng excitation gi ng nh ư b ng chân lý v i các hàm logic D1, D2, D3 là hàm c a 5 bi n (A,B,Q1,Q2,Q3)  s dng ph ươ ng pháp t ng h p hàm logic “tng c a các tích ho c tích c a các t ng” Nu s bi n ít  cĩ th s dng ph ươ ng pháp bìa Karnaugh đ tng h p hàm Sequential logic design 79 Sequential logic design 80
  41. • Chú ý excitation b ng và bng chân lý cĩ s khác nhau: –Bng excitation khơng ch ra hàm logic c a t t c các t hp input (các unused states) • Trong ví d trên, s dng quy t c minimal-risk: khi h th ng r ơi vào unused state, thì nex-state s là tr ng thái 000: –Vi Q1 = 0 thì 3 hàng cu i s là 0 Sequential logic design 81 •Vi bìa Karnaugh trên thu đưc bi u th c kích thích •Tươ ng t ta cĩ th xây d ng hàm logic cho output Sequential logic design 82
  42. Sequential logic design 83 s dng tiêu chu n minimal-cost, next-state c a các unused- state là don’t-care  hàm logic t ng h p s đơngin h ơn Sequential logic design 84
  43. Sequential logic design 85 Tng h p m ch dãy s dng J-K flip-flop • J-K flip-flop cĩ bi u th c đc tr ưng ph c t p h ơn D flip-flop: Q * = J ¢ Q’ + K’ ¢ Q •Vi nhi u input h ơn, s dng J-K cho phép mch điu khi n tín hi u excitation cĩ th (khơng ch c ch n) đơngin h ơn • Th c t : – s dng J-K flip-flop phù hp cho các thi t k vi các IC lo i SSI (Small-Scale Integration) hơn là các IC kh trình lo i MSI ho ăck LSI – Hi n nay trong các thi t k vi m ch logic kh trình s dng ch yu là D flip-flop Sequential logic design 86
  44. •T bng transistion khơng th chuy n qua tr c ti p bng excitation nh ư đi v i D flip-flop: – ð xây d ng J-K excitation table, c n xem xét tr ng thái hi n t i và c next-state (khác v i D flip-flop ch cn quan tâm next-state đ xây d ng bi u th c kích thích) –S dng b ng ho t đng c a J-K flip-flop d: don’t-care Sequential logic design 87 Sequential logic design 88
  45. S dng ph ươ ng châm minimal-risk: các tr ng thái khơng s dng s đưc chuy n v tr ng thái 000Sequential logic design 89 • Bi u th c kích thích (so v i bi u th c kích thích s dng D flip-flop thìKHƠNGđơngin h ơn) Sequential logic design 90
  46. Sequential logic design 91 Sequential logic design 92
  47. Ví d thi t k s dng D flip-flop (bài t p v nhà) Ví d 1: Sequential logic design 93 •Ti th i đim xét n u s bit 1s đm t i X và Y là bi s ca 4 thì giá tr output s bng 1  s dng 4 tr ng thái: – S0: tr ng thái mà ti X và Y cĩ 4n bits 1 – S1: tr ng thái mà ti X và Y cĩ (4n+1) bits 1 – S2: tr ng thái mà ti X và Y cĩ (4n+2) bits 1 – S3: tr ng thái mà ti X và Y cĩ (4n+3) bits 1 Sequential logic design 94
  48. Sequential logic design 95 Sequential logic design 96