+ All Categories
Home > Documents > บทที่ 9 อุปกรณ์โลจิกแบบโปรแกรมได้...

บทที่ 9 อุปกรณ์โลจิกแบบโปรแกรมได้...

Date post: 10-Jul-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
12
93 บทที6 อุปกรณ์โลจิกแบบโปรแกรมได้ (Programmable Logic Device) 6.1 บทนา จากที่ได้กล่าวถึงพื้นฐานการออกแบบวงจรดิจิตอลโดยใช้ภาษา VHDL มาแล้ว ในบทนี้จะได้กล่าวถึงการ แปลงจากภาษา VHDL ให้กลายเป็นวงจรจริงด้วยอุปกรณ์ ซีพีแอลดี (CPLD) และเอฟพีจีเอ(FPGA) โดยจะเริ่ม จากการทาความเข้าใจเกี่ยวกับตัวอุปกรณ์ซีพีแอลดีและเอฟพีจีเอ ซึ่งต่างก็เป็นวงจรรวมประเภทหนึ่งเสียก่อน วงจรรวม หรือไอซี (IC หรือ Integrated Circuit) นั้นหมายถึง อุปกรณ์อิเล็กทรอนิกส์ที่ประกอบขึ้นจาก การนาเอาสารกึ่งตัวนาที่อยู่ในรูปของไดโอด , ทรานซิสเตอร์ , ตัวต้านทาน, ตัวเก็บประจุ และองค์ประกอบอื่นๆ มาประกอบรวมกันเป็นวงจรบนแผ่นซิลิคอนขนาดเล็ก หรือที่เรียกกันทั่วๆไปว่า ชิพ (Chip)ชิพในปัจจุบันนีสามารถผลิตให้มีความจุเมื่อคิดเป็นจานวนทรานซิสเตอร์แล้วได้หลายล้านตัว เช่น ไมโครโปรเซสเซอร์ จาก ความจุจานวนมหาศาลนี้เองที่ทาให้การผลิตไอซี สามารถผลิตได้เฉพาะเจาะจงตามความต้องการของลูกค้า โดยไม่จาเป็นต้องผลิตเป็นไอซีมาตรฐานเพียงอย่างเดียว ไอซีที่ผลิตในลักษณะเฉพาะเจาะจงนีมีชื่อว่า เอซิค (ASIC หรือ Application-Specific Integrated Circuit) ตัวอย่างของเอซิคที่สามารถพบเห็นได้ทั่วๆไปได้แกไอซีที่ทาเป็นเครื่องคิดเลข หรือไอซีทีทาเป็นเครื่องเล่นเพลง MP3 6.1.1 ประเภทของเอซิค (ASIC) เอซิคจะแบ่งตามการสร้างออกเป็น 2 กลุ่ม คือ Mask Programmable และ Field Programmable ใน กลุ่ม Mask Programmable นี้ยังสามารถแบ่งตามขบวนการผลิตได้เป็น 3 แบบได้แก่ Full-custom Standard-Cell และ Gate-Array แต่ในกลุ่มนี้ไอซีแต่ละเบอร์มีหน้าที่เฉพาะเจาะจงอย่างใดอย่างหนึ่ง การใช้ งานก็เป็นไปตามหน้าที่ของไอซีนั้นๆ ไม่สามารถเปลี่ยนแปลงแก้ไขได้ ดังนั้นผู้ใช้ต้องรู้ก่อนว่ าต้องการใช้ไอซี เพื่อทาหน้าที่ใด แล้วจึงเลือกหาไอซีเบอร์ที่มีหน้าที่นั้นๆ รูปที6-1 วงจรรวมประเภทต่างๆ 6.1.2 เอฟพีแอลดี (FPLD หรือ Field Programmable Logic Device) FPLD หรือบางทีก็เรียกว่า พีแอลดี (PLD หรือ Programmable Logic Device) เอซิคในกลุ่มที2 นีเป็นไอซีแบบโปรแกรมได้โดยผู้ใช้ คือผู้ใช้สามารถจัดวงจรของอุปกรณ์ให้เป็นไปตามที่ต้องการได้ สาหรับใน ปัจจุบันส่วนใหญ่ไอซีประเภทนี้เป็นแบบดิจิตอล ในที่นี้จะกล่าวเฉพาะไอซีแบบลอจิกหรือแบบดิจิตอลเท่านั้น ภายในอุปกรณ์พีแอลดีถูกเตรียมเป็นวงจรพื้นฐานทางด้านลอจิกต่อกันอยู่เป็นกลุ่มมีทั้งวงจรคอมบิเนชั่น (Combination) และแบบซีเควลเชียล (Sequential) เทคโนโลยีของวงจรที่ใช้สร้างพีแอลดีมีทั้ง ทีทีแอล (TTL) อีซีแอล (ECL) และ ซีมอส (CMOS) พีแอลดีแบ่งออกเป็นประเภทใหญ่ๆได้ 2 ประเภทคือ SPLD และ
Transcript

