อินพุต LUT สองรายการ (ตารางการค้นหา) สามารถแสดงโดยทั่วไปดังนี้:
LUT ประกอบด้วยบล็อกของ SRAM ที่สร้างดัชนีโดยอินพุตของ LUT เอาต์พุตของ LUT คือค่าใดก็ตามที่อยู่ในตำแหน่งดัชนีใน SRAM
แม้ว่าเราคิดว่า RAM โดยปกติจะจัดเป็น 8, 16, 32 หรือ 64 บิตคำ SRAM ใน FPGA นั้นมีความลึก 1 บิต ตัวอย่างเช่นอินพุต 3 LUT ใช้ 8x1 SRAM (2³ = 8)
เนื่องจาก RAM มีความผันผวนเนื้อหาจะต้องเริ่มต้นเมื่อเปิดใช้งานชิป สิ่งนี้ทำได้โดยการถ่ายโอนเนื้อหาของหน่วยความจำการกำหนดค่าลงใน SRAM
ผลลัพธ์ของ LUT คือสิ่งที่คุณต้องการให้เป็น สำหรับสองอินพุตและเกท
Address In ([1:0]) Output
0 0 0
0 1 0
1 0 0
1 1 1
สำหรับตัวอย่างที่สองของคุณเฉพาะตารางความจริงเท่านั้นที่เปลี่ยนแปลง:
Address In ([1:0]) Output
0 0 0
0 1 1
1 0 0
1 1 0
และในที่สุด A xor B:
Address In ([1:0]) Output
0 0 0
0 1 1
1 0 1
1 1 0
ดังนั้นมันจึงไม่ใช่ LUT ที่เหมือนกันในแต่ละกรณีเนื่องจาก LUT กำหนดเอาท์พุท เห็นได้ชัดว่าจำนวนอินพุตของ LUT อาจมากกว่าสอง
LUT ถูกนำไปใช้จริงโดยใช้การรวมกันของบิต SRAM และ MUX:
นี่คือบิตที่อยู่ด้านบน 0 1 0 0 0 1 1 1 หมายถึงเอาต์พุตของตารางความจริงสำหรับ LUT นี้ สามอินพุตไปที่ MUX ทางซ้าย a, b และ c เลือกค่าเอาต์พุตที่เหมาะสม