Chương 1: Giới thiệu các cấu trúc lập trình
lượt xem 63
download
Giới thiệu các cấu trúc lập trình
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 1: Giới thiệu các cấu trúc lập trình
- Chöông 1 GIÔÙI THIEÄU CAÙC CAÁU TRUÙC LAÄP TRÌNH ÑÖÔÏC GIÔÙI THIEÄU PLD HOAÏT ÑOÄNG CUÛA SPLD CÔ BAÛN LAØ PAL HOAÏT ÑOÄNG CUÛA SPLD CÔ BAÛN LAØ GAL KÍ HIEÄU ÑÔN GIAÛN CHO SÔ ÑOÀ CUÛA PAL/GAL SÔ ÑOÀ KHOÁI TOÅNG QUAÙT CUÛA PAL/GAL MACROCELL CAÙC SPLD THÖÏC TEÁ CAÙC CPLD CPLD CUÛA HAÕNG ALTERA CPLD MAX 7000 MACROCELL KHOÁI MÔÛ ROÄNG CHIA SEÛ KHOÁI MÔÛ ROÄNG SONG SONG CPLD MAX I CPLD CUÛA HAÕNG XILINX PLA (PROGRAMMABLE LOGIC ARRAY) COOLRUNNER I LOGIC LAÄP TRÌNH FPGA CAÙC KHOÁI LOGIC COÙ THEÅ ÑÒNH CAÁU HÌNH CLB CAÙC MODULE LOGIC FPGA DUØNG COÂNG NGHEÄ SRAM CAÙC LOÕI CUÛA FPGA FPGA CUÛA ALTERA KHOÁI MAÛNG LOGIC (LAB: LOGIC ARRAY BLOCK) MODULE LOGIC THÍCH NGHI ALM Kieåu hoaït ñoäng bình thöôøng Kieåu hoaït ñoäng LUT môû roäng CAÙC CHÖÙC NAÊNG TÍCH HÔÏP FPGA CUÛA XILINX CAÙC KHOÁI LOGIC COÙ THEÅ ÑÒNH CAÁU HÌNH CLB (CONFIGURABLE LOGIC BLOCK) CHUOÃI LIEÂN TIEÁP SOP CAÁU TRUÙC FPGA TRUYEÀN THOÁNG VAØ CAÁU TRUÙC ASMBL Caáu truùc truyeàn thoáng
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù Caáu truùc ASMBL PHAÀN MEÀM LAÄP TRÌNH CAÙCH THIEÁT KEÁ MOÂ PHOÛNG CHÖÙC NAÊNG TOÅNG HÔÏP LIEÄT KEÂ LÖÔÙI (NETLIST) PHAÀN MEÀM THiI HAØNH MOÂ PHOÛNG THÔØI GIAN LAÄP TRÌNH CHO THIEÁT BÒ – HAY NAÏP CHÖÔNG TRÌNH CHO THIEÁT BÒ CAÂU HOÛI OÂN TAÄP VAØ BAØI TAÄP CAÂU HOÛI OÂN TAÄP Hình 1-1. Caáu truùc cuûa PAL. Hình 1-2. PAL sau khi laäp trình ñeå taïo haøm. Hình 1-3. Caáu truùc cuûa GAL. Hình 1-4. Kí hieäu ñôn giaûn cho PAL/GAL. Hình 1-5. Hình cho ví duï 1-1. Hình 1-6. Sô ñoà khoái cuûa PAL/GAL. Hình 1-7. Sô ñoà maïch caùc Macrocell. Hình 1-8. Sô ñoà khoái vaø hình daïng voû cuûa PAL16V8. Hình 1-9. Sô ñoà khoái vaø hình daïng voû cuûa GAL22V10. Hình 1-10. Sô ñoà khoái cuûa CPLD toång quaùt. Hình 1-11. Caáu truùc CPLD MAX 7000 Hình 1-12. Sô ñoà khoái mcrocell ñôn giaûn cuûa MAX 7000. Hình 1-13. Ví duï caùch môû roäng. Hình 1-14. Minh hoïa cho vieäc chia seû. Hình 1-15. Minh hoïa cho boä môû roäng song song. Hình 1-16. Minh hoïa cho boä môû roäng song song töø macrocell khaùc. Hình 1-17. Sô ñoà khoái cuûa MAX II. Hình 1-18. Phaân bieät 2 kieåu xaây döïng haøm. Hình 1-19. Phaân bieät 2 kieåu keát noái. Hình 1-20. So saùnh PAL vôùi PLA. Hình 1-21. Sô ñoà caáu truùc cuûa Coolrunner II. Hình 1-22. Caáu truùc cuûa moät khoái chöùc naêng FB. Hình 1-23. Minh hoïa cho ví duï 1-2. Hình 1-24. Caáu truùc cô baûn cuûa FPGA. Hình 1-25. Caùc khoái CLB cuûa FPGA. Hình 1-26. Sô ñoà khoái cô baûn cuûa 1 module logic trong FPGA. Hình 1-27. Khaùi nieäm cô baûn cuûa LUT ñöôïc laäp trình ñeå taïo SOP ngoõ ra . Hình 1-28. Minh hoïa cho ví duï 1-3. Hình 1-29. Khaùi nieäm veà FPGA bay hôi. Hình 1-30. Khaùi nieäm chöùc naêng loõi phaàn cöùng trong FPGA. Hình 1-31. Sô ñoà khoái cuûa caáu truùc LAB cuûa Stratix II vaø ALM Hình 1-32. Sô ñoà khoái ALM cuûa Stratix II. Hình 1-33. Caùc caáu hình coù theå coù cuûa LUT trong ALM ôû kieåu bình thöôøng. Hình 1-34. Môû roäng ALM ñeå taïo ra haøm SOP 7 bieán trong kieåu LUT môû roäng. Hình 1-35. Minh hoïa cho ví duï 1-4. Hình 1-36. Sô ñoà khoái cuûa FPGA Stratic II. 2 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù Hình 1-37. Minh hoïa caùc caáp logic ñònh caáu hình töø teá baøo logic cho ñeán CLB. Hình 1-38. Ví duï caùch duøng chuoãi noái tieáp ñeå môû roäng bieåu thöùc SOP. Hình 1-39. Minh hoïa cho ví duï 1-5. Hình 1-40. Tích hôïp nhieàu chöùc naêng IP. Hình 1-41. Minh hoïa caáu truùc ASMBL cuûa FPGA platform. Hình 1-42. Sô ñoà doøng thieát keá toång quaùt ñeå laäp trình cho SPLD, CPLD hoaëc FPGA. Hình 1-43. Caùc thieát bò cô baûn ñeå laäp trình cho SPLD, CPLD hoaëc FPGA. Hình 1-44. Minh hoïa cho 2 kieåu laäp trình. Hình 1-45. Minh hoïa cho kieåu laäp trình töøng ñoaïn. Hình 1-46. Löu thaønh khoái logic 3. Hình 1-47. Maøn hình soaïn thaûo daïng soùng toång quaùt . Hình 1-48. Thieát laäp caùc daïng soùng ngoõ vaøo. Hình 1-49. Daïng soùng ngoõ vaøo vaø ra khi chaïy moâ phoûng. Hình 1-50. Minh hoïa cho chöùc naêng toång hôïp. Hình 1-51. Sô ñoà maïch vaø danh saùch lieät keâ. Hình 1-52. Minh hoïa cho moâ phoûng thôøi gian. Hình 1-53. Download thieát keá vaøo thieát bò laäp trình. Kyõ thuaät PLD vaø ASIC 3
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù I. GIÔÙI THIEÄU PLD: Hai thaønh phaàn chính cuûa thieát bò logic laäp trình ñôn giaûn SPLD (Simple Programmable Logic Device) laø PAL vaø GAL. PAL töôïng tröng cho logic maûng laäp trình (Programmable Array Logic) vaø GAL töôïng tröng cho logic maûng toång quaùt (Generic Array Logic). Thöôøng thì PAL chæ laäp trình 1 laàn coøn GAL thì cho pheùp laäp trình laïi, tuy nhieân coù nhieàu loaïi SPLD laäp trình laïi vaãn coøn ñöôïc goïi laø PAL. Thuaät ngöõ GAL laø teân do haõng Lattice Semeconductor ñaët vaø sau ñoù thì ñöôïc caáp pheùp cho caùc nhaø saûn xuaát khaùc. Caáu truùc cô baûn cuûa PAL vaø GAL laø maûng AND cho pheùp laäp trình vaø maûng OR coá ñònh toå chöùc theo phöông phaùp toång cuûa caùc tích SOP (Sum-Of-Product). Vôùi CPLD (Complex Programmable Logic Device) ñöôïc tích hôïp töø nhieàu SPLD ñeå coù chöùc naêng maïnh hôn cho caùc thieát keá phöùc taïp. Trong phaàn naøy chuùng ta seõ khaûo saùt hoaït ñoäng cuûa SPLD, phöông phaùp toång cuûa caùc tích ñöôïc duøng trong PAL vaø GAL, giaûi thích ñöôïc sô ñoà logic cuûa PAL/GAL, moâ taû macrocell cô baûn cuûa PAL/GAL, khaûo saùt PAL16V8 vaø GAL22V10, moâ taû CPLD cô baûn. 1. HOAÏT ÑOÄNG CUÛA SPLD CÔ BAÛN LAØ PAL PAL chöùa maûng coång AND laäp trình vaø ñöôïc noái vôùi maûng coång OR coá ñònh. Thöôøng thì PAL duøng coâng ngheä xöû lyù caàu chì neân chæ cho pheùp laäp trình 1 laàn OTP (One-time- Programmable). Caáu truùc PAL cho pheùp thöïc hieän taát caû caùc haøm toång cuûa caùc tích vôùi caùc bieán ñaõ ñöôïc xaùc ñònh. Caáu truùc cuûa moät PAL ñôn giaûn ñöôïc trình baøy nhö hình 1-1 cho 2 bieán ngoõ vaøo vaø 1 bieán ngoõ ra: A B A B X Hình 1-1. Caáu truùc cuûa PAL. Moät maûng laäp trình laø moät ma traän caùc daây daãn goàm caùc haøng vaø caùc coät vaø chuùng coù theå laäp trình ñeå noái vôùi nhau taïi ñieåm giao nhau. Moãi ñieåm noái laäp trình coù caáu taïo laø caàu chì ñoái vôùi loaïi PAL vaø ñöôïc goïi laø moät teá baøo cell. Moãi haøng coù theå noái vôùi moät ngoõ vaøo cuûa coång AND vaø moãi coät laø moät bieán ngoõ vaøo hoaëc bieán phuû ñònh. Baèng caùch laäp trình giöõ nguyeân caàu chì hay phaù hoûng caàu chì thì coù theå taïo ra baát kyø haøm toå hôïp naøo töø caùc bieán ngoõ vaøo ñeå ñöa ñeán coång AND taïo ra caùc thaønh phaàn tích mong muoán. Caùc coång AND ñöôïc keát noái vôùi coång OR ñeå taïo neân caùc haøm ngoõ ra toång cuûa caùc tích. Ví duï 1: Moät PAL ñöôïc laäp trình nhö hình 1-2 ñeå taïo ra thaønh phaàn AB , AB vaø AB . Trong hình 1-2 ta coù theå nhìn thaáy moät soá caáu chì bò phaù hoûng vaø moät soá caàu chì coøn nguyeân ñeå 4 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù keát noái caùc bieán ngoõ vaøo vôùi caùc ngoõ vaøo cuûa caùc coång AND taïo ra haøm tích theo yeâu caàu vaø sau cuøng laø haøm toång cuûa caùc tích: X AB AB AB A B A B X=AB+AB+AB Hình 1-2. PAL sau khi laäp trình ñeå taïo haøm. 2. HOAÏT ÑOÄNG CUÛA SPLD CÔ BAÛN LAØ GAL GAL veà cô baûn chính laø PAL coù theå laäp trình ñöôïc, GAL coù toå chöùc AND/OR gioáng nhö PAL nhöng söï khaùc nhau cô baûn laø GAL duøng coâng ngheä xöû lyù cho pheùp laäp trình laïi gioáng nhö EEPROM thay cho caàu chì ñöôïc trình baøy nhö hình 1-3. Hình 1-3. Caáu truùc cuûa GAL. 3. KÍ HIEÄU ÑÔN GIAÛN CHO SÔ ÑOÀ CUÛA PAL/GAL Caùc thieát bò laäp trình PAL vaø GAL coù caùc coång logic AND vaø OR vaø theâm moät soá phaàn töû khaùc cuøng vôùi caùc bieán ngoõ vaøo vaø caùc bieán phuû ñònh. Haàu heát caùc PAL vaø GAL ñeàu coù sô ñoà kí hieäu ñôn giaûn nhö hình 1-4: Caùc bieán ngoõ vaøo cuûa PAL hoaëc GAL thöôøng coù maïch ñeäm ñeå ngaên chaën quaù taûi khi coù quaù nhieàu coång AND noái tôùi ngoõ vaøo ñoù. Trong sô ñoà, khoái ñeäm laø khoái tam giaùc vöøa ñeäm tín hieäu ngoõ vaøo vaø ñaûo tín hieäu ñeå taïo ra bieán phuû ñònh cuûa tín hieäu ñoù. PAL vaø GAL ñeàu coù moät löôïng raát lôùn caùc ñöôøng laäp trình keát noái beân trong vaø moãi coång AND coù nhieàu ngoõ vaøo. Thöôøng thì trong sô ñoà maïch cuûa PAL vaø GAL thay coång AND nhieàu Kyõ thuaät PLD vaø ASIC 5
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù ngoõ vaøo baèng coång AND chæ coù moät ñöôøng ngoõ vaøo cho goïn nhöng treân ñoù coù ghi soá löôïng ngoõ vaøo thöïc cho coång AND ñoù. Trong hình 1-4 thì moãi coång AND ñeàu coù 2 ngoõ vaøo. Input lines Input buffer A A B B A Fix connection B 2 Product X=AB+AB+AB term 2 lines 2 Fuse blown Fuse intact (noconnection) (connection) Hình 1-4. Kí hieäu ñôn giaûn cho PAL/GAL. Ñieåm noái laäp trình naèm trong ma traän ñöôïc xaùc ñònh baèng daáu × naèm treân caùc ñöôøng giao nhau vaø caàu chì seõ ñöôïc giöõ nguyeân, coøn caùc ñieåm khoâng coù ñaùnh daáu × thì caàu chì seõ bò phaù hoûng. Hình 1-4 cuûa ví duï ôû treân ñöôïc laäp trình ñeå taïo ra haøm X AB AB AB . Ví duï 1-2: Haõy veõ sô ñoà maïch cho moät PAL ñaõ laäp trình ñeå taïo ra haøm coù 3 bieán ngoõ vaøo nhö sau: X ABC ABC AB AC Giaûi: Sô ñoà maïch cuûa PAL nhö hình 1-5: AA BB CC A B C X=ABC+ABC+AB+AC 3 3 3 3 Hình 1-5. Hình cho ví duï 1-1. 4. SÔ ÑOÀ KHOÁI TOÅNG QUAÙT CUÛA PAL/GAL Sô ñoà khoái cuûa PAL hoaëc GAL ñöôïc trình baøy ôû hình 1-6. Neân nhôù raèng söï khaùc nhau cô baûn laø GAL coù maûng cho pheùp laäp trình laïi coøn PAL thì chæ laäp trình moät laàn. Caùc ngoõ ra cuûa maûng coång AND laäp trình ñöôïc ñöa ñeán caùc coång OR coá ñònh ñaõ ñöôïc keát noái ñeå taïo caùc haøm logic ngoõ ra. Coång OR keát hôïp vôùi haøm logic ngoõ ra thöôøng ñöôïc goïi laø macrocell. 5. MACROCELL Moät macrocell goàm moät coång OR vaø caùc haøm logic ngoõ ra keát hôïp. Möùc ñoä phöùc taïp cuûa macrocell tuyø thuoäc vaøo thieát bò cuï theå PAL hoaëc GAL. Moät macrocell coù theå ñöôïc ñònh caáu hình cho moät haøm toå hôïp, haøm thanh ghi hoaëc cho caû hai. Haøm thanh ghi coù lieân quan ñeán flip flop chính vì theá trong macrocell cuõng coù flip flop ñeå taïo ra caùc haøm tuaàn töï. 6 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù Macrocell Or array I1 OR Output I2 Programmable GATE logic O1 I3 logic array PAL: one time OR Output programmable GATE logic O2 GAL: reprogrammable OR Output logic O3 GATE In-1 OR Output In logic Om GATE Hình 1-6. Sô ñoà khoái cuûa PAL/GAL. Hình 1-7 trình baøy 3 loaïi macrocell cô baûn vôùi caùc haøm toå hôïp. Tristate control Tristate control From Output/input From output and gate array and gate array (a) (b) Tristate control From Output/input and gate array Programmable fuse (c) Hình 1-7. Sô ñoà maïch caùc Macrocell. Hình 1-7a trình baøy moät macrocell ñôn giaûn vôùi moät coång OR vaø moät coång ñaûo ba traïng thaùi. Ngoõ ra cuûa coång ñaûo ba traïng thaùi coù theå hoaït ñoäng taïo ra möùc HIGH, möùc LOW vaø traïng thaùi toång trôû cao xem nhö hôû maïch. Hình 1-7b trình baøy moät macrocell coù theå hoaït ñoäng nhö ngoõ vaøo hoaëc ngoõ ra. Kyõ thuaät PLD vaø ASIC 7
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù Khi ngoõ vaøo ñöôïc duøng nhö ngoõ ra thì coång ñaûo phaûi ôû traïng thaùi toång trôû cao ñeå hôû maïch vaø tín hieäu töø beân ngoaøi ñöa ñeán boä ñeäm vaø keát noái vôùi maûng coång AND beân trong. Hình 1-7c trình baøy moät macrocell coù theå laäp trình ñeå coù ngoõ ra tích cöïc möùc HIGH hoaëc möùc tích cöïc möùc LOW vaø cuõng coù theå söû duïng nhö ngoõ vaøo. Moät ngoõ vaøo cuûa coång XOR (ex- or) coù theå ñöôïc laäp trình ôû möùc HIGH hoaëc möùc LOW. Khi laäp trình ngoõ vaøo coång XOR ôû möùc HIGH thì tín hieäu ngoõ ra cuûa coång OR seõ bò ñaûo vì : 0 1 1 vaø 1 1 0 . Töông töï khi laäp trình ngoõ vaøo coång XOR ôû möùc LOW thì tín hieäu ngoõ ra coång OR khoâng bò ñaûo vì: 0 0 0 vaø 1 0 1. 6. CAÙC SPLD THÖÏC TEÁ Thöôøng thì hình daïng voû cuûa SPLD coù caáu hình chaân naèm trong khoaûng töø 20 ñeán 28 chaân. Coù 2 thaønh phaàn giuùp chuùng ta choïn PAL hoaëc GAL moät caùch thích hôïp cho caùc thieát keá logic ñaõ cho laø soá löôïng ngoõ vaøo vaø ngoõ ra cuøng vôùi soá löôïng coång logic. Moät vaøi thoâng soá khaùc caàn phaûi xem xeùt laø taàn soá hoaït ñoäng cöïc ñaïi, thôøi gian treå vaø nguoàn ñieän aùp cung caáp. 7 I1 Macrocell O1 I2 7 Macrocell I/O1 I3 7 Macrocell I/O2 I4 Programmable logic array 7 Macrocell I/O3 I5 7 I6 Macrocell I/O4 I7 7 Macrocell I/O5 I8 7 Macrocell I/O6 I9 7 Macrocell O2 I10 Hình 1-8. Sô ñoà khoái PAL16V8. 8 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù Hình 1-8. Sô ñoà khoái vaø hình daïng voû cuûa PALCE16V8. Caùc nhaø saûn xuaát Lattice, Actel, Atmel vaø Cypress laø caùc coâng ty saûn xuaát SPLD. Caùc loaïi PAL vaø GAL thöôøng söû duïng laø PAL16V8 vaø GAL22V10. Caùc maõ soá cho bieát soá löôïng ngoõ vaøo, soá löôïng ngoõ ra vaø loaïi ngoõ ra logic. Ví duï: PAL16V8 seõ cho bieát thieát bò naøy coù 16 ngoõ vaøo, 8 ngoõ ra vaø ngoõ ra laø bieán (V: variable). Chöõ H hoaëc chöõ L coù nghóa laø ngoõ ra tích cöïc möùc HIGH hoaëc möùc LOW töông öùng. Sô ñoà khoái cuûa PAL16V8 vaø hình daïng voû ñöôïc trình baøy ôû hình 1-8. Kyõ thuaät PLD vaø ASIC 9
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù Moãi macrocell coù 8 ngoõ vaøo laáy töø maûng coång AND neân coù theå coù tôùi 8 thaønh phaàn tích cho moãi ngoõ ra. Coù 10 ngoõ vaøo kí hieäu laø I, 2 ngoõ ra kí hieäu laø O vaø 6 chaân coù theå ñöôïc duøng nhö laø ngoõ vaøo hoaëc ngoõ ra vaø kí hieäu laø I/O. Moãi ngoõ ra tích cöïc möùc LOW. PAL16V8 coù maät ñoä tích hôïp khoaûng 300 coång. Sô ñoà khoái cuûa GAL 22V10 vaø hình daïng voû nhö hình 1-9. GAL naøy coù 12 ngoõ vaøo vaø 10 chaân coù theå söû duïng nhö ngoõ vaøo hoaëc ngoõ ra. Caùc macrocell coù caùc ngoõ vaøo keát noái vôùi maûng coång AND coù theå thay ñoåi soá löôïng keát noái töø 8 ñeán 16. GAL 22V10 coù maät ñoä tích hôïp khoaûng 500 coång. I1 8 Macrocell I/O1 I2 10 Macrocell I/O2 I3 12 Macrocell I/O3 I4 Programmable logic array 14 I5 Macrocell I/O4 I6 16 Macrocell I/O5 I7 16 Macrocell I/O6 I8 14 Macrocell I/O7 I9 12 Macrocell I/O8 I10 10 I11 Macrocell I/O9 I12 8 Macrocell I/O10 Hình 1-9. Sô ñoà khoái cuûa GAL22V10. 10 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù Hình 1-9. Sô ñoà khoái cuûa GAL22V10. 7. CAÙC CPLD Moät CPLD chöùa nhieàu maûng SPLD vôùi keát noái beân trong cho pheùp laäp trình nhö hình 1-10. Kyõ thuaät PLD vaø ASIC 11
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù Chuùng ta xem moãi maûng SPLD trong CPLD laø moät khoái maûng logic LAB (Logic Array Block). Moät teân khaùc ñoâi khi cuõng ñöôïc duøng laø khoái chöùc naêng, khoái logic hoaëc khoái toång quaùt. Caùc keát noái laäp trình beân trong thöôøng ñöôïc goïi laø PIA (Programmable Interconnect Array) nhöng moät soá nhaø cheá taïo nhö Xilinx duøng thuaät ngöõ AIM (Advance Interconnect Matrix) hoaëc caùc thuaät ngöõ töông töï. Caùc LAB vaø caùc keát noái beân trong ñöôïc laäp trình baèng phaàn meàm. Moät CPLD coù theå ñöôïc laäp trình cho caùc chöùc naêng phöùc taïp döïa vaøo caáu truùc toång cuûa caùc tích cho moãi LAB ñoäc laäp hay chính xaùc hôn laø moãi SPLD. Caùc ngoõ vaøo coù theå keát noái tôùi baát kyø khoái LAB naøo vaø caùc ngoõ ra cuõng coù theå keát noái tôùi baát kyø LAB naøo thoâng qua PIA. Logic Array Logic Array I/O block (LAB) block (LAB) I/O SPLD SPLD Logic Array Logic Array I/O block (LAB) block (LAB) I/O PIA SPLD SPLD Programmable Interconnect Logic Array array Logic Array I/O block (LAB) block (LAB) I/O SPLD SPLD Logic Array Logic Array I/O block (LAB) block (LAB) I/O SPLD SPLD Hình 1-10. Sô ñoà khoái cuûa CPLD toång quaùt. Haàu heát caùc nhaø cheá taïo ra moät chuoãi CPLD ñöôïc saép xeáp theo maät ñoä tích hôïp, coâng ngheä xöû lyù, coâng suaát tieâu thuï, nguoàn cung caáp vaø toác ñoä. Caùc nhaø cheá taïo thöôøng cung caáp maät ñoä CPLD theo caùc thaønh phaàn macrocell hoaëc LAB. Maät ñoä tích hôïp coù theå saép xeáp töø 10 macrocell ñeán 2000 macrocell trong moät voû coù theå leân ñeán vaøi traêm chaân. PLD caøng phöùc taïp thì maät ñoä tích hôïp caøng cao. Moät vaøi CPLD coù theå laäp trình laïi vaø duøng coâng ngheä xöû lyù EEPROM hoaëc SRAM cho caùc ñieåm keát noái laäp trình. Coâng suaát tieâu taùn coù theå naèm trong khoaûng töø vaøi mili watt ñeán vaøi traêm mili watt. Nguoàn cung caáp DC thöôøng thì naèm trong khoaûng töø 2,5V ñeán 5V tuyø thuoäc vaøo caùc chæ ñònh cuûa thieát bò. Coù nhieàu nhaø saûn xuaát CPLD nhö Altera, Xilinx, Lattice vaø Cypress. Trong phaàn tieáp theo chuùng ta seõ khaûo saùt caùc CPLD cuûa hai nhaø saûn xuaát laø Altera vaø Xilinx bôûi vì hai coâng ty naøy ñang chieám lónh thò tröôøng. Caùc nhaø cheá taïo khaùc thì cuõng saûn xuaát thieát bò vaø phaàn meàm töông töï. 12 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù II. CPLD CUÛA HAÕNG ALTERA Altera saûn xuaát ra nhieàu hoï CPLD nhö MAX II, MAX 3000 vaø MAX 7000. Trong phaàn naøy chæ trình baøy chuû yeáu hoï MAX 7000. Sau khi hoaøn taát phaàn naøy thì baïn coù theå: moâ taû ñöôïc hoï CPLD MAX, thaûo luaän veà caáu truùc cuûa CPLD MAX 7000 vaø CPLS MAX II, giaûi thích caùch taïo caùc thaønh phaàn tích ñöôïc taïo ra trong CPLD. 1. CPLD MAX 7000 Caáu truùc cuûa CPLD laø caùch thöùc maø caùc thaønh phaàn beân trong ñöôïc toå chöùc vaø ñöôïc saép xeáp. Caáu truùc cuûa hoï CPLD MAX 7000 thì gioáng nhö sô ñoà khoái cuûa CLPD toång quaùt ñöôïc trình baøy ôû hình 1-11. CPLD MAX 7000 coù caáu truùc lôùp PAL/GAL ñeå taïo ra caùc haøm SOP. Maät ñoä naèm trong khoaûng töø 2 LAB ñeán 16 LAB tuyø thuoäc vaøo CPLD cuï theå. Neân nhôù laø moät LAB töông ñöông Kyõ thuaät PLD vaø ASIC 13
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù vôùi moät SPLD duøng coâng ngheä xöû lyù EEPROM. Kieåu laäp trình trong heä thoáng ISP (In-System Programmable) duøng giao tieáp chuaån JTAG. Hình 1-11. Caáu truùc CPLD MAX 7000. Hình 1-11 trình baøy sô ñoà khoái toång quaùt CPLD hoï MAX 7000 cuûa Altera. Boán khoái LAB ñöôïc trình baøy nhöng soá löôïng coù theå leân ñeán 16 khoái LAB. Moãi khoái LAB coù 16 macrocell, nhieàu khoái LAB ñöôïc keát noái vôùi nhau thoâng qua PIA, PIA laø caáu truùc bus laäp trình toaøn cuïc (cho taát caû caùc LAB) bao goàm caùc ngoõ vaøo coù cuøng chöùc naêng, I/O vaø caùc macrocell. 2. MACROCELL Sô ñoà khoái macrocell ñôn giaûn cuûa hoï MAX 7000 ñöôïc trình baøy trong hình 1-12. Macrocell chöùa moät maûng coång AND laäp trình goàm 5 coång AND, moät coång OR, moät ma traän löïa choïn thaønh phaàn tích ñeå keát noái caùc ngoõ ra cuûa coång AND vôùi coång OR, vaø logic keát hôïp ñeå coù theå laäp trình cho ngoõ vaøo, ngoõ ra logic toång hôïp hoaëc ngoõ ra thanh ghi dòch. Maëc duø vaãn duøng cuøng moät khaùi nieäm nhöng macrocell naøy khaùc vôùi macrocell ñaõ trình baøy ôû phaàn SPLD bôûi vì noù coù maûng coång AND laäp trình vaø ma traän löïa choïn thaønh phaàn tích. Trong hình 1-12 coù 5 coång AND taïo ra caùc thaønh phaàn tích töø PIA vaøo ma traän löïa choïn thaønh phaàn tích. Thaønh phaàn tích töø coång AND naèm döôùi cuøng coù theå ñöôïc hoài tieáp trôû laïi ma traän laäp trình xem nhö phaàn môû roäng chia seû ñeå söû duïng bôûi caùc macrocell khaùc. Caùc ngoõ vaøo môû roäng song song cho pheùp möôïn caùc thaønh phaàn tích khoâng duøng töø caùc macrocell khaùc ñeå môû roäng bieåu thöùc SOP. Ma traän löïa choïn thaønh phaàn tích laø moät ma traän cuûa caùc keát noái laäp trình ñöôïc duøng ñeå keát noái caùc ngoõ ra ñaõ löïa choïn töø maûng coång AND vaø töø ngoõ vaøo môû roäng ñeán coång OR. 14 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù parallel expanders from other macrocells Product term Associated To I/O selection logic control matrix block share expander 36 lines from 15 expander PIA product terms from other macrocells Hình 1-12. Sô ñoà khoái macrocell ñôn giaûn cuûa MAX 7000. 3. KHOÁI MÔÛ ROÄNG CHIA SEÛ Buø cuûa thaønh phaàn tích ñöôïc duøng ñeå taêng soá löôïng thaønh phaàn tích trong bieåu thöùc SOP thì coù theå duøng ñöôïc cho moãi macrocell trong LAB. Hình 1-13 minh hoaï caùch thöùc thaønh phaàn môû chia seû töø macrocell khaùc coù theå ñöôïc duøng ñeå thieát laäp theâm caùc thaønh phaàn tích. Trong tröôøng hôïp naøy moät trong 5 coång AND trong 1 maûng macrocell bò giôùi haïn, chæ coù 4 ngoõ vaøo vaø do ñoù coù theå taïo ra 1 thaønh phaàn tích coù 4 bieán khaùc nhau ñöôïc minh hoïa trong hình (a). Hình (b) trình baøy phaàn môû roäng cho 2 thaønh phaàn tích. A A B B C ABCD C ABC(E+F)=ABCE+ABCF D E+F EF product terms from other macrocell in the same LAB a. Coång and taïo 1 tích 4 bieán b. Cuøng coång not taïo 2 tích Kyõ thuaät PLD vaø ASIC 15
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù Hình 1-13. Ví duï caùch môû roäng. Moãi macrocell cuûa MAX 7000 coù theå taïo ra 5 thaønh phaàn tích töø maûng coång AND. Neáu 1 macrocell caàn nhieàu hôn 5 thaønh phaàn tích cho haøm ngoõ ra SOP thì noù phaûi duøng theâm thaønh phaàn môû roäng töø macrocell khaùc. Giaû söû thieát keá caàn bieåu thöùc SOP chöùa 6 thaønh phaà n tích. Hình 1-14 trình baøy caùch thaønh phaàn tích töø macrocell khaùc coù theå ñöôïc duøng ñeå taêng bieåu thöùc SOP ngoõ ra. Macrocell 1 Product term Associated selection logic matrix ABCD+ABCD+ABCD +ABCD+ABCE+ABCF EF expander term Macrocell 2 Product term Associated selection logic ABCD+ABCD+ABCF matrix EF expander (E+F) term to macrocell 1 A B C D E F Hình 1-14. Minh hoïa cho vieäc chia seû. Macrocell thöù 2 taïo ra thaønh phaàn môû roäng chia seû ( E F ) ñöôïc noái ñeán coång AND thöù 5 trong macrocell thöù 1 ñeå taïo ra bieåu thöùc SOP vôùi 6 thaønh phaàn tích. Caùc daáu keát noái × ñöôïc taïo ra trong phaàn cöùng töø chöông trình thieát keá vaø phaàn meàm bieân dòch roài naïp vaøo chip. 4. KHOÁI MÔÛ ROÄNG SONG SONG ABCD+ABCD+EFGH Parallel expander term A B C ABCD+EFGH+ ABCD+ABCD+EFGH D E F G H Hình 1-15. Minh hoïa cho boä môû roäng song song. Moät phöông phaùp khaùc ñeå taêng soá löôïng caùc thaønh phaàn tích cho moät macrocell baèng caùch duøng boä môû roäng song song – trong noù caùc thaønh phaàn tích môû roäng ñöôïc OR vôùi caùc thaønh phaàn ñöôïc taïo ra macrocell thay vì duøng keát hôïp trong ma traän AND nhö ôû boä môû roäng chia seû. Moät macrocell ñaõ cho coù theå möôïn caùc thaønh phaàn tích khoâng duøng töø caùc macrocell laân caän (coù 16 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù theå leân ñeán 5 thaønh phaàn töø caùc macrocell khaùc ñoái vôùi MAX 7000). Khaùi nieäm naøy ñöôïc minh hoïa nhö hình 1-15 trong ñoù maïch ñieän ñôn giaûn ñöôïc taïo ra töø 2 thaønh phaàn tích möôïn theâm 3 thaønh phaàn tích môû roäng. Macrocell 1 ABCD+ABCD+ABCF Product term Associated selection logic matrix Parallel expander terms loan to macrcell 2 Macrocell 2 ABCD+ABCD+ABCD +ABCD+ABCE +ABCD+ABCD+ABCF Product term Associated selection logic matrix A B C D E F Hình 1-16. Minh hoïa cho boä môû roäng song song töø macrocell khaùc. Hình 1-16 trình baøy caùch moät macrocell coù theå möôïn caùc thaønh phaàn môû roäng song song töø macrocell khaùc ñeå taêng bieåu thöùc ngoõ ra SOP. Macrocell thöù 2 duøng 3 thaønh phaàn tích töø macrocell thöù 1 ñeå taïo ra bieåu thöùc SOP goàm 8 thaønh phaàn. 5. CPLD MAX I IOEs IOEs IOEs Logic element Logic element Logic element Logic element Logic element Logic element IOEs Logic element Logic element Logic element Logic element Logic element Logic element Logic element Logic element Logic element IOEs Logic element Logic element Logic element Hình 1-17. Sô ñoà khoái cuûa MAX II. Kyõ thuaät PLD vaø ASIC 17
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù Caáu truùc cuûa CPLD MAX II khaùc vôùi hoïc MAX 7000 vaø ñöôïc Altera goïi laø CPLD “Post- macrocell”. Sô ñoà khoái hình 1-17, thieát bò naøy chöùa caùc khoái LAB cuøng vôùi nhieàu thaønh phaàn logic LE (Logic Elements). Moät LE laø moät ñôn vò thieát keá logic cô baûn vaø töông töï nhö macrocell. Keát noái beân trong coù theå laäp trình ñöôïc saép xeáp theo haøng vaø coät chaïy giöõa caùc LAB vaø caùc phaàn töû ngoõ vaøo/ngoõ ra (IOE: Input/Output Elements) ñöôïc ñònh höôùng xung quanh. Caáu truùc cuûa hoï CPLD naøy gioáng nhö FPGA – coù theå xem MAX II laø FPGA coù maät ñoä thaáp. Söï khaùc nhau giöõa CPLD MAX II vaø caùc CPLD thieát keá töø SPLD laø caùch xaây döïng moät haøm logic. CPLD MAX II söû duïng caùc baûng tra LUT (Look-Up Tables) thay cho ma traän AND/OR. Moät LUT veà cô baûn laø loaïi boä nhôù coù theå laäp trình ñeå taïo ra caùc haøm SOP. Hai phöông phaùp naøy ñöôïc minh hoïa nhö hình 1-18. 0 A0 A1 A2 A0 1 An-1 A1 0 1 SOP A2 LUT 1 output SOP output An-1 Loaïi duøng LUT. Loaïi duøng logic maûng AND/OR Hình 1-18. Phaân bieät 2 kieåu xaây döïng haøm. Nhö ñaõ ñeà caäp CPLD MAX II coù caùch saép xeáp haøng/coät cuûa caùc keát noái beân trong thay cho caùch keát noái beân trong theo loaïi keânh coù trong haàu heát caùc CPLD. Coù 2 phöông phaùp ñöôïc minh hoïa trong hình 1-19. LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB Keát noái beân trong duøng haøng/coät Keát noái theo kieåu keânh Hình 1-19. Phaân bieät 2 kieåu keát noái. Haàu heát caùc CPLD duøng coâng ngheä xöû lyù khoâng bay hôi cho caùc ñieåm noái laäp trình. Tuy nhieân MAX II duøng coâng ngheä xöû lyù nhö SRAM neân chuùng coù theå bay hôi – taát caû caùc logic ñaõ 18 Kyõ thuaät PLD vaø ASIC
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc. SPKT – Nguyeãn Ñình Phuù laäp trình seõ maát heát khi maát ñieän. Boä nhôù ñöôïc gaén vaøo beân trong chip ñeå löu tröõ döõ lieäu chöông trình duøng coâng ngheä boä nhôù khoâng bay hôi vaø seõ ñònh caáu hình laïi cho CPLD khi coù ñieän. III. CPLD CUÛA HAÕNG XILINX: Cuõng gioáng nhö Altera, Xilinx saûn xuaát ra caùc hoï CPLD ñöôïc saép xeáp theo maät ñoä tích hôïp, coâng ngheä xöû lyù, ñieän aùp nguoàn cung caáp vaø toác ñoä. Xilinx cheá taïo ra nhieàu hoï CPLD nhö Cool Runner II, Cool Runner XPLA3 vaø XC9500. Hoï XC9500 thì coù caáu truùc gioáng nhö hoï CPLD MAX 7000 cuûa Altera söû duïng caáu truùc loaïi PAL/GAL. Trong phaàn naøy chuùng ta chæ phaân tích Cool Runner II. Sau khi keát thuùc phaàn naøy baïn coù theå: moâ taû PLA vaø so saùnh vôùi PAL, thaûo luaän veà caáu truùc CPLD Cool Runner II vaø moâ taû caùc khoái chöùc naêng. 1. PLA (PROGRAMMABLE LOGIC ARRAY) Nhö ñaõ trình baøy, caáu truùc cuûa CPLD laø caùch maø caùc thaønh phaàn beân trong ñöôïc toå chöùc vaø saép xeáp. Caáu truùc cuûa hoï Cool Runner II cuûa Xilinx thì döïa vaøo caáu truùc maûng logic laäp trình PLA (Programmable Logic Array) toát hôn caáu truùc PAL (Programmable Array Logic). Hình 1- 20 so saùnh caáu truùc PAL vôùi caáu truùc PLA ñôn giaûn. A A B AB+AB+AB+AB B AB+AB AB+AB AB+AB AB+AB (a) PAL type array (b) PLA type array Hình 1-20. So saùnh PAL vôùi PLA. Nhö ñaõ trình baøy, PAL coù maûng coång AND laäp trình vaø theo sau laø maûng coång OR coá ñònh ñeå taïo ra caùc bieåu thöùc SOP nhö hình 1-20a. PLA coù maûng coång AND laäp trình vaø theo sau laø maûng coång OR laäp trình nhö hình 1-20b. 2. COOLRUNNER I CPLD Cool Runner II duøng loaïi caáu truùc PLA. Cool Runner II coù nhieàu khoái chöùc naêng FB (Function Block) töông töï nhö LAB trong CPLD MAX 7000 cuûa Altera. Moãi khoái chöùc naêng FB chöùa 16 macrocell. Caùc khoái chöùc naêng ñöôïc keát noái beân trong bôûi moät ma traän keát noái beân trong caûi tieán AIM töông töï nhö PIA trong MAX 7000. Sô ñoà caáu truùc cô baûn cho Cool Runner II ñöôïc trình baøy ôû hình 1-21. Kyõ thuaät PLD vaø ASIC 19
- Chöông 1. Giôùi thieäu caùc caáu truùc laäp trình ñöôïc SPKT – Nguyeãn Ñình Phuù Hình 1-21. Sô ñoà caáu truùc cuûa Cool runner II. Sô ñoà khoái CPLD cuûa Xilinx vaø cuûa Altera gaàn nhö laø gioáng nhau tuy nhieân beân trong thì khaùc nhau. CPLD hoï Cool Runner II chöùa töø 32 macrocell ñeán 512 macrocell. Do coù 16 macrocell cho moãi khoái chöùc naêng, soá löôïng khoái chöùc naêng naèm trong khoaûng töø 2 ñeán 32. Sô ñoà khoái cuûa moät khoái chöùc naêng FB ñöôïc trình baøy nhö hình 1-22. 20 Kyõ thuaät PLD vaø ASIC
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Access và ứng dụng - Chương 1
12 p | 470 | 257
-
Giáo trình Cấu trúc dữ liệu và Giải thuật - Chương 1: Giới thiệu
16 p | 211 | 84
-
Chương 1: Giới thiệu thuật toán vẽ và tô các đường cơ bản
159 p | 305 | 73
-
Bài giảng Computer Networking: A top down approach - Chương 1: Giới thiệu
75 p | 187 | 39
-
Bài giảng VB.net - Chương 1: Giới thiệu về .net
0 p | 173 | 31
-
Bài giảng Hệ điều hành Linux - Chương 1: Giới thiệu Hệ điều hành Linux
54 p | 193 | 21
-
Bài giảng Chuyên đề Java: Chương 1 - Nguyễn Hoàng Anh
17 p | 138 | 17
-
Bài giảng An toàn và bảo mật thông tin - Chương 1: Giới thiệu tổng quan về an toàn và bảo mật thông tin
19 p | 155 | 14
-
Bài giảng Phát triển web nâng cao - Bài 1: Giới thiệu ASP.NET
42 p | 90 | 13
-
Chương 1: Giới thiệu thuật toán vẽ và tô các đường cơ bảnLời nói
159 p | 93 | 13
-
Bài giảng Tin học đại cương (Introduction to Informatics) - Chương 0: Giới thiệu môn học
5 p | 14 | 7
-
Bài giảng học phần Lập trình nâng cao: Chương 1 - Giới thiệu chung
68 p | 55 | 6
-
Bài giảng Lập trình căn bản - Chương 1 (phần 1): Giới thiệu về cấu trúc dữ liệu và giải thuật
26 p | 69 | 5
-
Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu
51 p | 78 | 3
-
Bài giảng Data Visualization - Chương 1: Giới thiệu về ngôn ngữ R
16 p | 41 | 3
-
Bài giảng Hệ cơ sở dữ liệu - Chương 1: Giới thiệu về cơ sở dữ liệu
116 p | 92 | 3
-
Giới thiệu về Liquid Motion 1.0 - Sử dụng Liquid Motion 1.0: Chương 1
6 p | 81 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn