Một LUT hai đầu vào (bảng tra cứu) có thể được biểu diễn một cách khái quát như thế này:
Một LUT bao gồm một khối SRAM được lập chỉ mục bởi các đầu vào của LUT. Đầu ra của LUT là bất kỳ giá trị nào nằm ở vị trí được lập chỉ mục trong SRAM.
Mặc dù chúng tôi nghĩ rằng RAM thường được tổ chức thành các từ 8, 16, 32 hoặc 64 bit, SRAM trong đồ họa có độ sâu 1 bit. Vì vậy, ví dụ LUT 3 đầu vào sử dụng SRAM 8x1 (2³ = 8)
Vì RAM rất dễ bay hơi, nên nội dung phải được khởi tạo khi chip được cấp nguồn. Điều này được thực hiện bằng cách chuyển nội dung của bộ nhớ cấu hình vào SRAM.
Đầu ra của LUT là bất cứ điều gì bạn muốn. Đối với cổng AND hai đầu vào,
Address In ([1:0]) Output
0 0 0
0 1 0
1 0 0
1 1 1
Ví dụ thứ hai của bạn, chỉ có bảng sự thật thay đổi:
Address In ([1:0]) Output
0 0 0
0 1 1
1 0 0
1 1 0
và cuối cùng, A xor B:
Address In ([1:0]) Output
0 0 0
0 1 1
1 0 1
1 1 0
Vì vậy, nó không giống LUT trong mỗi trường hợp, vì LUT xác định đầu ra. Rõ ràng, số lượng đầu vào cho một LUT có thể nhiều hơn hai.
LUT thực sự được triển khai bằng cách sử dụng kết hợp các bit SRAM và MUX:
Ở đây, các bit trên đầu 0 1 0 0 0 1 1 1 đại diện cho đầu ra của bảng chân lý cho LUT này. Ba đầu vào MUX ở bên trái a, b và c chọn giá trị đầu ra thích hợp.