93

บทท 6 อปกรณโลจกแบบโปรแกรมได (Programmable Logic Device)

6.1 บทน า

จากทไดกลาวถงพนฐานการออกแบบวงจรดจตอลโดยใชภาษา VHDL มาแลว ในบทนจะไดกลาวถงการแปลงจากภาษา VHDL ใหกลายเปนวงจรจรงดวยอปกรณ ซพแอลด (CPLD) และเอฟพจเอ(FPGA) โดยจะเรมจากการท าความเขาใจเกยวกบตวอปกรณซพแอลดและเอฟพจเอ ซงตางกเปนวงจรรวมประเภทหนงเสยกอน

วงจรรวม หรอไอซ (IC หรอ Integrated Circuit) นนหมายถง อปกรณอเลกทรอนกสทประกอบขนจากการน าเอาสารกงตวน าทอยในรปของไดโอด, ทรานซสเตอร, ตวตานทาน, ตวเกบประจ และองคประกอบอนๆ มาประกอบรวมกนเปนวงจรบนแผนซลคอนขนาดเลก หรอทเรยกกนทวๆไปวา “ชพ (Chip)” ชพในปจจบนนสามารถผลตใหมความจเมอคดเปนจ านวนทรานซสเตอรแลวไดหลายลานตว เชน ไมโครโปรเซสเซอร จากความจจ านวนมหาศาลนเองทท าใหการผลตไอซ สามารถผลตไดเฉพาะเจาะจงตามความตองการของลกคา โดยไมจ าเปนตองผลตเปนไอซมาตรฐานเพยงอยางเดยว ไอซทผลตในลกษณะเฉพาะเจาะจงน มชอวา เอซค (ASIC หรอ Application-Specific Integrated Circuit) ตวอยางของเอซคทสามารถพบเหนไดทวๆไปไดแกไอซทท าเปนเครองคดเลข หรอไอซทท าเปนเครองเลนเพลง MP3

6.1.1 ประเภทของเอซค (ASIC) เอซคจะแบงตามการสรางออกเปน 2 กลม คอ Mask Programmable และ Field Programmable ในกลม Mask Programmable นยงสามารถแบงตามขบวนการผลตไดเปน 3 แบบไดแก Full-custom Standard-Cell และ Gate-Array แตในกลมนไอซแตละเบอรมหนาทเฉพาะเจาะจงอยางใดอยางหนง การใชงานกเปนไปตามหนาทของไอซนนๆ ไมสามารถเปลยนแปลงแกไขได ดงนนผใชตองรกอนว าตองการใชไอซเพอท าหนาทใด แลวจงเลอกหาไอซเบอรทมหนาทนนๆ

รปท 6-1 วงจรรวมประเภทตางๆ

6.1.2 เอฟพแอลด (FPLD หรอ Field Programmable Logic Device) FPLD หรอบางทกเรยกวา พแอลด (PLD หรอ Programmable Logic Device) เอซคในกลมท 2 น

เปนไอซแบบโปรแกรมไดโดยผใช คอผใชสามารถจดวงจรของอปกรณใหเปนไปตามทตองการได ส าหรบในปจจบนสวนใหญไอซประเภทนเปนแบบดจตอล ในทนจะกลาวเฉพาะไอซแบบลอจกหรอแบบดจตอลเทานน

