Nhiều người, đặc biệt là sinh viên và người mới bắt đầu, bối rối khi lựa chọn giữa FPGA và CPLD, vì cả hai đều là chip logic kỹ thuật số nổi tiếng. Tuy nhiên, kiến trúc bên trong của chúng khác nhau ở các tham số khác nhau.
Các nội dung chính
- FPGA linh hoạt và phức tạp hơn CPLD, cho phép thiết kế phức tạp hơn và hiệu suất cao hơn.
- CPLD ít tốn kém hơn so với FPGA và có kiến trúc đơn giản hơn, khiến chúng trở nên lý tưởng cho các thiết kế vừa và nhỏ.
- FPGA và CPLD sử dụng các khối logic có thể lập trình để thực hiện các chức năng logic tùy chỉnh, nhưng FPGA có nhiều khối logic hơn và dung lượng cao hơn.
FPGA so với CPLD
Sự khác biệt giữa FPGA và CPLD là FPGA (Field Programmable Gate Array) có kiến trúc phức tạp, được coi là hạt mịn, trong khi CPLD (Thiết kế logic lập trình phức hợp) có kiến trúc đơn giản hơn, hạt thô.
FPGA là một chip logic lập trình có kiến trúc phức tạp và tinh tế. Nó dựa trên RAM. Nó dễ bay hơi, có nghĩa là nếu mất điện sẽ dẫn đến mất dữ liệu.
Nó tương đối phù hợp hơn cho các ứng dụng phức tạp. Nó cũng tiêu thụ nhiều năng lượng hơn so với. Nó cũng đắt hơn.
Mặt khác, CPLD được thiết kế với sự trợ giúp của EEPROM và nó có kiến trúc đơn giản, chi tiết thô. Nó phù hợp hơn cho các ứng dụng đơn giản hơn.
Nó không bay hơi, có nghĩa là nếu bị ngắt nguồn điện, nó sẽ không mất bất kỳ dữ liệu nào. Nó có xu hướng tiêu thụ ít năng lượng hơn khi so sánh với FPGA.
Bảng so sánh
Các thông số so sánh | FPGA | CPLD |
---|---|---|
Hình thức đầy đủ | Mảng cổng lập trình trường | Lập trình phức tạp Thiết kế logic |
Kiến trúc | Lúa mạch tốt | hạt thô |
Tỉ trọng | Trung bình đến cao | Thấp đến trung bình |
Công suất tiêu thụ | Cao | Trung bình |
Phí Tổn | Đắt tiền | Giá rẻ |
Dựa trên | RAM | EEPROM |
Biến động | Nó có thể mất dữ liệu nếu bị ngắt nguồn điện. | Ngắt kết nối điện sẽ không gây ra bất kỳ mất mát dữ liệu. |
Tỷ lệ của dép xỏ ngón | Xem thêm | Ít hơn |
Ứng dụng | Tốt hơn cho các ứng dụng phức tạp | Tốt hơn cho các ứng dụng đơn giản hơn |
HIỆU QUẢ | Một hiệu suất có thể dự đoán được độc lập với vị trí nội bộ và định tuyến. | Hiệu suất phụ thuộc vào định tuyến. |
FPGA là gì?
FGPA là viết tắt của Field-Programmable Gate Array, là một chip logic có thể lập trình được. Nó có thể được lập trình để thực hiện các loại chức năng kỹ thuật số khác nhau.
Nó là một mạch tích hợp được thiết kế đặc biệt để khách hàng hoặc nhà thiết kế cấu hình sau khi sản xuất.
Nó cung cấp một lượng lớn tài nguyên logic và các yếu tố lưu trữ có thể giúp tạo ra các hệ thống phức tạp. Kiến trúc của nó được coi là chi tiết. Điều này cho phép các chip có dung lượng logic cao hơn.
Nó được tạo thành từ 100,000 khối logic nhỏ và cũng bao gồm sự kết hợp của logic, flip-flop và bộ nhớ. Nó đắt hơn nhưng có thể hợp lý hơn nếu bạn mua nó trên mỗi cổng.
Nó dựa trên RAM, có nghĩa là nó yêu cầu một số quy trình đặc biệt. Để lập trình một thiết bị, trước tiên bạn phải mô tả 'chức năng logic' bằng máy tính. Điều này dẫn đến việc tạo một tệp nhị phân có thể được tải xuống FPGA.
FPGA sử dụng ROM bên ngoài để tải dữ liệu cấu hình và thiết lập cấu trúc trước khi nó bắt đầu hoạt động. Điều này có nghĩa là sẽ có một khoảng thời gian trễ sau khi bạn khởi động và trước khi nó bắt đầu hoạt động.
Không dễ để dự đoán bất kỳ sự chậm trễ nào trong chương trình này. Nó cũng tiêu thụ nhiều điện năng hơn. Nó cũng tương đối kém an toàn hơn. Hiệu suất của nó phụ thuộc vào định tuyến đã được triển khai cho một ứng dụng cụ thể.
FPGA có xu hướng sử dụng lưu trữ cấu hình dựa trên SRAM. Nó có nghĩa là nó dễ bay hơi. Dữ liệu được lưu trong bộ nhớ có thể bị mất nếu ngắt nguồn điện.
CPLD là gì?
CPLD là viết tắt của Thiết bị logic lập trình phức tạp. Nó là một mạch tích hợp có thể được sử dụng để thực hiện các hệ thống kỹ thuật số. Nó được thiết kế với sự trợ giúp của bộ nhớ chỉ đọc có thể lập trình có thể xóa bằng điện, thường được gọi là EEPROM.
Kiến trúc của nó ít phức tạp hơn nên phù hợp hơn với các ứng dụng logic đơn giản. Nó chỉ có một vài khối logic, lên đến 100. Chúng là loại thiết bị thô.
Chúng không dễ bay hơi, có nghĩa là dữ liệu của chúng sẽ không bị mất nếu ngắt nguồn điện. Chúng rẻ hơn so với FPGA và cung cấp thời lượng đầu vào-đầu ra nhanh hơn. Điều này là do kiến trúc đơn giản của họ.
CPLD bắt đầu ngay khi bạn cấp nguồn cho chúng. Sự chậm trễ có thể dự đoán được và việc phân tích thời gian dễ thực hiện hơn. Điều này là do chúng đơn giản hơn và số lượng kết nối ít hơn. Họ cũng có mức tiêu thụ điện năng thấp hơn.
Chúng được coi là an toàn hơn vì thiết kế lưu trữ của chúng được tích hợp sẵn trong bộ nhớ cố định. Hiệu suất của nó có thể dự đoán được và không phụ thuộc vào việc đặt và định tuyến bên trong. Nó phù hợp cho các thiết kế mật độ thấp đến trung bình.
Nó chỉ có thể được lập trình lại một số lần giới hạn. Nó cung cấp tài nguyên logic tối thiểu. Chúng phù hợp hơn trong các thiết kế đếm cổng nhỏ.
Sự khác biệt chính giữa FPGA và CPLD
- FPGA là viết tắt của Field Programmable Gate Array và CPLD là viết tắt của Thiết kế logic lập trình phức tạp.
- FPGA là mạch tích hợp được thiết kế đặc biệt để khách hàng hoặc nhà thiết kế cấu hình sau quá trình sản xuất, trong khi CPLD là mạch tích hợp có thể được sử dụng để triển khai các hệ thống kỹ thuật số.
- FPGA được coi là hạt mịn và CPLD là hạt thô.
- FPGA có mức tiêu thụ điện năng cao hơn và CPLD có mức tiêu thụ điện năng thấp hơn một cách tương đối.
- FPGA dựa trên RAM, trong khi CPLD dựa trên EEPROM.
- FPGA đắt hơn và CPLD rẻ hơn.
- FPGA phù hợp với các ứng dụng phức tạp. Mặt khác, CPLD tốt hơn cho các ứng dụng đơn giản hơn.
- Về hiệu suất, FPGA có hiệu suất dự đoán được, độc lập với định tuyến bên trong, trong khi CPLD có hiệu suất phụ thuộc vào định tuyến.
- https://ieeexplore.ieee.org/abstract/document/500200
- https://books.google.co.in/books?hl=en&lr=&id=vggmNXdzayYC&oi=fnd&pg=PP1&dq=fpga+and+cpld&ots=s7HjirG-ea&sig=15OMJOILY2a0Z0–fBnq551-KPk&redir_esc=y#v=onepage&q=fpga%20and%20cpld&f=false