CPLD และ FPGA แตกต่างกันอย่างไร [ปิด]


10

CPLD และ FPGA แตกต่างกันอย่างไร


1
CPLD ใช้เงื่อนไขผลิตภัณฑ์เท่านั้น (และหนึ่ง DFF ต่อขาออก); FPGA มีบล็อกที่กำหนดค่าได้ภายในของ LUT, ตัวพกพา / shift, DFF รวมถึงการกำหนดเส้นทางที่ยืดหยุ่นมากขึ้น, บล็อก RAM และบล็อกพิเศษอื่น ๆ เช่น PLL หรือ MAC
MarkU

1
... และโดยปกติ CPLDs จะใช้หน่วยความจำแบบไม่ลบเลือนเพื่อเก็บการตั้งค่าในขณะที่ FPGA ใช้หน่วยความจำแบบระเหย (RAM) นั่นคือ FPGA ต้องเริ่มต้นทุกครั้งหลังจากเปิดเครื่อง
นมเปรี้ยว

6
คำตอบพร้อมใช้งานโดยใช้ Google - คำถามควรปิด
Leon Heller

4
@Leon Heller ฉันไม่รู้ว่าทำไมคุณถึงต้องการให้คนอื่นมาปิดคำถามนี้ หากคุณรู้สึกว่าคำถามนี้ควรจะอยู่ใกล้คุณคุณมีอิสระที่จะลงคะแนนให้ปิด แต่จริง ๆ แล้วมันน่ากลัวมากที่จะแสดงความคิดเห็น "คำถามควรจะปิด" และพยายามที่จะเรียกคนอื่นมาพร้อมกับคุณ หากคำถามนี้มีแนวโน้มที่จะปิดก่อนอื่นคุณควรปิดคำถามด้านล่างelectronics.stackexchange.com/questions/1092/…
Sanjeev Kumar

1
@LeonHeller (และอื่น ๆ ) คำถามนี้ก็เกิดขึ้นเป็นคำตอบสำหรับการค้นหาของ Google (ฉันได้รับมันเป็นลิงค์ที่สองพร้อมกับคนอื่น ๆ ที่มีประโยชน์จริง ๆ )
ilkkachu

คำตอบ:


5

โดยทั่วไปแล้ว CPLD จะใช้เพื่อแทนที่ตรรกะที่ไม่ต่อเนื่องในปริมาณเล็กน้อยเท่านั้น กล่าวคือสิ่งต่าง ๆ เช่นตัวถอดรหัสที่อยู่และวงจรอินเตอร์เฟสบัส CPLDs มีหน่วยความจำน้อยมาก จำนวน flip-flop มีลำดับความสำคัญเท่ากันกับ I / O พิน (เช่น 32 macrocell CPLD มี ~ 30 หมุดและ ~ 30 flip-flop) ตรรกะเชิง combinatorial ใน CPLD ถูกนำไปใช้กับอาเรย์ตรรกะที่ตั้งโปรแกรมได้ซึ่งโดยทั่วไปแล้วจะไม่ได้รับประโยชน์ที่ความเร็วสูงมาก CPLDs มักจะใช้แฟลชหรือมีหน่วยความจำแฟลชภายในทำให้การออกแบบบอร์ดง่ายขึ้นและปรับปรุงการป้องกันจากวิศวกรรมย้อนกลับ CPLD ยังไม่ได้สร้างขึ้นด้วยกระบวนการตรรกะ 'ตกเลือด'

FPGA ได้รับการออกแบบมาเพื่อการคำนวณประสิทธิภาพสูงและการเชื่อมต่อแบนด์วิดธ์สูง ภายในพวกเขาใช้สถาปัตยกรรมที่แตกต่างจาก CPLD มาก FPGA มีสถานะภายในมากขึ้น (การลงทะเบียนและบล็อก RAM) มากกว่าที่มีหมุด I / O ตรรกะ Combinatorial ถูกนำมาใช้ในตารางการค้นหาความเร็วสูงที่สามารถทำงานได้หลายร้อย MHz LUTs และส่วนประกอบอื่น ๆ เชื่อมต่อกับเครือข่ายเส้นทางที่มีประสิทธิภาพสูง FPGAs ยังมีฮาร์ดคอร์แบบพิเศษที่ให้การปรับใช้ส่วนประกอบต่าง ๆ อย่างมีประสิทธิภาพ Block RAM และตัวคูณ / ตัวแบ่ง DSP เป็นเรื่องธรรมดามาก FPGA ยังสามารถมีอีเทอร์เน็ต MACs แกนประมวลผลฮาร์ดอินเทอร์เฟซ PCI Express และบล็อกพิเศษอื่น ๆ ตัวรับส่งสัญญาณหลายกิกะบิตยังเป็นคุณสมบัติทั่วไปของ FPGA ระดับสูงที่อนุญาตให้ถ่ายโอนข้อมูลที่สูงถึง 50 Gbit / วินาทีต่อคู่พิน โดยทั่วไปแล้ว FPGA จะไม่มีหน่วยความจำแบบไม่ลบเลือนดังนั้นจึงจำเป็นต้องใช้หน่วยความจำแฟลชภายนอกเพื่อโหลดการกำหนดค่า การเข้ารหัสสามารถนำมาใช้เพื่อปรับปรุงความปลอดภัยการออกแบบด้วยคีย์แบตเตอรี่สำรองเก็บไว้ใน FPGA


10

แตกต่าง:

  1. ความจุ - CPLD มักจะมีความจุน้อยกว่าของตรรกะ CPLD ที่ใหญ่ที่สุดอาจอยู่ในระดับเดียวกันกับ FPGA ที่เล็กที่สุดในตลาดหลัก

  2. ที่เก็บรูปภาพ - CPLD สามารถบูตได้ด้วยตัวเองในขณะที่ FPGA ส่วนใหญ่จำเป็นต้องดึงบิตสตรีมคอนฟิเกอเรชันจากหน่วยเก็บข้อมูลที่ไม่ลบเลือนเนื่องจากเป็นฐาน SRAM สิ่งนี้ส่งผลต่อความปลอดภัยของระบบ

  3. คุณสมบัติ - CPLD จัดเตรียมเฉพาะประตูหรือที่กล่าวว่าเซลล์ลอจิกที่สามารถทำอัลกอริทึมตรรกะทุกชนิด นอกจากนี้ FPGA ยังฝังบล็อกจำนวนมากเช่น BlockRAM, DSP, TEMAC, PCIe, MGT, ไมโครโปรเซสเซอร์และอื่น ๆ เพื่อสร้างชิปเดี่ยวของ FPGA ที่สามารถสร้างระบบที่มีคุณสมบัติครบวงจร


3
เกี่ยวกับข้อที่ 3 เป็นสิ่งที่ควรค่าแก่การกล่าวถึงว่าในช่วงหลายปีที่ผ่านมาเนื่องจาก CPLD มีความซับซ้อนมากขึ้นเส้นแบ่งระหว่าง CPLD และ FPGA นั้นเบลอ ตัวอย่างเช่น CPLD ที่ทันสมัยมีขนาดใหญ่พอที่จะใช้ไมโครคอนโทรลเลอร์ ถึงจุดที่บางครอบครัวชิปซึ่งมีการทำตลาดในอดีตเป็น CPLDs ตอนนี้ถูกทำเครื่องหมายเป็น FPGAs (เช่นตระกูล Altera Max)
David Gardner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.