Skip to main content

FPGA là gì?

Một mảng cổng lập trình trường (FPGA) là một chip logic máy tính không được nhà sản xuất cứng lại.Điều này có nghĩa là nó có thể được lập trình sau khi mua.Có hàng ngàn tùy chọn để tùy chỉnh có sẵn trên một FPGA điển hình.Các thực thể có thể lập trình này là các cổng, còn được gọi là các khối logic hoặc tệp bảng tra cứu (LUT). Vì số lượng khối logic trên FPGA quá nhiều được tạo bằng tay, chúng được tạo thông qua chương trình phần mềm.Các lập trình viên sau đó có thể chọn từ nhiều loại khác nhau để tùy chỉnh chúng cho một hệ thống cụ thể.Họ có thể sử dụng các chương trình của riêng mình để tương tác với chương trình trên chip FPGA và thực hiện các thay đổi. Khi lập trình một FPGA, một số yếu tố kết nối có thể được sử dụng để định cấu hình các khối logic khi cần thiết.Nội dung của LUT khác nhau, tùy thuộc vào cách mà họ đã được lập trình.Một số thực hiện các chức năng đơn lẻ trong khi một số khác có khả năng một loạt các tác vụ phức tạp hơn.Một số FPGA cũng có thể chứa cả hai yếu tố tương tự và kỹ thuật số.Các chip này cũng thường có khả năng cho phép các yếu tố này hoạt động với nhau.

Các LUT được kết nối bởi một mạng lưới dây.Tùy thuộc vào chức năng cần thiết, các dây có thể chạy qua các tệp theo một đường thẳng hoặc một mạng kết nối đường chéo phức tạp hơn.Một LUT có thể được kết nối với một số tệp khác thông qua nhiều kết nối dây.Các tệp cũng có thể được kết nối bằng một loạt các dây được gọi là chuỗi thực hiện hoặc chuỗi định tuyến chuyên dụng giúp chỉ di chuyển một số loại thông tin để nó có thể được xử lý nhanh hơn.Đầu tiên được phác thảo trong các tệp văn bản hoặc trực quan.Sau đó, thông tin được tải xuống phần mềm đi kèm với FPGA.Khi quá trình đó hoàn tất, chức năng thường hoạt động. Mặc dù FPGA đắt hơn chip logic cứng, nó có thể giúp tiết kiệm tài nguyên vì người dùng có thể lập trình để phù hợp với các yêu cầu cụ thể của họ.Điều này có thể làm giảm nhu cầu làm thêm và thời gian bổ sung cần thiết để phù hợp với một con chip không được thực hiện tùy chỉnh.Một chip có thể lập trình cũng có thể dễ sử dụng hơn, vì các chức năng của người dùng, chẳng hạn như menu, có thể được tùy chỉnh.Các mạch mảng cổng lập trình trường là một giải pháp thay thế cho mạch tích hợp cụ thể của ứng dụng (ASIC).Các mạch này là cứng trước khi rời khỏi nhà máy.Chúng là các thành phần cấp bảng, trái ngược với các yếu tố cấp cổng có thể lập trình trường.