Field

Spartan XC3S400 của hãng Xilinx, có 400.000 cổng và tần số 50MH z – 80M hz Dòng FPGA Stratix của hãng Altera

Field-programmable gate array (FPGA) là một loại mạch tích hợp cỡ lớn dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được. Chữ field ở đây muốn chỉ đến khả năng tái lập trình “bên ngoài” của người sử dụng, không phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy bán dẫn. Vi mạch FPGA được cấu thành từ các bộ phận:

Các khối logic cơ bản lập trình được (logic block)Hệ thống mạch liên kết lập trình đượcKhối vào/ra (IO Pads)Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý…

FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC, nhưng nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên thư viện logic thì FPGA không đạt đựợc mức độ tối ưu như những loại này, và hạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGA ưu việt hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết kế đơn giản do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng.

Bạn đang đọc: Field

Field-programmable gate array – Wikipedia tiếng Việt

Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc mảng phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụ tái lập trình của FPGA thực hiện đơn giản hơn; khả năng lập trình linh động hơn; và khác biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối lượng lớn cổng logic (logic gate), so với các vi mạch bán dẫn lập trình được có trước nó.

Thiết kế hay lập trình cho FPGA được thực thi đa phần bằng những ngôn từ diễn đạt phần cứng HDL như VHDL, Verilog, AHDL, những hãng sản xuất FPGA lớn như Xilinx, Altera thường phân phối những gói ứng dụng và thiết bị phụ trợ cho quy trình phong cách thiết kế, cũng có một số ít những hãng thứ ba cung ứng những gói ứng dụng kiểu này như Synopsys, Synplify … Các gói ứng dụng này có năng lực thực thi toàn bộ những bước của hàng loạt tiến trình phong cách thiết kế IC chuẩn với nguồn vào là mã phong cách thiết kế trên HDL ( còn gọi là mã RTL ) . FPGA được phong cách thiết kế tiên phong bởi Ross Freeman, người sáng lập công ty Xilinx vào năm 1984, kiến trúc mới của FPGA cho phép tích hợp số lượng tương đối lớn những thành phần bán dẫn vào 1 vi mạch so với kiến trúc trước đó là CPLD. FPGA có năng lực chứa tới từ 100.000 đến hàng vài tỷ cổng logic, trong khi CPLD chỉ chứa từ 10.000 đến 100.000 cổng logic ; số lượng này so với PAL, PLA còn thấp hơn nữa chỉ đạt vài nghìn đến 10.000 .

CPLD được cấu trúc từ số lượng nhất định các khối SPLD (Simple programmable devices, thuật ngữ chung chỉ PAL, PLA). SPLD thường là một mảng logic AND/OR lập trình được có kích thước xác định và chứa một số lượng hạn chế các phần tử nhớ đồng bộ (clocked register). Cấu trúc này hạn chế khả năng thực hiện những hàm phức tạp và thông thường hiệu suất làm việc của vi mạch phụ thuộc vào cấu trúc cụ thể của vi mạch hơn là vào yêu cầu bài toán.

Kiến trúc của FPGA là kiến trúc mảng những khối logic, khối logic, nhỏ hơn nhiều nếu đem so sánh với một khối SPLD, ưu điểm này giúp FPGA hoàn toàn có thể chứa nhiều hơn những thành phần logic và phát huy tối đa năng lực lập trình của những thành phần logic và mạng lưới hệ thống mạch liên kết, để đạt được mục tiêu này thì kiến trúc của FPGA phức tạp hơn nhiều so với CPLD .

Một điểm khác biệt với CPLD là trong những FPGA hiện đại được tích hợp nhiều những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay các bộ nhân cộng (multiplication and accumulation, MAC), thuật ngữ tiếng Anh là DSP slice dùng cho những ứng dụng xử lý tín hiệu số DSP.