ภายในอปกรณพแอลดถกเตรยมเปนวงจรพนฐานทางดานลอจกตอกนอยเปนกลมมทงวงจรคอมบเนชน(Combination) และแบบซเควลเชยล (Sequential) เทคโนโลยของวงจรทใชสรางพแอลดมทง ททแอล (TTL) อซแอล (ECL) และ ซมอส (CMOS) พแอลดแบงออกเปนประเภทใหญๆได 2 ประเภทคอ SPLD และ

94

HCPLD ตามรปท 6-2 โดยในกลม HCPLD (High Capacity Programmable Logic Device) เปนกลมทมขนาดความจมากกวากลม SPLD และแบงตามโครงสรางไดเปน 2 แบบ คอ CPLD และ FPGA

รปท 6-2 วงจรรวมแบบโปรแกรมได

6.2 เอสพแอลด (SPLD หรอ Simple Programmable Logic Devices) เอสพแอลดเปนอปกรณไอซทโปรแกรมไดทมโครงสรางแบบงายมขนาดเลก โดยมจ านวนมาโครเซลลไม

เกน 30 มาโครเซลล เอสพแอลดนมชอเรยกอกหลายชอเชน ถาเปนของบรษท Vantis และ Cypress เรยกวา PAL (Programmable Array Logic) ถาเปนของบรษท Lattice เรยกวา GAL (Generic Array Logic) และบางบรษท กมไอซลกษณะเดยวกนนแตเปนอกประเภทหนงเรยกวา PLA (Programmable Logic Array) และ PROM (Programmable Read Only Memory)

วงจรภายในของเอสพแอลด ประกอบดวยชดล าดบการ AND (AND array) และชดล าดบการ OR (OR array) ดงรปท 6-3 ชดล าดบทงสองชดหรอชดใดชดหนง สามารถจดหรอโปรแกรมใหเปนตามทตองการได สญญาณอนพทปอนเขาทชด AND เพอท าเปนฟงกชนการ AND หรอ Product Term หลงจากนนสญญาณกถกสงเขาชดการ OR ดงนนฟงกชนของวงจรจงอยในรปของ SOP (Sum of Product)

ถาจดแบบเอสพแอลด ตามลกษณะการโปรแกรมสามารถแบงออกไดเปน 3 ชนดคอ - พรอม (PROM หรอ Programmable Read Only Memory) - พเอแอล (PAL หรอ Programmable Array Logic) - พแอลเอ (PLA หรอ Programmable Logic Array)

ทงสามชนดนมโครงสรางพนฐานเหมอนกนตางกนตรงสวนทโปรแกรมไดและโปรแกรมไมไดดงรายละเอยดในตารางท 6-1

รปท 6-3 โครงสรางของเอสพแอลด

95

ตารางท 6-1 รปลกษณของอปกรณพแอลดแตละชนด อปกรณ สวนการ AND สวนการ OR พรอม คงท โปรแกรมได พเอแอล โปรแกรมได คงท พแอลเอ โปรแกรมได โปรแกรมได

6.2.1 สญลกษณทใชในวงจร พแอลด เนองจากอปกรณพแอลดมการตอสายเปนจ านวนมากดงนนเพอใหด งายขนจงไดก าหนดลกษณะการตอสายใวตามรปท 6-4 รป (ก) หมายถงจดตอทเปนฟวสสามารถท าใหขาดได สวนรป (ค) เปนจดตอทท าใหขาดไมได รป (ง) เปนสญลกษณของเกตทมหลายอนพท รป (จ) เมออนพทของเกต AND ถกโปรแกรมใหขาด อนพทนนจะมคาโลจกเปน 1 และรป (ฉ) ถาเปนกรณของเกต OR เมออนพทถกโปรแกรมใหขาดท าใหอนพทเปนโลจก 0

รปท 6-4 สญลกษณในวงจรเอสพแอลด

96

6.2.2 พรอม (Programmable Read Only Memory หรอ PROM) โครงสรางของพรอม สามารถโปรแกรมใดในชดล าดบการ OR ในรปท 6 –5 เปนพรอมขนาดอนพท 3

บต และเอาทพท 4 บต

รปท 6-5 พรอมขนาด อนพท 3 บต เอาทพท 4 บต

ตวอยางท 6.1 จงออกแบบโดยใช PROM ในรปท 6-5 ใหท างานไดตามฟงกชน F = A + BC วธท า เนองจากอนพทของการ AND ตอคงท และตองมตวแปรครบทกตวในเทอมท AND กน ดงนนตองเปลยนฟงกชน F ใหอยในรปทแตละเทอมของการ AND มสญญาณอนพทครบทกตว

