본문 바로가기
전자 | 제어 | 항공우주/FPGA & HDL

[FPGA 강의1] LUT (Look Up Table)

by 상상메카J 2024. 8. 10.
반응형

이 글을 PDF로 보기

[FPGA 강의1] - LUT(Look-Up Table).pdf
0.14MB

선행 이해:

AND, OR, NOT, XOR, NAND Gates 작동 방식 및 진리표.

이 부분은 너무 기초라서 생략하고 시작하겠습니다.

반응형

 

LUT (Look-Up Table)

LUT를 통해 기본 게이트들이 어떻게 작동하는지 더 깊이 알아보겠습니다. 그리고 더 복잡한  Boolean algebra (부울 대수)에 대해 알아보겠습니다.

 

먼저, 모든 이산 논리 게이트(AND, OR, XOR )는 실제로는 FPGA 내부에 존재하지 않습니다. 그러나 이러한 기능을 분명 FPGA는 수행할 수 있습니다. FPGA가 부울 대수를 수행할 수 있는 방법은 Look-Up Table (LUT)을 사용하는 것입니다. LUT는 프로그래밍될 수 있는 이산 기능 블록입니다. LUT는 진리표 개념을 사용하여 출력과 입력을 연결합니다. 예제를 살펴보겠습니다.

 

다음 부울 방정식에 대한 진리표를 작성해 보겠습니다: Q = A*B + A’. 우선, 이러한 기호가 의미하는 바를 정의해야 할 것입니다.

  • = AND
  • = OR 
  • ‘ = NOT
  • ^ = XOR

따라서 구두로, 부울 방정식 Q = AB + A’출력 Q A B AND하거나 A가 아닌 값을 갖는다라고 읽을 수 있습니다. 이제 진리표와 이 방정식으로 생성된 회로를 살펴보겠습니다. 아래 이미지를 보면, 이 회로를 만들기 위해 총 3개의 게이트가 필요하다는 것을 알 수 있습니다.

(그림)

Q=A*B+A'

진리표 Q = A*B + A’
A B  Q
0 0 1
0 1 1
1 0 0
1 1 1

 

 

위 예제의 진리표는 두 개의 입력(A B)을 가지므로 4가지 가능한 출력 조합이 있습니다. 각 입력은 가능한 출력의 수를 2배로 증가시킵니다. 따라서 하나의 입력에 대해 2개의 출력 가능성이 있고, 2개의 입력에 대해 4개의 출력 가능성이 있으며, 3개의 입력에 대해 8개의 출력 가능성이 있습니다. 수학적으로는 2^(입력 수)로 표현할 수 있습니다. 이제 3개의 입력을 가진 또 다른 예제를 살펴보겠습니다. 진리표를 만들 방정식은 다음과 같습니다: Q = A + (CB’). 괄호는 C AND NOT B 연산이 OR 연산보다 우선적으로 수행됨을 나타냅니다.

 

 

진리표 Q = A + (C*B’)
A B C Q
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

Vivado 3-Input LUT

 

 

글의 처음에 언급했듯이, 이산 논리 게이트는 실제로 FPGA 내부에 존재하지 않습니다. 대신 FPGA Look-Up Tables 또는 LUT를 사용합니다. LUT는 프로그래머에의해 부울 대수 방정식을 수행하도록 프로그래밍됩니다. 예상할 수 있듯이, 모든 가능한 부울 표현의 조합이 Look-Up Table에 프로그래밍될 수 있어야 합니다. 다시 말하자면, 하나의 3-입력 LUT 3개의 입력 신호를 사용하여 생각할 수 있는 모든 부울 대수 방정식을 만들 수 있습니다.

LUT는 사용하는 FPGA에 따라 다양한 크기로 제공될 수 있지만, 모두 같은 방식으로 작동합니다. 3-input LUT는 그리 오래전까지 표준이었지만, 요즘에는 4-input 및 5-input LUT가 일반적입니다. 더 복잡한 표현을 만들어야 할 경우, 더 많은 Look-Up Tables를 사용할 수 있습니다. LUT FPGA에서 가장 기본적인 두 가지 구성 요소 중 하나입니다. 단일 FPGA에는 이러한 구성 요소가 수천 개 있습니다. 이제 이러한 놀랍고 다재다능한 구성 요소에 대해 더 잘 알게 되었으니, FPGA 내부의 또 다른 가장 중요한 요소인 Flip-Flop (=Register)에 대해 알아보겠습니다.

 

https://johnnyjay.tistory.com/126

 

[FPGA 이해하기2] Flip-Flop (Registor)

이전 글에서는 Look-Up Table (LUT) 구성 요소에 대해 알아봤습니다. LUT는 FPGA 내부에서 가장 중요한 두 가지 구성 요소 중 하나이며, 다른 하나는 플립플롭입니다. 플립플롭의 종류는 여러 가지가 있

johnnyjay.tistory.com

 

그럼 다들 화이팅!

반응형

댓글