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.

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.

So sánh tốc độ của fpga và cpld năm 2024

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ể.

So sánh tốc độ của fpga và cpld năm 2024

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 CPLD

Mộ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 CPLD

Cấ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.

So sánh tốc độ của fpga và cpld năm 2024

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.

So sánh tốc độ của fpga và cpld năm 2024

Thành phần CPLD

Cá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:

  1. Các thành phần có thể lập trình: CPLD sử dụng các thành phần có thể lập trình như flash EPROM (Bộ nhớ chỉ đọc có thể lập trình có thể xóa), EEPROM (Bộ nhớ chỉ đọc có thể lập trình có thể xóa bằng điện), PROM (Bộ nhớ chỉ đọc có thể lập trình) và ROM (Bộ nhớ chỉ đọc). Các thành phần này lưu trữ dữ liệu cấu hình và có thể được sửa đổi để xác định các chức năng logic của thiết bị.
  2. Khối chức năng: Khối chức năng trong CPLD bao gồm mặt phẳng AND, nhận đầu vào từ các khối I/O, các khối chức năng khác hoặc thậm chí là đầu ra của cùng một khối chức năng. Các đầu vào trải qua các hoạt động logic và sau đó được chọn bằng bộ ghép kênh lớn trước khi được thêm vào mảng OR. Quá trình này cho phép tạo ra các hàm logic phức tạp trong CPLD.
  3. Kết nối: Kết nối trong CPLD là một ma trận các công tắc có thể lập trình để kiểm soát cách tín hiệu được định tuyến từ bộ phận này sang bộ phận khác của thiết bị. Nó cho phép thiết lập kết nối giữa các phần tử khác nhau, bao gồm các khối chức năng và khối I/O, để cấu hình logic mong muốn.
  4. Khối đầu vào/đầu ra: Khối đầu vào/đầu ra (I/O) chịu trách nhiệm giao tiếp với phần cứng bên ngoài. Chúng đảm bảo rằng tín hiệu được truyền đến và đi từ các chân CPLD ở mức điện áp và dòng điện thích hợp. Các khối I/O góp phần giảm độ trễ, giảm thiểu thời gian thiết bị cần ở trạng thái rảnh và tăng cường việc sử dụng tài nguyên tổng thể của CPLD.

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

  • Thật đơn giản để thiết kế.
  • Nó được phát triển với chi phí khiêm tốn.
  • CPLD giúp làm cho bảng nhỏ hơn.
  • Độ tin cậy cao được cung cấp bởi nó.

Nhược điểm của CPLD

  • Một thiết bị logic lập trình tiên tiến hơn SPLD là CPLD.
  • Nó là một phần logic lập trình phức tạp hơn.

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:

  1. Phát triển hệ thống kỹ thuật số mong muốn bằng nền tảng phần mềm phát triển tích hợp.
  2. Thể hiện thiết kế bằng ngôn ngữ mô tả phần cứng.
  3. Chuyển mã thiết kế tới chip CPLD mục tiêu thông qua cáp tải xuống, quá trình này được gọi là lập trình “trong hệ thống”.
  4. Tạo tệp mục tiêu tương ứng xác định các hàm logic sẽ được CPLD thực hiện.

Kiến trúc FPGA

Trong 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:

  1. CLB (Khối logic có thể cấu hình): CLB là đơn vị cốt lõi chịu trách nhiệm thực hiện các hoạt động logic. Nó bao gồm các phần tử logic và các kết nối đầu vào và đầu ra kỹ thuật số. Người dùng có thể định cấu hình CLB để triển khai các chức năng logic tùy chỉnh khi cần cho các ứng dụng cụ thể của mình.
  2. Kết nối: Các kết nối đóng vai trò là đường dẫn truyền tải hướng dẫn và dữ liệu giữa các khối logic khác nhau trong FPGA. Những lộ trình này cho phép các CLB cộng tác trong việc thực thi logic do người dùng xác định.
  3. Ma trận chuyển mạch: Ma trận chuyển mạch cung cấp các kết nối và định tuyến dựa trên logic cần thiết giữa các thành phần trong FPGA. Nó tạo điều kiện thuận lợi cho việc cấu hình động của các kết nối, cho phép linh hoạt điều chỉnh FPGA với các thiết kế logic khác nhau.
  4. Các miếng đệm I/O: Các miếng đệm I/O đóng vai trò là giao diện giữa FPGA và các thiết bị bên ngoài hoặc thế giới bên ngoài. Chúng cho phép thực hiện các kết nối với phần cứng bên ngoài, cho phép dữ liệu được truyền đến và đi từ FPGA.

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ề FPGA

Mộ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.

So sánh tốc độ của fpga và cpld năm 2024

Linh kiện FPGA

  • Khối I/O được sử dụng để kết nối các chip.
  • Việc sử dụng định tuyến có thể lập trình giúp bạn có thể sử dụng các chức năng.
  • Các chức năng logic có thể được thực hiện bằng cách sử dụng các khối logic lập trình được.

Ưu điểm của FPGA

  • Việc phát triển FPGA ít tốn kém hơn so với phát triển ASIC vì không có NRE (Chi phí không định kỳ) và các công cụ ít tốn kém hơn được sử dụng.
  • FPGA luôn được lập trình ở cấp độ phần mềm. Do đó, IC FPGA có thể được cấu hình lại hoặc tái sử dụng vô thời hạn. FPGA cũng có thể được lập trình từ xa.
  • Với mã HDL, IC FPGA có thể được lập trình dễ dàng và được sử dụng rộng rãi. Hậu quả là việc đưa giải pháp ra thị trường nhanh hơn.
  • Định tuyến, vị trí và thời gian được xử lý bằng phần mềm trong thiết kế FPGA. Nó đòi hỏi ít lao động thủ công hơn. Việc cân nhắc về địa điểm và bộ định tuyến, quy hoạch sàn và thời gian tốn nhiều thời gian và khó khăn đều được loại bỏ nhờ quy trình thiết kế.
  • FPGA có khả năng lập trình mức logic. Kết quả là nó có thể sử dụng khả năng xử lý tín hiệu song song hơn và nhanh hơn. Việc thực thi của CPU là khó khăn.