.

.( . . . . ) ( ) .

. . . . . . . . . .

F A B C

F A B C B C B C B C A A B C

F A B C A B C A B C A B C A B C

จากฟงกชนสามารถน ามาตอลงใน PROM ไดดงรปท 6-4

97

รปท 6-6 PROM ทโปรแกรมเปนฟงกชน F = A + BC

6.2.3 พเอแอล (Programmable Array Logic หรอ PAL)

พเอแอลพฒนาขนโดย John Birkner ท Monolithic Memories Inc. ในป 1676 โครงสรางของพเอแอลโปรแกรมใดในชดล าดบการ AND และตอคงทในชด OR ในรปท 6-7 เปนพเอแอลขนาดอนพท 3 บต และเอาทพท 4 บต

ตวอยางท 6.2 จงออกแบบโดยใชพเอแอลในรปท 6-5 ใหท างานไดตามฟงกชน F = A + BC วธท า เนองจากอนพทของการ AND สามารถโปรแกรมได จะตออนพทกตวกได ดงนนฟงกชนไมจ าเปนตองใหแตละเทอมมสญญาณอนพทครบทกตว สามารถตอเขาไดเลย ดงรปท 6-8

98

รปท 6-7 พเอแอลขนาดอนพท 3 บต และเอาทพท 4 บต

รปท 6-8 พเอแอลทโปรแกรมเปนฟงกชน F = A + BC

99

ตวอยางท 6.3 จงออกแบบวงจรพเอแอลเพอใหท างานตามผงคารโนหในรปท 6-7 โดยใช PAL ในรปท 6-7

วธท า จากผงคารโนหลดทอนฟงกชนไดเปน

1

2 .

3 . . .

4 . .

F A C

F B A C

F B C A B C

F A B B C

เมอโปรแกรมลงในพเอแอลไดวงจรตามรปท 6-9

รปท 6-9 วงจรพเอแอลของ F1 F2 F3 และ F4 6.3 ซพแอลด ( CPLD หรอ Complex programmable Logic Devices )

ซพแอลดจะคลายกบกลมเอสพแอลดมาก เหมอนกบวาน าเอาเอสพแอลดหลายๆตวมาประกอบอย

ดวยกน เชน ซพแอลดตระกล XC6500 ของบรษท Xilinx ทมบลอกไดอะแกรมโครงสรางตามรปท 6-10

100

รปท 6-10 โครงสรางของซพแอลดตระกล XC9500

6.3.1 ซพแอลดตระกล XC9500

ซพแอลดตระกล XC9500 เปนของบรษท Xilinx มโครงสรางตามรปท 6-11 ซงภายในประกอบดวย พเอแอลหลายๆตว ทเชอมตอกนดวยแมตทรกสวช (Switch matrix) และในพเอแอลแตละตว กประกอบดวยสวนของ AND Array ทโปรแกรมได และสวนของ OR array ทตอตายตว ดานเอาทพทเปนกลมวงจรทเรยกวา “มาโครเซล (macrocell)” ในแตละมาโครเซล ประกอบดวย วงจรเกตและฟลปฟลอป ตามรปท 6-12 โดยทวๆไปซพแอลด 1 ตวเทยบเทากบ SPLD 64 ตว หรอถาคดเปนจ านวนมาโครเซล (macrocell) กจะมตงแต 10 ถง 100 มาโครเซล และมกจะจบมาโครเซลตงแต 8 ถง 16 ตวรวมกลมกนเปนหนงกลม

รปท 6-11 โครงสรางของซพแอลดตระกล XC9500

101

รปท 6-12 โครงสรางมาโครเซลของซพแอลด XC9500 ของบรษท Xilinx

ตวอยางคณสมบตทวๆไปของ XC9572

ใชไฟเลยง 5 volt มขนาดความจตงแต 36 ถง 288 macrocells (6400 gates) โปรแกรมไดดวยระบบ In-System Programmable (ISP) โปรแกรมและลบไดไมนอยกวา 10,000 ครง มระบบปองกนการอาน/เขยน แตละขา I/O รบกระแสไฟฟาได 24 mA

