룩업테이블 논리 (Look-Up Table Logic)
쉽게 풀면
복잡한 계산식을 매번 다시 푸는 대신, 가능한 모든 입력 경우의 답을 미리 표로 만들어 놓고 필요할 때 그 표를 찾아보는 방식을 상상하면 됩니다. 디지털 회로에서는 이 표를 작은 메모리 셀들로 구현하는데, 몇 개의 입력 비트가 주소 역할을 해서 해당 위치에 저장된 값을 출력으로 내보냅니다. 표 안의 값을 바꾸면 완전히 다른 논리 함수가 되므로, 회로의 배선은 그대로 두고 내용만 바꿔서 기능을 재구성할 수 있습니다. 이런 성질 덕분에 룩업테이블은 재구성 가능한 하드웨어의 가장 기본적인 구성 요소로 쓰입니다.
왜 중요한가
룩업테이블 논리는 FPGA 내부 논리 블록의 핵심 구성 원리이며, 임의의 불리언 함수를 하드웨어 구조 변경 없이 구현할 수 있게 해줍니다. 이 때문에 재구성 가능한 컴퓨팅과 맞춤형 하드웨어 가속기 연구에서 자주 다루어지는 개념입니다.
논문에서는 이렇게 쓰입니다
4개의 입력 비트로 주소를 지정하는 작은 메모리를 이용해 원하는 논리 함수를 표현했다는 뜻입니다.
회로 배선은 바꾸지 않고 표의 값만 바꿔 기능을 변경했다는 의미입니다.
조금 더 깊게 보면
k개의 입력을 갖는 룩업테이블은 일반적으로 2의 k제곱 개의 저장 칸을 가지며, 이 값들은 정적 램(SRAM) 셀에 저장되는 경우가 많습니다. FPGA 설계 도구는 사용자가 작성한 논리식을 합성 과정에서 여러 개의 룩업테이블 조합으로 분해하여 매핑합니다. 입력 수가 늘어날수록 표현 가능한 함수는 많아지지만 저장 공간과 지연시간이 함께 증가하는 절충 관계가 있습니다.
주의할 점
룩업테이블 방식은 유연하지만, 동일한 함수를 전용 게이트 회로로 구현하는 것보다 일반적으로 면적과 지연시간 측면에서 불리한 경우가 많다는 점에 유의해야 합니다.