Thông tin

FPGA là gì - Khái niệm cơ bản về mảng cổng lập trình trường

 FPGA là gì - Khái niệm cơ bản về mảng cổng lập trình trường

Mảng cổng lập trình trường, hoặc FPGA là một thiết bị logic có thể lập trình có thể có cấu hình bên trong được đặt bởi phần mềm hoặc như nó được gọi là “phần sụn”. Điều này cho phép chức năng FPGA được cập nhật hoặc thậm chí thay đổi hoàn toàn theo yêu cầu, vì phần sụn FPGA được cập nhật khi nó ở trong mạch.

Các thành phần logic có thể lập trình FPGA, hoặc các khối logic như chúng đã biết, có thể bao gồm bất kỳ thứ gì từ các cổng logic, đến các phần tử bộ nhớ hoặc các khối bộ nhớ, hoặc hầu như bất kỳ phần tử nào. Điều này cung cấp một mức độ linh hoạt đáng kể.

Các ứng dụng FPGA

Bản chất có thể cấu hình lại của FPGA có nghĩa là nó có thể được sử dụng trong nhiều ứng dụng khác nhau.

  • Tạo mẫu ASIC: ASIC hoặc các mạch tích hợp ứng dụng cụ thể thường được sử dụng trong sản xuất số lượng lớn, nhưng chúng rất tốn kém để phát triển và các thay đổi rất tốn kém và mất thời gian để thực hiện. Khi chip ASIC được tạo ra, chức năng của nó sẽ được sửa chữa. Ngoài ra, chip ASIC thường rất phức tạp và để đảm bảo rằng chức năng hoạt động chính xác, thường FPGA được sử dụng thay vì chip ASIC trong quá trình phát triển và thậm chí sản xuất ban đầu cho đến khi tất cả các vấn đề được loại bỏ.
  • Phần mềm xác định thiết bị: Với thiết bị ngày nay đang có xu hướng hướng tới phần mềm được định nghĩa nhiều hơn như trong trường hợp phần mềm được định nghĩa vô tuyến, khái niệm này đang được sử dụng rộng rãi trong nhiều lĩnh vực công nghệ. Thiết bị thử nghiệm được xác định bằng phần mềm cũng đang được sử dụng rộng rãi hơn - ở đây, chức năng của thiết bị thử nghiệm có thể được sửa đổi theo những gì cần thiết.

Khái niệm cơ bản về FPGA

Ưu điểm lớn của FPGA là chip hoàn toàn có thể lập trình được và có thể lập trình lại. Bằng cách này, nó trở thành một mạch logic lớn có thể được cấu hình theo thiết kế, nhưng nếu cần thay đổi, nó có thể được lập trình lại với một bản cập nhật.

Do đó, nếu thẻ mạch hoặc bảng mạch được sản xuất và chứa FPGA như một phần của mạch, thì điều này được lập trình trong quá trình sản xuất, nhưng sau đó có thể được lập trình lại để phản ánh bất kỳ thay đổi nào. Vì vậy, nó có thể lập trình trong lĩnh vực này, và trên thực tế, điều này làm phát sinh tên của nó.

Mặc dù FPGA cung cấp nhiều ưu điểm, nhưng đương nhiên cũng có một số nhược điểm. Chúng chậm hơn so với ASIC tương đương (Mạch tích hợp dành riêng cho ứng dụng) hoặc các IC tương đương khác, và ngoài ra chúng còn đắt hơn. (Tuy nhiên so sánh ASIC thì rất tốn kém).

Điều này có nghĩa là lựa chọn có sử dụng thiết kế dựa trên FPGA hay không nên được thực hiện sớm trong chu kỳ thiết kế và sẽ phụ thuộc vào các mục như liệu chip có cần được lập trình lại hay không, chức năng tương đương có thể được lấy ở nơi khác hay không và tất nhiên chi phí cho phép. Đôi khi các nhà sản xuất có thể chọn thiết kế FPGA cho sản phẩm ban đầu khi vẫn có thể tìm thấy lỗi và sau đó sử dụng ASIC khi thiết kế hoàn toàn ổn định.

FPGA được sử dụng trong nhiều ứng dụng. Xét về chi phí, chúng không được sử dụng trong các sản phẩm khối lượng lớn giá rẻ, mà thay vào đó, FPGA tìm thấy các ứng dụng trong nhiều lĩnh vực khác nhau nơi có thể cần đến mạch logic phức tạp và có thể đoán trước được những thay đổi. Các ứng dụng FPGA bao gồm một loạt các lĩnh vực từ thiết bị cho video và hình ảnh, đến mạch điện cho các ứng dụng hàng không vũ trụ và quân sự, cũng như thiết bị điện tử để xử lý chuyên dụng và hơn thế nữa.

