πŸ“Œ LUT

LUT (Look-Up Table) β€” Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ логичСский элСмСнт Π² FPGA, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π±ΡƒΠ»Π΅Π²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с фиксированным числом Π²Ρ…ΠΎΠ΄ΠΎΠ².

🧠 Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

LUT прСдставляСт собой Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 4–6 Π±ΠΈΡ‚ Π²Ρ…ΠΎΠ΄Π°), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Ρ€Π°Π½Π΅Π΅ записаны Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ Π²Ρ…ΠΎΠ΄ΠΎΠ².
ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° адрСсуСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ячСйка β€” ΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ получаСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ логичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 2-входовая LUT ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ f(A, B) β€” AND, OR, XOR ΠΈ Π΄Ρ€., Π·Π°Π΄Π°Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ истинности.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ LUT:

  • n Π²Ρ…ΠΎΠ΄ΠΎΠ² (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 4, 5 ΠΈΠ»ΠΈ 6)
  • 2^n Π±ΠΈΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Ρ‚Π°Π±Π»ΠΈΡ†Π° истинности)
  • 1 Π²Ρ‹Ρ…ΠΎΠ΄ (ΠΈΠ½ΠΎΠ³Π΄Π° большС, Ссли LUT ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π°)
  • Иногда содСрТит MUX ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅

βš™οΈ Π“Π΄Π΅ примСняСтся

ΠžΠ±Π»Π°ΡΡ‚ΡŒ примСнСнияНазначСниС
FPGAΠ‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π² CLB
Programmable LogicРСализация Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
Finite State Machine FSMΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ состояний
DSP BlocksБыстрая рСализация ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ

πŸ’» ΠŸΡ€ΠΈΠΌΠ΅Ρ€ (Π½Π° Verilog)

// РСализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ XOR Ρ‡Π΅Ρ€Π΅Π· LUT-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ
module xor_gate(input a, input b, output y);
  assign y = a ^ b;
endmodule

πŸ“ Π‘Ρ…Π΅ΠΌΠ° LUT-4

 Π’Ρ…ΠΎΠ΄Ρ‹: A, B, C, D
     ↓↓↓↓
+------------------+
|  Π’Π°Π±Π»ΠΈΡ†Π° 16 Π±ΠΈΡ‚  | ← (адрСсируСтся Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ)
+------------------+
         ↓
       Π’Ρ‹Ρ…ΠΎΠ΄

βœ… ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°

  • Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π»ΡŽΠ±ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с n Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ

  • Быстрая Ρ€Π°Π±ΠΎΡ‚Π° β€” ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅

  • МинимальноС энСргопотрСблСниС Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π»ΠΎΠ³ΠΈΠΊΠΈ

❌ НСдостатки

  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ числу Π²Ρ…ΠΎΠ΄ΠΎΠ² (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎ 6)

  • Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… LUT ΠΈ Routing Matrix

  • Низкая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ Π±Π΅Π· DSP Blocks