5입력 컷을 이용한 AIG 재작성 기법
본 논문은 5입력 컷을 활용한 And‑Inverter Graph(AIG) 재작성 알고리즘을 제안한다. NPN 등가 클래스 중 실용적인 5‑변수 함수에 대해 최적 회로를 사전 계산하고, 컷 열거와 Boolean 매칭을 통해 교체 후보를 찾는다. 기존 4입력 컷 기반 재작성에 비해 대규모 회로의 면적을 평균 5.57 % 감소시키며, ABC 툴에 적용한 실험 결과를 제시한다.
저자: Nan Li, Elena Dubrova
본 논문은 And‑Inverter Graph(AIG)를 기반으로 하는 로컬 변환 기법인 재작성(rewriting)을 5‑입력 컷을 이용해 확장한 알고리즘을 제안한다. 논문은 먼저 논리 최적화 방법을 크게 두 종류(알고리즘 기반 전역 변환과 규칙 기반 로컬 변환)로 구분하고, 기존 상용 합성 툴이 4‑입력 컷을 활용한 재작성 엔진을 포함하고 있음을 언급한다. 이러한 배경에서 5‑입력 컷을 활용하면 더 큰 서브그래프를 탐색할 수 있어 교체 후보가 늘어나고, 결과적으로 더 큰 면적 절감이 기대된다고 주장한다.
**배경 및 정의**
- Boolean 네트워크와 AIG의 기본 개념을 정의하고, 컷(cut)의 의미와 K‑feasible, K‑input 컷을 설명한다.
- NPN 등가 클래스(Negation of inputs, Permutation of inputs, Negation of output) 개념을 소개한다.
**선행 연구**
- SOCRATES, IBM 시스템, MIS, SIS 등 초기 재작성 시스템을 언급하고, 규칙 기반 재작성이 인간 설계자가 만든 규칙에 의존한다는 한계를 지적한다.
- AIG 기반 재작성(두 레벨 서브그래프)과 4‑입력 컷을 이용한 최신 재작성(ABC의 resyn2 흐름) 등을 정리한다.
**제안 알고리즘**
알고리즘은 두 단계로 구성된다.
1. **최적 회로 생성(Best circuit generation)**
- 5‑변수 함수의 NPN 등가 클래스는 총 61 612개이며, 실제 IWLS 2005 벤치마크에서 5‑입력 컷으로 나타날 가능성이 높은 2 749개 클래스를 추출한다.
- 이 중 1 185개 클래스를 ‘실용적’이라 정의하고, 각 클래스의 대표 함수에 대해 최소 면적(AND 노드 수 + 2 × XOR 노드 수) 회로를 탐색한다.
- 탐색 과정은 포레스트(forest)와 리스트(list) 구조를 이용해 AND, XOR 게이트와 입력 보수(complement) 조합을 생성하고, 비용이 더 낮은 경우에만 저장한다.
- 비용 비교는 (a) 동일 기능을 수행하는 기존 노드와의 비용, (b) NPN 등가 클래스 내 정규형 혹은 그 보수와의 비용을 기준으로 한다.
- 노드 수가 사전에 정의된 상한(예: 10 000 000) 초과 시, 사용되지 않는 노드를 제거하는 ‘노드 축소(Reduce Nodes)’ 절차를 수행한다.
2. **컷 열거와 교체(Cut enumeration and replacement)**
- 기존 4‑입력 컷 기반 재작성과 동일하게, 각 노드를 위상 순서(topological order)로 순회하면서 모든 5‑입력 컷을 열거한다.
- Boolean 매처를 이용해 각 컷의 진리표를 정규형으로 변환하고, NPN 변환 정보를 획득한다.
- 사전 계산된 최적 회로 후보와 비교해 면적이 감소하거나 동일한 경우(‘zero‑cost replacement’)를 선택한다.
- 선택된 교체는 ‘ConnectToLeaves’ 절차를 통해 컷의 리프 노드에 매핑하고, 참조 카운트를 조정해 네트워크 구조를 업데이트한다.
**실험 설정 및 결과**
- 구현은 구조적 해시(AIG)와 ABC 툴에 통합된 ‘rewrite5’ 명령어 형태로 제공된다.
- 실험은 IWLS 2005 벤치마크(노드 수 > 5 000)에서 수행했으며, Intel Core i7 1.6 GHz, 4 GB RAM 환경에서 진행했다.
- 두 가지 흐름을 비교했다: (a) resyn2 → resyn2 (기존 흐름)와 (b) resyn2 → rewrite5 → resyn2 (제안 흐름).
- 평균 면적 감소율은 3.50 %였으며, 최대 5.57 %까지 감소했다. 실행 시간은 약 33 % 증가했지만, 면적 절감 효과가 더 큰 설계에서는 충분히 가치가 있다.
**논의 및 향후 과제**
- 사전 계산된 NPN 클래스가 전체 5‑변수 함수의 일부에 불과해, 아직 다루지 못한 함수에 대해서는 교체가 불가능함을 인정한다.
- Boolean 매처의 동적 계산이 테이블 기반 접근보다 비용이 높아 런타임이 증가한다는 점을 지적하고, 매처 최적화 혹은 하드웨어 가속을 통한 개선 가능성을 제시한다.
- 더 많은 NPN 클래스를 포함하도록 데이터베이스를 확장하고, 6‑입력 이상 컷을 탐색하는 연구도 고려할 수 있다.
결론적으로, 5‑입력 컷 기반 재작성은 기존 4‑입력 기반 방법에 비해 교체 후보가 풍부해 지역 최소점 탈출이 용이하며, 특히 면적이 중요한 ASIC/FPGA 설계 단계에서 실질적인 이점을 제공한다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기