Ngoài năng lực tái cấu trúc vi mạch toàn cục, một số ít FPGA tân tiến còn tương hỗ tái cấu trúc cục bộ, tức là năng lực tái cấu trúc một bộ phận riêng không liên quan gì đến nhau trong khi vẫn bảo vệ hoạt động giải trí thông thường cho những bộ phận khác . Một con robot sử dụng FPGA EPXA1 của hãng Altera

Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng không, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC (ASIC prototyping), các hệ thống điều khiển trực quan, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, mô hình phần cứng máy tính, máy đánh cờ (Máy đánh cờ Hydra có 32 bộ vi xử lý cộng thêm FPGA đã chiến thắng kiện tướng quốc tế Michael Adams trong năm 2005.)…

Do tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp những bài toán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngoài ra nhờ mật độ cổng logic lớn FPGA được ứng dụng cho những bài toán đòi hỏi khối lượng tính toán lớn và dùng trong các hệ thống làm việc theo thời gian thực.

Cấu trúc tổng thể và toàn diện của một FPGA được minh họa ở hình sau . Khối logic FPGA

Phần tử chính của FPGA là các khối logic (logic block). Khối logic được cấu thành từ LUT và một phần tử nhớ đồng bộ flip-flop, LUT (Look up table) là khối logic có thể thực hiện bất kì hàm logic nào từ 4 đầu vào, kết quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flip-flop.

Configurable Logic Blocks ( CLBs )Trong tài liệu hướng dẫn của những dòng FPGA của Xilinx còn sử dụng khái niệm SLICE, 1 Slice tạo thành từ gồm 2 khối logic, số lượng những Slices đổi khác từ vài nghìn đến vài chục nghìn tùy theo loại FPGA. 4 slices tạo thành một Configurable Logic Blocks ( CLBs ). CLBs là thành phần cơ bản cấu thành FPGA, là nguồn tài nguyên logic chính tạo nên những mạch logic đồng điệu lẫn không đồng nhất .Nếu nhìn cấu trúc toàn diện và tổng thể của mảng LUT thì ngoài 4 đầu vào kể trên còn tương hỗ thêm 2 nguồn vào bổ trợ từ những khối logic phân bổ trước và sau nó nâng tổng số nguồn vào của LUT lên 6 chân. Cấu trúc này là nhằm mục đích tăng cường những bộ số học logic .

Hệ thống mạch link

Khối chuyển mạch của FPGA

Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chia thành các nhóm khác nhau, ví dụ trong XC4000 của Xilinx có ba loại kết nối: ngắn, dài và rất dài. Các đường kết nối được nối với nhau thông qua các khối chuyển mạch lập trình được (programmable switch), trong một khối chuyển mạch chứa một số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khác nhau.

Các thành phần tích hợp sẵn

Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích hợp thêm khác nhau, ví dụ để thiết kế những ứng dụng SoC, trong dòng Virtex 4,5 của Xilinx có chứa nhân xử lý PowerPC, hay trong Atmel FPSLIC tích hợp nhân AVR…, hay cho những ứng dụng xử lý tín hiệu số DSP trong FPGA được tích hợp các DSP Slide là bộ nhân cộng tốc độ cao, thực hiện hàm A*B+C, ví dụ dòng Virtex của Xilinx chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18-bit.

Xem thêm: Formaldehyde – Wikipedia tiếng Việt

Ngoài ra những FPGA của Xilinx còn có block RAM, hoàn toàn có thể mường tượng như thể bộ nhớ nhỏ nằm trong FPGA. Những FPGA này tuy nhỏ ( khoảng chừng vài chục ký lô bit cho đến vài triệu bit tùy theo loại FPGA ) nhưng hoàn toàn có thể dùng để tạo một bộ nhớ nhỏ như ROM, FIFO

Giới thiệu: Quang Sơn

Quang Sơn là giám đốc hocdauthau.com - Kênh thông tin học đấu thầu, kiến thức tổng hợp, công nghệ, đời sống.

0 Shares
Share
Tweet
Pin