Abstract
In this paper we propose a hardware architecture of high-speed CGH (computer generated hologram) generation processor, which particularly reduces the number of memory access times to avoid the bottle-neck in the memory access operation. For this, we use three main schemes. The first is pixel-by-pixel calculation rather than light source-by-source calculation. The second is parallel calculation scheme extracted by modifying the previous recursive calculation scheme. The last one is a fully pipelined calculation scheme and exactly structured timing scheduling by adjusting the hardware. The proposed hardware is structured to calculate a row of a CGH in parallel and each hologram pixel in a row is calculated independently. It consists of input interface, initial parameter calculator, hologram pixel calculators, line buffer, and memory controller. The implemented hardware to calculate a row of a $1,920{\times}1,080$ CGH in parallel uses 168,960 LUTs, 153,944 registers, and 19,212 DSP blocks in an Altera FPGA environment. It can stably operate at 198MHz. Because of the three schemes, the time to access the external memory is reduced to about 1/20,000 of the previous ones at the same calculation speed.
본 논문에서는 고속으로 홀로그램을 생성할 수 있는 하드웨어의 구조를 제안하고 이를 구현하였다. 제안한 하드웨어는 홀로그램 평면의 행 단위로 병렬 연산을 수행할 수 있는 구조를 가지고 있고, 한 행의 각 홀로그램 화소들이 독립적으로 연산될 수 있는 알고리즘을 이용하였다. 이러한 연산 방법을 통해서 홀로그램 생성 하드웨어서 가장 문제가 되는 메모리 접근량을 대폭 감소시킴으로써 하드웨어 처리능력의 실시간성을 대폭 향상시켰다. 제안한 하드웨어는 입력 인터페이스, 초기 파라미터 연산기, 홀로그램 화소 연산기, 라인 버퍼, 그리고 메모리 제어기로 구성된다. 제안한 하드웨어는 기존의 하드웨어와 동일한 처리 능력을 가지면서도 메모리 접근횟수는 약 20,000배 감소시킬 수 있었다. 구현한 하드웨어는 198MHz에서 안정적으로 동작할 수 있었고, 168,960개의 LUT, 153,944개의 레지스터, 그리고 19,212개의 DSP 블록을 사용하였다.