Nhược điểm của FPGA

  • Kiến thức cơ bản về hệ thống kỹ thuật số và ngôn ngữ lập trình VHDL/Verilog là điều kiện tiên quyết để lập trình FPGA. Việc lập trình phức tạp hơn so với việc lập trình được sử dụng trong thiết bị có bộ xử lý. Ngoài ra, các kỹ sư phải hiểu cách sử dụng phần mềm mô phỏng.
  • Kích thước và đặc điểm của thiết kế bị hạn chế bởi các tài nguyên có sẵn trên IC FPGA sau khi nó được chọn và sử dụng trong thiết kế. Để ngăn chặn vấn đề này, ngay từ đầu phải chọn một FPGA phù hợp.
  • FPGA đã tăng mức tiêu thụ điện năng và các lập trình viên có ít quyền kiểm soát việc tối ưu hóa năng lượng.
  • FPGA đã trở nên phổ biến do tính linh hoạt của chúng trong các ứng dụng khác nhau.
  • Các ứng dụng cụ thể cho FPGA bao gồm nhận dạng giọng nói, mật mã, lọc tín hiệu, mã hóa truyền thông, bộ điều khiển thiết bị, radio được xác định bằng phần mềm, logic ngẫu nhiên, tạo mẫu ASIC, hình ảnh y tế, mô phỏng phần cứng máy tính và bộ điều khiển thiết bị.
  • FPGA thường được sử dụng trong các ứng dụng chuyên dụng, khối lượng thấp, trong đó tính năng động về hiệu suất và chi phí khiến chúng trở thành một lựa chọn thuận lợi. Tạo nguyên mẫu và sản xuất khối lượng thấp hoạt động tốt với FPGA. Chi phí cho mỗi đơn vị cũng tăng theo số lượng FPGA được sản xuất.
  • FPGA (Mảng cổng lập trình trường) là một phần của họ thiết bị logic lập trình được, thường được gọi là phần cứng lập trình được. Chúng không có chức năng vốn có nhưng có thể được lập trình để hoạt động giống như bất kỳ mạch kỹ thuật số nào mà người ta mong muốn. Đặc tính này rất đáng chú ý vì nó cho phép cấu hình nhanh chóng mà không cần hàn hoặc nối dây rộng rãi.

Đây là cách hoạt động của FPGA:

  1. Cấu hình: FPGA được cấu hình bằng cách tải tệp cấu hình dòng bit cụ thể vào thiết bị. Cấu hình này xác định các kết nối và hoạt động của các phần tử logic trong FPGA.
  2. Tính linh hoạt: Sau khi được cấu hình, FPGA sẽ hoạt động như mạch kỹ thuật số mong muốn. Nó có thể được lập trình lại dễ dàng để thực hiện các tác vụ khác nhau bằng cách tải một cấu hình mới, khiến nó trở nên rất linh hoạt cho nhiều ứng dụng.
  3. Dựa trên RAM: FPGA sử dụng cấu hình dựa trên RAM, cho phép cấu hình lại động. Điều này có nghĩa là thiết bị có thể được cập nhật và sửa đổi khi cần mà không cần thay đổi vật lý.
  4. Thiết kế dựa trên mô tả: Thiết kế cho FPGA thường liên quan đến việc mô tả hành vi mong muốn thay vì tạo sơ đồ mạch truyền thống. Ngôn ngữ mô tả phần cứng (HDL) thường được sử dụng để chỉ định chức năng và sau đó các công cụ được sử dụng để tạo cấu hình phần cứng tương ứng.

Ứng dụng CPLD:

  • Các mạch logic lập trình phức tạp rất phù hợp cho các ứng dụng điều khiển đòi hỏi hiệu suất cao và đòi hỏi khắt khe.
  • CPLD có thể được sử dụng trong các thiết kế kỹ thuật số để xử lý các chức năng của bộ nạp khởi động.
  • Chúng đóng vai trò tải dữ liệu cấu hình từ bộ nhớ cố định vào các mảng cổng có thể lập trình được theo trường.
  • CPLD thường được sử dụng cho các nhiệm vụ thiết kế đơn giản như giải mã địa chỉ.
  • Kích thước nhỏ gọn và mức tiêu thụ điện năng thấp khiến CPLD phù hợp với các thiết bị di động chạy bằng pin, nhạy cảm về giá.

Ứng dụng FPGA:

  • FPGA đã trở nên phổ biến do tính linh hoạt của chúng trong các ứng dụng khác nhau.
  • Các ứng dụng cụ thể cho FPGA bao gồm nhận dạng giọng nói, mật mã, lọc tín hiệu, mã hóa truyền thông, bộ điều khiển thiết bị, radio được xác định bằng phần mềm, logic ngẫu nhiên, tạo mẫu ASIC, hình ảnh y tế, mô phỏng phần cứng máy tính và bộ điều khiển thiết bị.
  • FPGA thường được sử dụng trong các ứng dụng chuyên biệt, dung lượng thấp, nơi hiệu suất và chi phí biến động khiến chúng trở thành một lựa chọn thuận lợi.

FPGA so với CPLD

FPGA 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.