หลายคนโดยเฉพาะนักเรียนและผู้เริ่มต้นจะสับสนเมื่อต้องเลือกระหว่าง FPGA และ CPLD เนื่องจากทั้งคู่เป็นชิปลอจิกดิจิทัลที่รู้จักกันดี อย่างไรก็ตาม สถาปัตยกรรมภายในนั้นแตกต่างกันไปตามพารามิเตอร์ต่างๆ
FPGA กับ CPLD
ความแตกต่างระหว่าง FPGA และ CPLD คือ FPGA (Field Programmable Gate Array) มีสถาปัตยกรรมที่ซับซ้อน ซึ่งถือว่าเป็นเนื้อละเอียด ในขณะที่ CPLD (Complex Programming Logic Design) มีสถาปัตยกรรมที่เรียบง่ายกว่า ซึ่งถือเป็นเนื้อหยาบ
FPGA เป็นชิปลอจิกการเขียนโปรแกรมที่มีสถาปัตยกรรมเกรนที่ซับซ้อนและละเอียด มันขึ้นอยู่กับแรม มีความผันผวนซึ่งหมายความว่าหากไฟถูกตัดการเชื่อมต่อจะทำให้ข้อมูลสูญหาย ค่อนข้างเหมาะสมกว่าสำหรับการใช้งานที่ซับซ้อน นอกจากนี้ยังกินไฟมากกว่าเมื่อเปรียบเทียบ ก็ยังมีราคาแพงกว่า
ในทางกลับกัน CPLD ได้รับการออกแบบโดยใช้ EEPROM และมีสถาปัตยกรรมเม็ดหยาบที่เรียบง่าย เหมาะสำหรับการใช้งานที่ง่ายกว่า ไม่ลบเลือน ซึ่งหมายความว่าหากตัดการเชื่อมต่อไฟฟ้า ข้อมูลจะไม่สูญหาย มีแนวโน้มที่จะกินไฟน้อยกว่าเมื่อเทียบกับ FPGA
ตารางเปรียบเทียบระหว่าง FPGA และ CPLD
พารามิเตอร์ของการเปรียบเทียบ | FPGA | CPLD |
ฟูลฟอร์ม | Field Programmable Gate Array | การออกแบบลอจิกการเขียนโปรแกรมที่ซับซ้อน |
สถาปัตยกรรม | เม็ดละเอียด | เม็ดหยาบ |
ความหนาแน่น | ปานกลางถึงสูง | ต่ำถึงปานกลาง |
การใช้พลังงาน | สูง | ปานกลาง |
ค่าใช้จ่าย | เเพง | ราคาถูก |
ขึ้นอยู่กับ | แกะ | EEPROM |
ความผันผวน | ข้อมูลอาจสูญหายหากไฟดับหากไม่ได้เชื่อมต่อ | การตัดกระแสไฟจะไม่ทำให้ข้อมูลสูญหาย |
อัตราส่วนของรองเท้าแตะ | มากกว่า | น้อย |
แอปพลิเคชั่น | ดีกว่าสำหรับการใช้งานที่ซับซ้อน | ดีกว่าสำหรับการใช้งานที่ง่ายกว่า |
ประสิทธิภาพ | ประสิทธิภาพที่คาดการณ์ได้ซึ่งไม่ขึ้นกับตำแหน่งภายในและการกำหนดเส้นทาง | ประสิทธิภาพขึ้นอยู่กับการกำหนดเส้นทาง |
FPGA คืออะไร?
FGPA ย่อมาจาก Field-Programmable Gate Array ซึ่งเป็นชิปลอจิกที่ตั้งโปรแกรมได้ สามารถตั้งโปรแกรมให้ทำหน้าที่ดิจิตอลประเภทต่างๆ ได้ เป็นวงจรรวมที่ออกแบบมาเป็นพิเศษเพื่อกำหนดค่าโดยลูกค้าหรือนักออกแบบหลังจากกระบวนการผลิต
มีทรัพยากรลอจิกและองค์ประกอบการจัดเก็บข้อมูลจำนวนมหาศาลที่ช่วยในการสร้างระบบที่ซับซ้อน สถาปัตยกรรมของมันถือเป็นเนื้อละเอียด ซึ่งช่วยให้ชิปมีความจุตรรกะที่สูงขึ้น
ประกอบด้วยบล็อกลอจิกขนาดเล็กมากถึง 100,000 บล็อก และยังประกอบด้วยลอจิก ฟลิปฟลอป และหน่วยความจำร่วมกัน มีราคาแพงกว่า แต่อาจมีราคาไม่แพงมากหากคุณซื้อต่อประตู
มันใช้ RAM ซึ่งหมายความว่าต้องมีขั้นตอนพิเศษบางอย่าง ในการตั้งโปรแกรมอุปกรณ์ ก่อนอื่นคุณต้องอธิบาย 'ฟังก์ชันลอจิก' โดยใช้คอมพิวเตอร์ ส่งผลให้เกิดการสร้างไฟล์ไบนารีที่สามารถดาวน์โหลดลงใน FPGA ได้
FPGA ใช้ ROM ภายนอกเพื่อโหลดข้อมูลการกำหนดค่าและตั้งค่าแฟบริกก่อนที่จะเริ่มทำงาน ซึ่งหมายความว่าจะมีความล่าช้าหลังจากที่คุณเริ่มต้นและก่อนที่จะเริ่มทำงาน
มันไม่ง่ายเลยที่จะทำนายความล่าช้าในการเขียนโปรแกรมนี้ นอกจากนี้ยังกินไฟมากขึ้น นอกจากนี้ยังมีความปลอดภัยค่อนข้างน้อย ประสิทธิภาพของมันขึ้นอยู่กับการกำหนดเส้นทางที่ถูกนำไปใช้กับแอปพลิเคชันเฉพาะ
FPGA มักจะใช้ที่เก็บข้อมูลการกำหนดค่าแบบ SRAM แปลว่า ผันผวน. ข้อมูลที่เก็บไว้ในหน่วยความจำอาจสูญหายหากไม่ได้เชื่อมต่อสายไฟ
CPLD คืออะไร?
CPLD ย่อมาจากอุปกรณ์ลอจิกที่ตั้งโปรแกรมได้ที่ซับซ้อน เป็นวงจรรวมที่สามารถนำไปใช้งานระบบดิจิทัลได้ ได้รับการออกแบบโดยใช้หน่วยความจำแบบอ่านอย่างเดียวที่ตั้งโปรแกรมได้ซึ่งลบได้ด้วยไฟฟ้า หรือที่เรียกกันทั่วไปว่า EEPROM
สถาปัตยกรรมมีความซับซ้อนน้อยกว่า ซึ่งทำให้เหมาะสำหรับการใช้งานลอจิกอย่างง่าย มีบล็อกลอจิกเพียงไม่กี่บล็อก ซึ่งเพิ่มได้ถึง 100 รายการ เป็นอุปกรณ์ประเภทเม็ดหยาบ
ไม่ลบเลือนซึ่งหมายความว่าข้อมูลจะไม่สูญหายหากไม่ได้เชื่อมต่อสายไฟ มีราคาถูกกว่า FPGA และให้ระยะเวลาอินพุตเอาต์พุตที่เร็วขึ้น นี่เป็นเพราะสถาปัตยกรรมที่เรียบง่าย
CPLD เริ่มทำงานทันทีที่คุณเปิดเครื่อง ความล่าช้าสามารถคาดการณ์ได้และการวิเคราะห์เวลาทำได้ง่ายขึ้น นี่เป็นเพราะว่ามันง่ายกว่า และจำนวนการเชื่อมต่อถึงกันก็น้อยลง พวกเขายังมีการใช้พลังงานที่ต่ำกว่า
ถือว่าปลอดภัยกว่าเนื่องจากมีการจัดเก็บข้อมูลการออกแบบซึ่งมีอยู่ภายในหน่วยความจำแบบไม่ลบเลือน ประสิทธิภาพสามารถคาดการณ์ได้และเป็นอิสระจากการวางและการกำหนดเส้นทางภายใน เหมาะสำหรับการออกแบบที่มีความหนาแน่นต่ำถึงปานกลาง
สามารถตั้งโปรแกรมใหม่ได้ในจำนวนจำกัดเท่านั้น มันให้ทรัพยากรตรรกะขั้นต่ำ เหมาะสำหรับการออกแบบการนับเกทขนาดเล็ก
ความแตกต่างหลักระหว่าง FPGA และ CPLD
บทสรุป
ทั้ง FPGA และ CPLD เป็นชิปลอจิกดิจิทัลยอดนิยมที่ยอดเยี่ยม พวกเขาได้รับการพัฒนาเพื่อให้ได้ความหนาแน่นและความเร็วของวงจร ซึ่งอาจคล้ายกับ ASIC แต่มีเวลาตอบสนองที่สั้นกว่า FPGA มีทรัพยากรทางลอจิกมากมาย ในขณะที่ CPLD นั้นเรียบง่ายและมีการเชื่อมต่อถึงกันในจำนวนที่น้อยกว่า
FPGA เหมาะสมกว่าสำหรับการใช้งานที่ซับซ้อน เนื่องจากมีเกรนละเอียดและสถาปัตยกรรมที่ซับซ้อน ในขณะที่ CPLD เหมาะสำหรับการใช้งานที่ง่ายกว่า เนื่องจากมีสถาปัตยกรรมเกรนที่เรียบง่ายและหยาบ
อ้างอิง
- https://ieeexplore.ieee.org/abstract/document/500200
- https://books.google.co.in/books?hl=th&lr=&id=vggmNXdzayYC&oi=fnd&pg=PP1&dq=fpga+and+cpld&ots=s7HjirG-ea&sig=15OMJOILY2a0Z0–fBnq551_esc=one&red 20และ%20cpld&f=false