디지털 슬라이싱 기반 고속 FFT 버터플라이 설계 및 FPGA 구현

본 논문은 FFT 연산의 핵심인 버터플라이 구조에 디지털 슬라이싱 기법을 적용하여 곱셈 연산을 상수 곱 전용 구조로 대체한다. 16‑bit 고정소수점 입력을 4‑bit 블록 4개로 분할하고, 미리 저장된 트위들 팩터와의 곱셈을 슬라이스별 가산·시프트 연산으로 구현한다. Xilinx Virtex‑II FPGA에 Verilog로 구현한 결과, 기존 멀티플라이어 기반 버터플라이에 비해 최대 클럭 주파수가 535.9 MHz(슬라이스 버터플라이) vs …

저자: Yazan Samir, Rozita Teymourzadeh

디지털 슬라이싱 기반 고속 FFT 버터플라이 설계 및 FPGA 구현
본 논문은 차세대 통신 시스템에서 핵심적인 OFDM 변조 방식을 지원하기 위한 고성능 FFT 구현을 목표로 한다. FFT 연산의 핵심 모듈인 버터플라이 구조는 복소수 곱셈과 가산·뺄셈으로 구성되며, 특히 복소수 곱셈이 전체 지연의 대부분을 차지한다. 이를 개선하기 위해 저자들은 ‘디지털 슬라이싱(Digit‑Slicing)’ 기법을 도입하여 곱셈 연산을 상수 곱 전용 구조로 변환한다. 논문은 먼저 FFT와 기존 버터플라이 구조를 간략히 소개한다. 레이디스‑2 DIT(Decimation‑In‑Time) 방식은 입력 데이터를 두 그룹(A, B)으로 나누고, 트위들 팩터 W와 복소수 곱셈을 수행한 뒤, 결과를 가산·뺄셈으로 결합한다. 전통적인 구현에서는 4개의 실수 곱셈과 2개의 실수 가산이 필요하며, 이는 FPGA의 DSP 블록이나 전용 멀티플라이어를 많이 소모한다. 다음으로 디지털 슬라이싱 개념을 설명한다. 2’s‑complement 고정소수점 수를 p비트 블록 b개로 분할하고, 각 블록은 2^(p·k) 가중치를 갖는다. 저자는 입력 데이터를 16‑bit으로 가정하고, 이를 4‑bit 블록 4개로 슬라이스한다. 슬라이스된 데이터와 미리 ROM에 저장된 16‑bit 트위들 팩터를 곱하는 연산은, 상수와의 곱셈이므로 각 비트에 대해 시프트와 가산만으로 구현 가능하다. 수식 (10)~(12)와 (14)~(16)에서 슬라이스된 실수와 복소수 연산을 구체적으로 전개하고, 이를 기존 복소수 곱셈 구조(그림 2)와 비교한다. 디지털 슬라이싱 버터플라이 설계는 다음과 같은 흐름을 가진다. (1) 입력 A, B를 4‑bit 슬라이스 블록으로 분리한다. (2) 각 블록을 트위들 팩터의 실수·허수 부분과 곱셈‑가산 연산으로 처리한다. (3) 블록별 결과를 가중치에 따라 재조합하여 최종 복소수 출력 X, Y를 얻는다. 이 과정에서 별도의 멀티플라이어가 필요 없으며, 전체 연산은 LUT와 레지스터만으로 구현된다. 구현 단계는 MATLAB 시뮬레이션 → Verilog HDL 코딩 → Xilinx ISE/XST 합성 → ModelSim 시뮬레이션 → Virtex‑II XC2V500‑6FG456 FPGA 보드에 다운로드 순으로 진행되었다. 두 가지 버터플라이 모듈을 비교하였다. 첫 번째는 기존 멀티플라이어 기반 구조이며, 두 번째는 제안된 디지털 슬라이싱 구조이다. 합성 결과는 표 1에 정리되어 있다. 디지털 슬라이싱 버터플라이는 최대 535.90 MHz의 클럭 주파수를 달성했으며, 이는 기존 구조의 198.98 MHz에 비해 약 2.7배 빠른 속도이다. 반면 논리 게이트 수는 31,150게이트(슬라이스) 대비 18,408게이트(기존)로 증가하였다. 또한, 슬라이스 전용 16‑bit 멀티플라이어는 609.60 MHz까지 동작 가능함을 확인하였다. 논문의 결론은 디지털 슬라이싱을 적용함으로써 FFT 버터플라이의 연산 속도를 크게 향상시킬 수 있음을 입증한다. 다만 면적·전력 소모가 증가하는 트레이드오프가 존재하므로, 고속이 절대적으로 요구되는 시스템(예: 실시간 광대역 무선 통신)에서 유용하다. 향후 연구 방향으로는 슬라이스 비트 폭을 최적화하여 면적을 감소시키는 방법, 다른 레이디스(4, 8)와 혼합 레이디스 FFT에 적용하는 확장성 검증, 그리고 전력 소비 분석을 통한 저전력 설계가 제시된다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기