6.4 เอฟพจเอ ( FPGA หรอ Field-Programmable Gate Arrays )

เปนอปกรณทถกพฒนาตอจากซพแอลดเพอใหมประสทธภาพการท างาน และมปรมาณความหนาแนนของเกตสงกวา โดยทวๆไปมความจตงแต 1000 เกตจนถง 1000000 เกต สามารถก าหนดฟงกชนการท างานไดความตองการของผใชโดยผานการโปรแกรม ตวอยางสถาปตยกรรมภายในของเอฟพจเอตระกล XC4000 ตามรปท 6-13 ไดแบงสวนส าคญๆออกเปน 3 สวน คอ

CLB (Configuration Logic Block) ใชส าหรบท าเปนวงจรโลจกแบบคอมไบเนชนนอลและ แบบซเควนเชยล

IOB (Input Output Block) เปนกลมโลจกบลอกทท าหนาทส าหรบการเชอมตอกบวงจร ภายนอก

Interconnect ท าหนาทเปนสายไฟทใชเชอมตอโลจกบลอกตางๆเขาดวยกน ทงสามสวนนผใชสามารถโปรแกรมไดวาจะใหมการท างานเปนอยางใร

102

(ก) สถาปตยกรรมของเอฟพจเอตระกล XC4000 ของบรษท Xilinx

(ข) โครงสราง Configuration Block ของ FPGA ตระกล XC4000 ของบรษท Xilinx

(ค) โครงสราง I/O Block ของ FPGA ตระกล XC4000 ของบรษท Xilinx

รปท 6-13 สถาปตยกรรมของเอฟพจเอตระกล XC4000 ของบรษท Xilinx

103

6.5 การออกแบบวงจรโลจกดวยอปกรณซพแอลดและเอฟพจเอ หลงจากไดเขยนรหสของวเอชดแอล แลว เมอจะน ามาสรางเปนวงจรจรงจะมขนตอนคราวๆดงน

รปท 6-14 แผนผงแสดงขนตอนการแปลงจาก VHDL เปนวงจรจรงดวยชพ ซพแอลดและเอฟพจเอ

ขนตอนการสงเคราะห (Synthesize) ขนตอนนเปนการแปลงจากค าสงของวเอชดแอลใหกลายเปน

วงจรระดบ รจสเตอรหรอระดบเกท ผลทไดจากขนตอนนเรยกวา เนทลสต (Netlist) ส าหรบ เนทลสต นสามารถน าไปจ าลองการท างาน (Simulate) เพอดผลการท างานกอนทจะไปสรางเปนวงจรจรงได

ขนตอนการสราง (Implement) เปนขนตอนการแปลงจากวงจรระดบรจสเตอรใหเขากบชพทตองการใช ผลทไดจากขนตอนนจะเปนขอมลบตทใชส าหรบโปรแกรมลงชพตอไป ขอมลนเรยกวา บตสตรม ( Bitstream )

ขนตอนการดาวนโหลด เปนขนตอนการน าเอาบตสตรมบนทกลงในชพทตองการ หลงจากขนตอนนจะไดวงจรทออกแบบใวในรปของไอซ พรอมใหน าไปทดสอบการท างานจรงตอไป

ขนตอนตางๆทกลาวถงมาทงหมดน สามารถกระท าไดโดย ใชโปรแกรมหรอเครองมอ เชน Xilinx

Integrated Software Environment หรอ ISE ของบรษท Xilinx

104

ส าหรบการดาวนโหลดขอมลบตสตรมลงชพนนสามารถศกษาจากคมอของชพเบอรนนๆได ตวอยางวงจรดาวนโหลดขอมลลงชพตระกล XC9500 แสดงอยในรปท 6-15 ซงเปนการดาวนโหลดผานทางพอรทขนาน (พอรทเครองพมพ) ของคอมพวเตอรพซ

รปท 6-15 วงจรดาวนโหลดส าหรบซพแอลดตระกล XC9500 ของบรษท Xilinx

แบบฝกหด 6.1 จงอธบายถงโครงสรางของซพแอลดตระกลอนนอกจากทปรากฏในบทน 6.2 จงอธบายถงโครงสรางของเอฟพจเอตระกลอนนอกจากทปรากฏในบทน


Recommended