ความแตกต่างระหว่าง CPLD และ FPGA ความแตกต่างระหว่าง
999 CPLD vs FPGA CPLDs (Programmable Logic Device) และ FPGAs (Field Programmable Gate Array) เป็นอุปกรณ์ตรรกะสองแบบที่เริ่มเบลอเนื่องจากการปรับปรุงเทคโนโลยีและการนำคุณลักษณะของหนึ่งไปใช้กับอุปกรณ์อื่น ๆ ความแตกต่างหลักระหว่าง FPGAs กับ CPLD คือความซับซ้อนหรือจำนวนประตูลอจิกที่มีอยู่ในแต่ละส่วน แม้ว่าจำนวนจริงอาจแตกต่างกันไปในแต่ละรูปแบบ แต่ CPLD จะมีที่ใดก็ได้จากไม่กี่พันประตูไปจนถึงหมื่น ในการเปรียบเทียบ FPGA มีนับหมื่นถึงไม่กี่ล้าน เนื่องจากความแตกต่างกันอย่างมากในจำนวนประตูคุณจึงสามารถพูดได้ว่าคุณสามารถสร้างตรรกะที่ซับซ้อนขึ้นกับ FPGA มากกว่า CPLD ได้
ข้อได้เปรียบที่สำคัญประการหนึ่งของการมีประตูจำนวนมากคือความสามารถในการมีฟังก์ชั่นระดับสูงฝังอยู่ในชิป แทนที่จะสร้างตัวเอง FPGA บางตัวมีตัวคูณทวีคูณและตัวดำเนินการอื่น ๆ อีกมากมายสำหรับงานทั่วไป โปรแกรมเมอร์สามารถมุ่งเน้นเป้าหมายที่แท้จริงของการออกแบบและไม่ต้องกังวลเกี่ยวกับการใช้ฟังก์ชันดังกล่าว
นอกจากนี้ยังมีข้อแตกต่างกันมากระหว่างสถาปัตยกรรมทั้งสอง FPGA ใช้ LUTs (Look-up Tables) ในขณะที่ CPLD ใช้ผลรวมของผลิตภัณฑ์ที่เรียบง่าย (เรียกอีกอย่างหนึ่งว่า sea of gates) การใช้ LUTs เป็นข้อได้เปรียบเนื่องจากช่วยประหยัดเวลาในการประมวลผลเนื่องจากชิปไม่จำเป็นต้องผ่านกระบวนการคำนวณผลรวมของผลิตภัณฑ์ตามที่ CPLD ทำ LUT ยังให้การเชื่อมต่อระหว่างโมดูล FPGA ภายในที่มีความยืดหยุ่นมากกว่าที่ CPLD สามารถทำได้
ข้อแตกต่างที่สำคัญที่สุดระหว่างสองคือหน่วยความจำไม่ระเหย LUTs เป็นรูปแบบของหน่วยความจำ แต่จะไม่เกิดขึ้นเมื่อถอดสายไฟแล้ว CPLD มีหน่วยความจำแบบไม่ระเหยซึ่งฝังอยู่ในชิปทำให้สามารถทำงานได้ทันทีโดยไม่จำเป็นต้องใช้รอมภายนอก CPLD จะถูกนำมาใช้เพื่อทำหน้าที่เป็น "บูตโหลด" สำหรับ FPGAs ดังที่กล่าวมาแล้วในตอนต้นของบทความนี้บรรทัดระหว่างคุณลักษณะเริ่มเบลอ เพื่อลดความต้องการ "boot loaders" ผู้ผลิต FPGA ได้เริ่มฝังหน่วยความจำที่ไม่ระเหยไปไว้ในชิพ FPGA ของพวกเขา จึงทำให้คุณลักษณะนี้มีทั้ง CPLD และ FPGA บางตัว
1. FPGA มีความซับซ้อนกว่า CPLDs
2 FPGA มีฟังก์ชันฝังตัวสูงกว่า CPLDs3 FPGA ใช้ตาราง look-up ขณะที่ CPLD ใช้ผลิตภัณฑ์รวมกัน
4 CPLD มีหน่วยความจำไม่ระเหยในขณะที่ FPGA ไม่ได้