5입력 컷을 이용한 AIG 재작성 기법
초록
본 논문은 5입력 컷을 활용한 And‑Inverter Graph(AIG) 재작성 알고리즘을 제안한다. NPN 등가 클래스 중 실용적인 5‑변수 함수에 대해 최적 회로를 사전 계산하고, 컷 열거와 Boolean 매칭을 통해 교체 후보를 찾는다. 기존 4입력 컷 기반 재작성에 비해 대규모 회로의 면적을 평균 5.57 % 감소시키며, ABC 툴에 적용한 실험 결과를 제시한다.
상세 분석
이 논문은 논리 최적화에서 널리 사용되는 로컬 변환 기법인 ‘재작성(rewriting)’을 AIG 구조에 적용하면서, 기존 연구가 주로 4‑입력 컷에 의존했던 점을 넘어 5‑입력 컷을 활용한다는 점에서 의미가 크다. 먼저 저자들은 5‑변수 Boolean 함수의 NPN 등가 클래스를 분석하여, 전체 61 612개의 클래스 중 실제 설계 벤치마크(IWLS 2005)에서 5‑입력 컷으로 나타날 가능성이 높은 2 749개 클래스를 추출한다. 이 중 1 185개 클래스를 선택해 ‘실용적(practical)’이라고 정의하고, 각 클래스의 대표 함수에 대해 최소 면적(AND 노드 수 + 2 × XOR 노드 수) 회로를 사전 생성한다. 여기서 중요한 설계 선택은 (1) Boolean 매처를 이용해 동적으로 정규형을 계산함으로써 2³² 규모의 테이블을 회피하고, (2) 해시맵을 사용해 후보 회로를 저장해 메모리 사용을 최소화한 점이다. 또한, 노드 삽입 시 동일 비용의 기존 노드가 있으면 버리고, NPN 등가 클래스의 정규형 혹은 그 보수만을 후보로 저장함으로써 검색 효율을 높였다.
다음 단계인 컷 열거와 교체에서는 기존 4‑입력 컷 기반 재작성(예: ABC의 resyn2)과 동일한 절차를 따르면서, 각 노드에 대해 모든 5‑입력 컷을 열거하고 Boolean 매처를 통해 해당 컷의 정규형과 NPN 변환 정보를 얻는다. 이후 사전 계산된 최적 회로 후보와 비교해 면적이 감소하거나 동일한 경우(‘zero‑cost replacement’)를 선택한다. 특히, 면적 감소가 0이더라도 구조를 재배열해 후속 재작성 단계에서 추가 최적화를 유도할 수 있다는 점을 강조한다.
실험에서는 5000개 이상의 AIG 노드를 가진 대형 벤치마크에 대해 ‘resyn2 → rewrite5 → resyn2’ 흐름을 적용했으며, 기존 ‘resyn2 → resyn2’ 흐름과 비교했다. 평균 면적 감소율은 3.50 %였으며, rewrite5 단계가 추가된 전체 실행 시간은 약 33 % 증가했다. 이는 면적 절감 효과가 실행 시간 비용보다 월등히 크다는 것을 보여준다. 또한, 가장 큰 절감률을 보인 회로에서는 5‑입력 컷이 제공하는 풍부한 교체 후보 덕분에 기존 4‑입력 기반 재작성으로는 탈출하기 어려운 지역 최소점(local minima)을 벗어날 수 있었다.
이 연구의 한계는 (1) 사전 계산된 NPN 클래스가 전체 5‑변수 함수의 일부분에 국한되어 있어, 아직 다루지 못한 클래스에 대해서는 교체가 불가능하다는 점, (2) Boolean 매처의 계산 비용이 테이블 기반 접근보다 다소 높아 실행 시간 증가에 기여한다는 점이다. 향후 연구에서는 더 많은 NPN 클래스를 포괄하도록 후보 회로 데이터베이스를 확장하고, 매처 알고리즘을 최적화하거나 하드웨어 가속을 도입해 런타임 오버헤드를 감소시키는 방안을 모색할 수 있다. 전반적으로 5‑입력 컷 기반 재작성은 기존 AIG 최적화 흐름에 유용한 보완 수단이며, 특히 면적이 중요한 ASIC/FPGA 설계 단계에서 적용 가치가 높다.
댓글 및 학술 토론
Loading comments...
의견 남기기