FPGA nội bộ

Kiến trúc bên trong của FPGA là chìa khóa cho sự linh hoạt và do đó thành công của nó. Về cơ bản, một FPGA bao gồm hai yếu tố cơ bản:

  • Các khối logic phổ biến: Khối logic trong FPGA có thể được thực hiện theo nhiều cách khác nhau. Việc triển khai thực tế phụ thuộc vào nhà sản xuất và loạt FPGA đang được sử dụng. Các biến thể bao gồm số lượng đầu vào và đầu ra, độ phức tạp chung của khối logic về mặt mạch và số lượng bóng bán dẫn được sử dụng. Điều này đương nhiên có tác động đến lượng diện tích tiêu thụ trên chip và do đó kích thước silicon được sử dụng.
  • Định tuyến nội bộ FPGA: Các kênh định tuyến trong FPGA bao gồm các dây có thể được kết nối với nhau bằng cách sử dụng các công tắc có thể định cấu hình điện. Bằng cách này, có thể liên kết các điểm khác nhau trên chip với nhau và do đó kết nối các Khối logic chung khác nhau theo bất kỳ cách nào được yêu cầu.

Phát triển phần mềm FPGA

Vì FPGA là một mảng logic có thể định cấu hình, nên logic cần được thiết lập để đáp ứng các yêu cầu của hệ thống. Cấu hình được cung cấp bởi chương trình cơ sở - một tập hợp dữ liệu

Xét về mức độ phức tạp của FPGA, phần mềm được sử dụng để thiết kế chức năng của FPGA. Quá trình thiết kế FPGA được bắt đầu bởi người dùng cung cấp định nghĩa Ngôn ngữ mô tả phần cứng (HDL) hoặc thiết kế sơ đồ.

HDL phổ biến là VHDL (trong đó VHDL là viết tắt của VHSIC Hardware Dsự miêu tả Language) và Verilog. Khi điều này đã được hoàn thành, nhiệm vụ tiếp theo trong quy trình thiết kế FPGA là tạo ra một danh sách mạng được tạo cho họ FPGA cụ thể đang được sử dụng. Điều này mô tả kết nối được yêu cầu trong FPGA và nó được tạo ra bằng công cụ tự động hóa thiết kế điện tử.

Sau đó, danh sách mạng có thể được trang bị cho kiến ​​trúc FPGA thực tế bằng cách sử dụng một quy trình được gọi là vị trí và tuyến đường, thường được thực hiện bởi phần mềm vị trí và tuyến đường độc quyền của công ty FPGA.

Cuối cùng, thiết kế được cam kết với FPGA và nó có thể được sử dụng trong bảng mạch điện tử mà nó được sử dụng.

Lưu ý về lập trình FPGA:

FPGA yêu cầu phải có sóng chắc chắn để thiết lập cấu hình logic trong chip. Firmwave này có thể được phát triển theo nhiều cách khác nhau và có một số nền tảng phần mềm khác nhau có thể được sử dụng.

Đọc thêm về Lập trình FPGA

Kiểm tra FPGA

Xét về độ phức tạp của chúng, cần phải tiến hành kiểm tra nghiêm ngặt thiết kế FPGA. Thử nghiệm này thường sẽ được thực hiện ở mỗi giai đoạn của quá trình phát triển FPGA.

Nó bao gồm mô phỏng chức năng và các phương pháp xác minh khác, nhưng một trong những vấn đề quan trọng có thể là vấn đề thời gian vì kích thước và độ phức tạp của logic cơ bản có thể dẫn đến các vấn đề về thời gian có thể phát sinh.

Khi quá trình thiết kế và xác nhận hoàn tất, tệp nhị phân được tạo (cũng sử dụng phần mềm độc quyền của công ty FPGA) được sử dụng để định cấu hình thiết bị FPGA.

Công cụ FPGA

Các công cụ để phát triển và kiểm tra FPGA có sẵn từ nhiều nguồn khác nhau. Rõ ràng là nhà sản xuất có thể cung cấp nhiều công cụ phát triển FPGA, nhưng có nhiều nguồn khác để tổng hợp FPGA HDL của bên thứ ba, các công cụ xác minh và tổng hợp vật lý FPGA. Chúng bao gồm quá trình phát triển thực tế và các giai đoạn thử nghiệm khác nhau của FPGA.


Xem video: 1. NHẬP MÔN LẬP TRÌNH KHÁI NIỆM CƠ BẢN - Nguyễn Bá Trung (Tháng Giêng 2022).