ArithsGen 하드웨어 가속기용 산술 회로 생성기
초록
ArithsGen은 파이썬 기반 메타언어를 이용해 와이어·게이트 수준부터 가산기·곱셈기·MAC 등 복합 회로까지 계층적·플랫 구조로 자동 생성하고, Verilog·BLIF·C/C++·정수 넷리스트 등 다양한 포맷으로 출력한다. 사용자 정의 비트폭, 부호, 내부 가산기 종류 등을 자유롭게 지정할 수 있으며, 오픈소스로 제공돼 확장과 최적화가 용이하다. 실험에서는 32‑bit 회로를 0.5 초 이내에 생성하고, ASIC 합성 시 플랫 가산기가 25‑31 % 전력 절감 효과를 보이는 등 설계 효율성을 입증했다.
상세 분석
ArithsGen은 기존의 상용·오픈소스 산술 회로 생성기들이 갖는 “구조적 확장성 부족”, “출력 포맷 제한”, “폐쇄형 구현”이라는 세 가지 근본적인 한계를 해결하기 위해 설계되었다. 핵심 아이디어는 파이썬 객체지향 프로그래밍을 메타언어로 활용해 와이어, 버스, 논리게이트 등 기본 요소를 클래스로 정의하고, 이를 조합해 1‑bit 가산기·전가산기부터 Dadda, Wallace, RCA, CLA 등 다양한 가산·곱셈 구조를 계층적으로 구성한다. 사용자는 unsigned_adder_class_name 같은 파라미터를 통해 곱셈기의 부분 가산기를 자유롭게 교체할 수 있어, 동일 비트폭에서도 서로 다른 면적·지연·전력 특성을 가진 설계를 손쉽게 생성한다.
출력 단계에서는 내부 메타 모델을 재귀적으로 탐색해 Verilog, BLIF, C/C++ 코드와 CGP용 정수 넷리스트를 자동으로 생성한다. 특히 계층형 설계와 플랫 설계를 모두 지원하는데, 이는 ABC와 같은 논리 합성·검증 툴이 요구하는 포맷과 일치한다. 플랫 변환 시 와이어 이름 충돌을 방지하기 위해 인스턴스마다 고유 식별자를 부여하고, 상수 와이어(전원·접지) 최적화도 자동 수행한다.
실험에서는 (1) 기능 검증 – 작은 회로는 시뮬레이션, 대형 회로는 ABC 검증으로 정확성을 확인했으며, (2) ASIC 흐름 – Synopsys Design Compiler와 FreePDK45 라이브러리를 이용해 16‑bit 및 32‑bit 가산·곱셈기를 합성했다. 플랫 가산기는 계층형 대비 25‑31 % 전력 절감 효과를 보였고, Dadda 곱셈기는 동일 면적에서 배열 곱셈기 대비 약 10 % 면적 절감을 달성했다. 또한, 생성된 정확 회로를 CGP 기반 근사 설계 툴에 시드로 제공했을 때, 초기 회로 선택에 따라 근사 회로의 오류·전력·면적 트레이드오프가 크게 달라지는 것을 확인했다.
ArithsGen은 오픈소스(GitHub)로 배포되며, 상세 튜토리얼과 예제 코드가 포함돼 있다. 따라서 연구자·엔지니어는 자신만의 맞춤형 산술 회로를 빠르게 프로토타이핑하고, 이후 합성·검증·근사화 파이프라인에 바로 연계할 수 있다. 향후 확장 방향으로는 PDK‑레벨 셀(전용 풀앱셀) 매핑, 고정소수점·부동소수점 전용 곱셈기, 그리고 머신러닝 기반 설계 공간 탐색과의 연동이 제시된다.
댓글 및 학술 토론
Loading comments...
의견 남기기