So sánh tốc độ của fpga và cpld năm 2024
CPLD, viết tắt của các thiết bị logic lập trình phức tạp, hoàn toàn đáp ứng được lời hứa của chúng. Về cơ bản, chúng được thiết kế để mô phỏng nhiều PAL (logic mảng lập trình) được kết hợp thành một chip duy nhất và được kết nối với nhau thông qua một công tắc điểm chéo. Được xây dựng trên cùng một công nghệ, sử dụng cùng các phương pháp lập trình và sử dụng các công cụ phát triển quen thuộc, chúng có thể xử lý hiệu quả các hoạt động logic phức tạp và mở rộng hơn. Show Mặc dù FPGA và SPLD (thiết bị logic lập trình đơn giản) tiên tiến hơn so với CPLD nhưng chúng hoạt động theo cách tương tự như CPLD. CPLD phức tạp hơn SPLD nhưng ít phức tạp hơn FPGA. Các SPLD thường được sử dụng, chẳng hạn như PAL (logic mảng lập trình được), PLA (mảng logic lập trình được) và GAL (logic mảng chung), có một số điểm tương đồng với CPLD. FPGA là gì?Mảng cổng lập trình trường (FPGA) là các thiết bị bán dẫn có ma trận khối logic tùy chỉnh (CLB) được kết nối với nhau bằng các kết nối có thể lập trình được. Điều làm cho FPGA trở nên khác biệt là khả năng được lập trình lại sau khi sản xuất, cho phép chúng thích ứng với các yêu cầu tính năng hoặc ứng dụng cụ thể. Chip FPGA có điểm khác biệt chính so với Mạch tích hợp dành riêng cho ứng dụng (ASIC), được thiết kế tùy chỉnh cho các yêu cầu thiết kế cụ thể. Đặc điểm nổi bật này là khả năng lập trình lại của FPGA. Không giống như ASIC có thiết kế cố định, FPGA có thể được cấu hình lại hoặc cập nhật khi cần, giúp chúng linh hoạt hơn trong việc thích ứng với các yêu cầu thiết kế thay đổi. Trong số các FPGA, các FPGA dựa trên SRAM phổ biến hơn các bo mạch phát triển FPGA lập trình một lần (OTP) do khả năng được cập nhật nhiều lần. FPGA có cấu trúc tương tự như ASIC mảng cổng, không giống PAL hoặc các thiết bị lập trình truyền thống khác. Chúng thường được sử dụng trong các tình huống mà ASIC cuối cùng sẽ được triển khai, phục vụ như một cách để tạo nguyên mẫu và kiểm tra chức năng của ASIC trước khi sản xuất cuối cùng. Điều này cho phép xác thực và lặp lại thiết kế trước khi cam kết chi phí cao hơn liên quan đến việc chế tạo ASIC. Kiến trúc CPLDMột CPLD (Thiết bị logic lập trình phức tạp) được xây dựng bằng nhiều cấu trúc PAL (Logic mảng lập trình) được gọi là macrocell. Đó là một sự phát triển của công nghệ PAL. Trong CPLD, mỗi chân đầu vào trong gói đều có thể truy cập được đối với mọi macrocell, nhưng mỗi macrocell chỉ có một chân đầu ra. Sơ đồ khối của CPLD minh họa cấu trúc bên trong của nó. Sơ đồ khối nhấn mạnh rằng CPLD bao gồm nhiều macrocell hoặc khối chức năng. Các macrocell này được kết nối với nhau thông qua ma trận kết nối toàn cầu (GIM) có thể lập trình được. Việc sắp xếp lại GIM cho phép tạo ra nhiều mạch logic khác nhau. CPLD sử dụng các chân đầu vào và đầu ra kỹ thuật số để giao tiếp với phần cứng bên ngoài. Kiến trúc này cung cấp tính linh hoạt và khả năng cấu hình lại để thực hiện các chức năng logic khác nhau dựa trên các yêu cầu thiết kế cụ thể. Cấu trúc CPLDCấu trúc cơ bản của CPLD, sử dụng chip dòng Xilinx XC9500XL làm ví dụ, được giới thiệu. Kiến trúc của CPLD dựa trên khái niệm thuật ngữ sản phẩm (Product-Term). Nó bao gồm ba thành phần chính: Khối chức năng, FastCONNECT II SwitchMatrix và I/O Control Module. Hình ảnh minh họa thành phần của từng khối chức năng, bao gồm một mảng có thể lập trình, bộ cấp phát thuật ngữ sản phẩm và 18 ô macro. Các macrocell này là các đơn vị cơ bản để thực hiện các hoạt động logic cơ bản. Mô-đun điều khiển I/O chịu trách nhiệm định cấu hình các đặc tính điện khác nhau của các chân đầu vào và đầu ra, chẳng hạn như đầu ra cực thu hở và đầu ra ba trạng thái. Ngoài ra, nó còn quản lý các chức năng liên quan đến đầu vào và đầu ra. Hơn nữa, có các tín hiệu chung cho đồng hồ (I/O/GCK), đặt lại (I/O/GSR) và kích hoạt đầu ra (I/O/GTS), được kết nối với từng mô-đun chức năng trong CPLD thông qua các đường dây chuyên dụng. Các tín hiệu toàn cầu này cung cấp sự phối hợp và đồng bộ hóa cho hoạt động của CPLD. Macrocell, một thành phần quan trọng của CPLD, chịu trách nhiệm thực hiện các hoạt động logic cơ bản. Cấu trúc cơ bản của macrocell được mô tả trong hình bên dưới. Ở phía bên trái của hình ảnh, bạn có thể thấy một mảng thuật ngữ sản phẩm, có thể có hoặc không, tùy thuộc vào cấu hình cụ thể. Mỗi điểm chéo trong mảng thuật ngữ sản phẩm đều có thể lập trình được và khi được kích hoạt, nó sẽ thực hiện các thao tác logic “với”, góp phần vào logic kết hợp cùng với bộ cấp phát thuật ngữ sản phẩm đang chạy ở chế độ nền. Tính linh hoạt này cho phép tạo ra các hàm logic khác nhau trong macrocell. Flip-flop có thể lập trình ở phía bên phải của hình ảnh có thể được cấu hình thành flip-flop D hoặc flip-flop T, tùy thuộc vào yêu cầu thiết kế. Nếu chức năng kích hoạt là không cần thiết thì nó có thể được bỏ qua và tín hiệu có thể được chuyển đến chân I/O hoặc ma trận kết nối, mang lại tính linh hoạt trong việc thiết kế và triển khai các chức năng logic khác nhau trong CPLD. Thành phần CPLDCác thành phần CPLD bao gồm nhiều phần tử khác nhau tạo nên kiến trúc của thiết bị. Dưới đây là mô tả chi tiết về các thành phần này:
Các thành phần này phối hợp với nhau để mang lại sự linh hoạt và linh hoạt trong việc định cấu hình các chức năng logic kỹ thuật số phức tạp trong CPLD đồng thời tạo điều kiện giao tiếp hiệu quả với các thiết bị bên ngoài. Ưu điểm của CPLD
Nhược điểm của CPLD
CPLD hoạt động như thế nào?CPLD (Thiết bị logic lập trình phức tạp) sử dụng nhiều công nghệ lập trình khác nhau, bao gồm CMOS EPROM, EEPROM, bộ nhớ flash và SRAM để tạo ra các thiết bị logic lập trình rất nhỏ gọn, nhanh và tiết kiệm năng lượng. Các thiết bị này thuộc loại mạch tích hợp quy mô lớn, có cấu trúc tương đối phức tạp và kích thước vật lý đáng kể. CPLD là một loại mạch tích hợp kỹ thuật số cho phép người dùng thiết kế và triển khai các mạch logic tùy chỉnh phù hợp với yêu cầu cụ thể của họ. Cách tiếp cận chính để thiết kế với CPLD bao gồm các bước sau:
Kiến trúc FPGATrong thiết kế cơ bản của một FPGA (Mảng cổng lập trình trường), ba loại mô-đun chính được sử dụng. Các mô-đun này là khối hoặc miếng đệm I/O, đường kết nối, ma trận chuyển mạch và khối logic khả trình (CLB). Người dùng có thể kết nối các thành phần này theo nhiều cấu hình khác nhau để tạo ra cấu trúc kiến trúc cơ bản của một FPGA. Chức năng của các module kiến trúc FPGA này:
Khả năng liên kết các mô-đun này trong mảng hai chiều và cấu hình chúng theo các yêu cầu cụ thể là một tính năng cơ bản của FPGA. Tính linh hoạt và khả năng lập trình này làm cho FPGA phù hợp với nhiều ứng dụng, từ xử lý tín hiệu số đến triển khai phần cứng có thể tùy chỉnh. Khái niệm cơ bản về FPGAMột CLB (Khối logic có thể cấu hình) trong một FPGA bao gồm nhiều khối logic, mỗi khối đóng góp vào chức năng của CLB. Một tính năng quan trọng của FPGA là bảng tra cứu (LUT), đặc trưng của công nghệ này. LUT có khả năng chứa một danh sách đầu ra logic được xác định trước cho mọi kết hợp đầu vào có thể có. Thông thường, LUT có các phiên bản có từ XNUMX đến XNUMX bit đầu vào. Các hoạt động logic phổ biến có thể được triển khai bằng LUT bao gồm flip-flop, bộ cộng đầy đủ và bộ ghép kênh. Các thành phần trong CLB có thể khác nhau về số lượng và cấu hình tùy thuộc vào thiết bị FPGA cụ thể. Trong phiên bản đơn giản hóa, CLB có thể bao gồm hai LUT ba đầu vào (1), bộ cộng đầy đủ (3), flip-flop loại D (5), bộ ghép kênh thông thường (2) và hai bộ ghép kênh có thể lập trình trong FPGA. Một CLB cô đọng có thể hoạt động theo hai cách khác nhau. Trong chế độ số học, bộ cộng đầy đủ nhận đầu vào từ đầu ra LUT và đầu vào mang từ CLB khác. Ở chế độ bình thường, LUT và Bộ ghép kênh 2 phối hợp với nhau để tạo ra LUT bốn đầu vào. Bộ ghép kênh 4 xác định xem nên sử dụng đầu ra bộ cộng đầy đủ hay đầu ra LUT. Quyết định xem một hoạt động là không đồng bộ hay đồng bộ hóa với đồng hồ FPGA được xác định bởi D flip-flop thông qua Bộ ghép kênh 6. Trong các FPGA thế hệ hiện tại, các CLB tiên tiến hơn có khả năng thực hiện nhiều thao tác trong một khối duy nhất. Các CLB nâng cao này có thể được kết hợp để thực hiện các tác vụ phức tạp hơn như bộ nhân, thanh ghi, bộ đếm và thậm chí cả các hoạt động xử lý tín hiệu số (DSP), làm cho FPGA trở nên linh hoạt cho nhiều ứng dụng. Linh kiện FPGA
Ưu điểm của FPGA
Nhược điểm của FPGA
Đây là cách hoạt động của FPGA:
Ứng dụng CPLD:
Ứng dụng FPGA:
FPGA so với CPLDFPGA CPLD Mặt khác, FPGA là viết tắt của mảng cổng lập trình trường. CPLD là viết tắt của Thiết bị logic lập trình phức tạp. Bên trên RAM là một chip logic kỹ thuật số được gọi là FPGA. Ngược lại, CPLD dựa trên EEPROM. Độ trễ CPLD dễ dự đoán hơn nhiều so với độ trễ FPGA. Vì CPLD có bộ nhớ không khả biến nên nó an toàn hơn FPGA. Loại hạt mịn bao gồm FPGA. Ngược lại, CPLD là loại hạt thô. Mảng cổng và FPGA có thể so sánh được. Tuy nhiên, CPLD là đối tác của PAL. Định tuyến nội bộ đáng tin cậy vì nó ít ảnh hưởng đến hiệu suất của FPGA. Mặt khác, hiệu suất của CPLD thay đổi và phụ thuộc vào việc định tuyến. FPGA tiêu thụ nhiều năng lượng hơn. So sánh, CPLD có mức sử dụng năng lượng giảm. FPGA rất phù hợp cho các ứng dụng phức tạp. Tuy nhiên, CPLD hoạt động tốt hơn trong các ứng dụng đơn giản hơn. Một FPGA có tới 100,000 khối logic nhỏ. Ngược lại, CPLD chỉ có thể chứa một số lượng nhỏ nghìn khối logic. Ngược lại, FPGA là một loại mạch tích hợp chủ yếu được tạo ra để khách hàng hoặc nhà phát triển thay đổi sau khi nó được tạo ra. Hoạt động của hệ thống kỹ thuật số được hỗ trợ bởi mạch tích hợp CPLD. Phần lớn các ứng dụng dọc cho FPGA là những ứng dụng chuyên dụng, dung lượng thấp. Các công ty tốt nhất chi tiêu cho chi phí phần cứng trên mỗi đơn vị cho các ứng dụng có khối lượng thấp này. Số lượng ứng dụng thực tế hiện đã tăng lên do động lực hiệu suất và chi phí tốt hơn. |