다중입력 다수결 논리 합성의 새로운 패러다임
초록
본 논문은 진리표를 입력으로 받아 동일한 최소항 집합을 구현하는 다수결 함수 를 생성하는 MPC 알고리즘을 제안한다
알고리즘은 레벨 수 를 우선 최소화하고 그 다음에 게이트 수 인버터 수 그리고 게이트 입력 수 를 최소화한다
3 입력 함수에 대해 최적 해를 보장하고 4·5 입력 함수에 대해서는 기존 최적 합성 알고리즘인 exact_mig 보다 많은 경우에서 개선된 결과를 얻는다
상세 분석
MPC 알고리즘은 먼저 입력 진리표 로부터 변수 개수 n 을 파악하고 기본 원시 함수 집합 C V G T 를 이용해 원시 함수 테이블을 구축한다
각 원시 함수는 하나의 다수결 게이트 혹은 상수·단일 변수 형태 로 구성되며 최소 레벨·게이트·인버터·입력 수 를 만족하도록 선택된다
다음 단계에서는 모든 가능한 2 레벨 조합을 탐색해 M2 라는 룩업 테이블을 만든다
M2 에는 두 개의 다수결 게이트를 중첩한 형태의 함수들이 저장되며 동일한 최소항 집합을 커버하는 경우 비용이 가장 낮은 함수만 남긴다
이때 비용은 레벨 수 를 최우선으로 하고 그 다음에 게이트 수 인버터 수 그리고 전체 입력 핀 수 순으로 평가한다
3 입력 경우 전체 2^8=256개의 함수 중 40개는 원시 함수 로 커버되고 나머지는 M2 로 완전 커버되므로 알고리즘은 언제든 최적 해를 반환한다
4 입력에서는 2^16=65536개의 함수 중 약 90개가 원시 함수 로, 10.2·10^6 개가 M2 로 커버되며 남은 약 5만 개는 3 레벨 혹은 4 레벨 구조가 필요하다
MPC 는 이러한 남은 함수에 대해 두 단계의 탐색 루프를 적용한다 첫 번째 루프에서는 원시 함수와 M2 를 조합해 두 개의 서브함수 X1 X2 를 선택하고 남은 최소항을 X3 로 보완한다
X3 의 진리표는 X1 X2 가 커버한 최소항을 1·2·0 로 표시한 벡터 v 를 기반으로 don’t care 를 설정해 카르노 맵 혹은 기존 최소화 기법으로 생성한다
두 번째 루프에서는 위 과정이 실패할 경우 셰넌 분해를 이용해 함수 전체를 두 부분으로 나누어 각각을 재귀적으로 합성한다
비용 평가 시 Ω.I(인버터 전파) 공리를 활용해 출력 인버터를 최소화하고, 필요 시 입력 인버터와 상수 0·1 을 적절히 배치한다
실험 결과는 3 입력 전부에서 최적 해를 보장하고 4 입력에서는 66% 의 함수에서 exact_mig 보다 낮은 레벨·게이트·인버터·입력 수 를 달성했으며 11% 는 동일한 비용을 기록했다
5 입력에 대해 무작위 1000개 샘플을 테스트했을 때 48% 에서 비용이 개선되고 11% 에서 동등한 결과를 얻었다
이러한 결과는 MPC 가 기존 정확 합성 방법에 비해 비용 차원을 확장함으로써 실용적인 회로 설계에서 전력·면적·지연을 동시에 최적화할 수 있음을 보여준다
댓글 및 학술 토론
Loading comments...
의견 남기기