Trong lĩnh vực công nghệ tái cấu trúc IC hiện nay có tất cả 5 công nghệ fuse, EPROM, EEPROM, SRAM based, Antifuse trong đó SRAM-based là công nghệ phổ biến được sử dụng cho FPGA.
SRAM-based
Cấu hình của FPGA bản chất là mô tả các điểm kết nối giữa các thành phần có chứa trong IC, có hai dạng kết nối cơ bản là kết nối giữa các đường kết nối dẫn bằng ma trận chuyển mạch (switch matrix), và kết nối nội bộ trong các khối logic. Kết nối trong ma trận chuyển là kết nối giữa hai kênh dẫn được thực hiện thông qua các pass-transitor, hay gọi là transitor dẫn. 1 bit thông tin từ bộ nhớ SRAM được sử dụng để đóng hoặc mở pass-transitor này, tương ứng sẽ ngắt hay kết nối giữa hai kênh dẫn.
Kiểu cấu trúc thứ hai phổ biến trong các khối logic là lập trình thông qua khối chọn kênh (Multiplexer). Thông tin điều khiển từ SRAM cho phép khối chọn kênh chọn một trong số các đầu vào để đưa ra. Nếu khối lượng đầu vào là 2n, thì yêu cầu số bit điều khiển từ SRAM là n-bit.
Kiểu cấu trúc thứ 3 được gọi là Look-Up Table (LUT), mỗi một LUT có thể được lập trình để thực hiện bất kỳ một hàm logic bất kỳ nào của đầu ra phụ thuộc các đầu vào. Cơ chế làm việc của LUT có thể tóm tắt như sau, giả
chứa thông tin về n đầu ra đối với tất cả các khả năng đầu vào. Khi làm việc thì m-bit đầu vào đóng vai trò như địa chỉ để truy cập (Look-up) lên bộ nhớ (Table). Về bản chất cấu trúc này cũng giống như khối chọn kênh cỡ lớn. Trong FPGA phổ biến sử dụng các LUT có 4-6 bit đầu vào và 1 bit đầu ra.
Như vậy tính khả trình của FPGA được thực hiện nhờ tính khả trình của các khối logic và tính khả trình của hệ thống kênh kết nối, ngoài ra là tính khả trình của các khối điều khiển cổng vào ra.
Sau đây ta sẽ đi vào nghiên cứu cấu trúc cụ thể của họ FPGA Spartan 3E của Xilinx, về cơ bản, cấu trúc của các họ Xilinx FPGA khác đều tương tự như cấu trúc này.
2.2. Kiến trúc của FPGA