PC 하드웨어와 레트로 게임계에서 여전히 유명한 3dfx Voodoo 그래픽 가속기 카드가 이제 새로운 FPGA 구현 형태로 무대에 "돌아오고 있습니다". 여러 DOS 및 PC 시뮬레이터가 Voodoo의 성능을 잘 재현할 수 있다는 점을 토대로 개발자는 프로그래밍 가능한 하드웨어에서 지난 세기의 이 고전적인 칩을 직접 재구성하기로 결정했습니다.

3dfx 브랜드는 2000년 Nvidia에 인수되어 결국 사라졌지만 Voodoo 시리즈 가속기 카드는 여전히 많은 플레이어와 3D 그래픽 매니아의 마음 속에 있는 "마법 카드"이며 다양한 복고풍 수정 프로젝트와 오래된 게임 하드웨어 솔루션의 핵심 구성 요소이기도 합니다. 현재 Voodoo 칩은 DOSBox-X, PCem, 86Box 등 다양한 시뮬레이터에서 거의 완벽하게 시뮬레이션되었으며, 하드웨어 플레이어는 오리지널 칩이나 자체 솔루션을 기반으로 수정 프로젝트를 지속적으로 시도하고 있습니다.

네덜란드 회사 VideowindoW의 최고 기술 책임자인 Francisco Ayala Le Brun은 FPGA를 통해 Voodoo의 새로운 "환생" 경로를 찾기로 결정했습니다. 그는 하드웨어 설명 언어인 SpinalHDL을 사용하여 Voodoo 1 그래픽 카드를 완전히 설명한 다음 이를 최신 FPGA(Field-Programmable Gate Array)에서 실행할 수 있는 디지털 회로 모델로 변환했습니다.

Le Brun은 기술 설명에서 Voodoo 1이 매우 오래되었지만 결코 단순한 칩 디자인이 아니라는 점을 강조했습니다. 최신 GPU와 달리 변환 및 조명 하드웨어나 프로그래밍 가능한 셰이더 기능이 없습니다. 모든 그래픽 기능은 Gouraud 셰이딩, 텍스처 샘플링, 밉매핑, 다중 레벨 텍스처 필터링(이중선형 및 삼선형), 알파 클리핑, 클리핑 계산 등을 위한 완전한 그라데이션 계산 파이프라인을 포함하여 고정 함수 형태로 실리콘 칩에 "하드 코딩"되어 있습니다.

3dfx 기반 그래픽 렌더링 프로세스에서 CPU는 3D 장면을 설명하는 데 필요한 복잡한 수학적 연산을 완료하는 역할을 담당하는 반면 Voodoo 가속기는 질감이 있는 삼각형을 화면에 최대한 빨리 그립니다. Le Brun은 이렇게 "간단해 보이는" 책임 분담이 사람들로 하여금 하드웨어 구조도 매우 단순하다고 생각하게 만들 수 있다고 지적했습니다. 실제로 하나의 삼각형만 렌더링하더라도 색상 보간, 텍스처 샘플링, 밉 수준 선택, 필터링, 깊이 비교, 자르기 및 안개 효과와 같은 일련의 작업이 칩 내부에서 완료되어야 합니다. 더욱이 이는 현대적인 의미에서 프로그래밍 가능한 프로세스가 아니라 고정 회로 형태로 칩에 고정되어 있습니다.

Voodoo 1을 재구성하는 과정에서 Le Brun은 내부의 숨겨진 복잡성을 풀어야 했습니다. 즉, 제어 경로를 재구성하고, 의미론을 등록하고, 극도로 "깊은" 파이프라인 타이밍 설계를 통해 이 초기 3D 가속기가 당시처럼 FPGA의 복잡한 렌더링 작업을 픽셀별로 나누고, 여러 단계의 파이프라인 처리를 수행하여 순수 소프트웨어 렌더링을 훨씬 능가하는 데이터 처리량 기능을 달성할 수 있도록 해야 했습니다.

SpinalHDL 및 레지스터 전송 레벨(RTL) 설계와 같은 최신 도구의 도움으로 Le Brun은 세부 사항 손실 없이 Voodoo의 아키텍처 개념을 FPGA 구현에 "인코딩"했습니다. 그는 이 프로젝트의 이름을 "SpinalVoodoo"로 지정하고 GitHub에서 오픈 소스로 만들었습니다. 현재 원래 Voodoo 칩의 기능 중 일부만 완료되지 않았습니다.

이 프로젝트는 복고풍 하드웨어 매니아 커뮤니티 사이에서 화제를 불러일으켰지만 Le Brun은 SpinalVoodoo를 중심으로 기성 FPGA 하드웨어를 출시하고 판매하는 데 아직 관심을 보이지 않았습니다. 3dfx 팬과 레트로 게이머에게 이 오픈 소스 구현은 여전히 ​​미래의 하드웨어 프로젝트, DIY 카드 또는 모딩 솔루션을 위한 매력적인 새로운 경로를 제공합니다.

자세히 알아보기:

https://noquiche.fyi/voodoo