เอฟพีจีเอ

จากวิกิพีเดีย สารานุกรมเสรี
ไบยังการนำทาง ไปยังการค้นหา
An Altera FPGA with 20,000 cells.

เอฟพีจีเอ หรือ อุปกรณ์ลอจิกแบบโปรแกรมได้ (อังกฤษ: field programmable gate array: FPGA) บางครั้งอาจจะมีคนสับสนกับคำว่า flip-chip pin grid array ซึ่งมีโครงสร้างตัวถังคล้ายๆ กัน

FPGA จัดเป็น อุปกรณ์สารกึ่งตัวนำชนิดโปรแกรมได้ที่มีโครงข่ายการเชื่อมต่อภายในแบบแมตริกซ์ โครงสร้างภายในของ FPGA นั้นสามารถโปรแกรมให้มีหน้าที่การทำงานเหมือนลอจิกเกตพื้นฐาน เช่น AND, OR, XOR, NOT หรือรวมกันหลายๆ ชนิด (combinational logic) เพื่อให้ทำหน้าที่ที่มีความซับซ้อนเพิ่มขึ้น เช่น decoders หรือฟังก์ชันทางตณิตศาสตร์ ใน FPGAs ทั่วไป นอกจากจะประกอบด้วยส่วนของวงจรลอจิกแบบโปรแกรมได้แล้ว จะยังมีบล็อกของหน่วยความจำ ซึ่งอาจจะสร้างด้วยฟลิบฟลอปอย่างง่าย หรือใช้พื้นที่ของสารกึ่งตัวนำสร้างเป็นหน่วยความจำจริงๆ อยู่ภายในก็ได้

ในการออกแบบวงจรดิจิตอลอิเล็กทรอนิกส์ ที่มี FPGA อยู่บนแผงวงจรด้วยนั้น จะช่วยให้ผู้ออกแบบสามารถลดขนาดของแผงวงจร รวมทั้งสามารถออกแบบได้รวดเร็ว ไม่ต้องทดสอบรายละเอียดภายในให้เสร็จสมบูรณ์ 100 % ก็สามารถออกแบบแผงวงจรได้ เมื่อได้รับแผงวงจรและประกอบอุปกรณ์ต่างๆ เสร็จแล้ว จึงค่อยกำหนดหน้าที่การทำงานของ FPGA ได้ในภายหลัง ต่างจากการออกแบบด้วยลอจิกเกตขนาดเล็ก ที่ต้องออกแบบทางเดินของลายทองแดงให้เสร็จสมบูรณ์ก่อน และไม่สามารถแก้ไขได้ในภายหลัง นอกจากนี้ การใช้งาน FPGA สามารถโปรแกรมการทำงานได้ในทุกขณะแม้แต่ขณะที่ส่งมอบงานแล้ว ก็ยังสามารถเข้าไปแก้ไขวงจรได้โดยง่ายดาย จึงเป็นที่มาของคำว่า "field programmable" ซึ่งก็หมายถึงโปรแกรมได้ในภาคสนามหรือที่หน้างานนั่นเอง อย่างไรก็ตามข้อกำหนด (Configuration) ของ FPGA จะหายไปหลังจากปิดไฟเลี้ยง ดังนั้น จะต้องมีหน่วยความจำภายนอก (Flash) มาคอยรักษาข้อกำหนดของ FPGA ไว้ ซึ่ง FPGA จะมีกระบวนการอ่านข้อกำหนดนั้นโดยอัตโนมัติหลังจากได้รับไฟเลี้ยง

การทำงานของ FPGAs จะยังมีความเร็วที่ด้อยกว่าapplication-specific integrated circuit (ASIC) , และเมื่อเปรียบเทียบขนาดทางกายภาพ พบว่าจะมีความหนาแน่นของวงจรที่น้อยกว่า รวมทั้งใช้กำลังงานมากกว่า ASIC อย่างไรก็ตาม FPGA มีข้อได้เปรียบตรงที่ใช้เวลาในการพัฒนาผลิตภัณฑ์ (time to market) ที่น้อยกว่า สามารถแก้ไขวงจรได้หลังจากที่ใช้งานจริงในภาคสนาม ,และมีค่าแรงในการดำเนินการที่ต่ำกว่า (non-recurring engineering) . นอกจากนี้ ยังมี FPGA ชนิดที่โปรแกรมได้ครั้งเดียว (OTP) ซึ่งมีราคาที่ต่ำกว่าโดย FPGA ชนิดนี้เมื่อโปรแกรมแล้วจะคล้ายกับ ASIC นอกจากนี้ยังมีการรวมหน่วยความจำ config เข้าไว้ในอุปกรณ์ FPGA ซึ่งจะยังคงอยู่แม้ปิดไฟเลี้ยง เรียกว่า Complex programmable logic devices [1] (CPLD)