등가성 검사 이는 ‘형식 검증’이라고 불리는 더 광범위한 분야의 일부입니다. 이 기술은 수학적 모델링 기법을 활용하여 두 가지 설계 표현이 동일한 동작을 보인다는 것을 증명합니다. 이 접근 방식은, 철저한 시뮬레이션을 통해 설계의 정확성을 검증하는 ‘ 기능 검증 ’와 혼동해서는 안 됩니다.
설계의 검증된 버전이 확인되면, ‘ 등가성 검사 ’을 사용하여 해당 설계의 대체 표현이 검증된 버전과 동일한 동작을 보이는지 확인할 수 있습니다. 이 기법은 입력 벡터를 사용하지 않으므로 더 효율적입니다.
등가성 검사 합성과 같은 작업 후, 또는 기능 ECO 적용된 후에도 변하지 않았는지 확인하는 데 유용합니다.
등가성 검사 에는 세 가지 기본 단계가 있습니다:
설정 단계의 입력 자료로는 검증된 참조 설계, 라이브러리 요소 및 수정된 설계가 포함됩니다. 이 단계에서는 입력 자료를 불러오고, 후속 단계를 원활하게 진행하기 위해 데이터 구조를 생성합니다.
매핑 단계에서는 설계의 주요 지점을 매핑하고 비교합니다. 비교 지점을 구성하는 데는 일반적으로 로직 콘이 사용됩니다. 로직 콘은 비교 지점을 구동하는 조합 논리 블록입니다. 로직 콘의 입력에는 레지스터 출력 핀, 1차 입력 포트 및 블랙박스 출력 핀이 포함됩니다. 비교 지점에는 레지스터, 1차 출력 포트 및 블랙박스 입력 핀이 포함됩니다.
비교 과정에서 매핑된 주요 지점들을 검토하여, 해당 지점들이 동등한지, 비동등한지, 아니면 반전된 동등한지 여부를 판단합니다. 결론이 나지 않은 결과를 반환하는 설계 부분은 해결을 위해 더 많은 노력을 들여 다시 실행할 수 있습니다.
아래 그림은 그 과정을 보여줍니다:
일반적인 복잡한 SoC 설계에서는 설계에 대한 작업을 수행하는 여러 도구가 설계 흐름에 포함되어 있습니다. 논리 합성 외에도, 설계 문제나 설계 변경 사항을 해결하기 위한 전력 최적화 단계, 테스트 가능성 삽입 및 기능적 ECO 등이 있습니다.
이러한 모든 단계는 설계 동작에 미묘한 변화를 초래할 수 있으며, 시뮬레이션은 이를 구동하는 테스트 벤치의 완성도에 따라 그 한계가 결정되기 때문에 이러한 변화를 시뮬레이션만으로는 놓칠 수 있습니다. 등가성 검사 는 벡터리스 형식 증명 접근 방식을 기반으로 하므로, 이 기술은 해당 과정에서 발생하는 광범위한 오류를 포착할 수 있습니다. 이를 통해 최종 결과에 대한 신뢰도가 크게 향상됩니다.
등가성 검사 이는 어떤 설계 워크플로우에도 강력한 보완 기능을 제공합니다. 형식적 방법을 적용하여 설계의 일관성을 검증할 수 있는 능력은 테스트 벤치의 완전성에 좌우되지 않는 결과물의 품질에 대한 통찰력을 제공합니다. 구체적인 이점은 다음과 같습니다:
논리 등가성 검사( 등가성 검사 , LEC)는 설계의 조합 논리 구조를 분석하여, 두 가지 대안 구현 방식의 구조가 동일한 동작을 보일지 여부를 판단합니다. 리타이밍과 같은 작업이 설계에 적용될 경우, 두 표현 방식 간의 설계 구조는 더 이상 대응 관계를 이루지 않게 됩니다.
시퀀스 동등성 검사(SEC)는 타이밍을 고려하여 여러 클럭 사이클에 걸쳐 두 설계 표현 간의 동등성을 검토합니다.
Synopsys 제안 Formality 등가성 검사 두 버전의 설계가 기능적으로 동등한지 판단하기 위해 형식적 및 정적 기법을 사용하는 방법입니다.
Synopsys 또한 다음과 같은 기능을 제공합니다 VC Formal, 속성 검증(FPV), 자동 추출 속성(AEP), 커버리지 분석기(FCA), 연결성 검사(CC), 순차적 등가성 검사 (SEQ), 레지스터 검증(FRV), X-전파 검증(FXP), 테스트벤치 분석기(FTA), 회귀 모드 가속기(RMA), 데이터 경로 검증(DPV), 기능 안전(FuSa) 및 표준 버스 프로토콜 검증을 위한 어설션 IP(AIP) 포트폴리오를 포괄적으로 포함하고 있습니다.
마지막으로, Synopsys ESP를 제공합니다. ESP는 기호 시뮬레이션(Symbolic Simulation)을 기반으로 한 맞춤형 설계 형식 검증(Formal 등가성 검사 ) 도구입니다. ESP는 맞춤형 설계( 임베디드 메모리), 맞춤형 매크로, 표준 셀 및 I/O 셀 라이브러리와 같은 설계의 완전한 형식 검증( 기능 검증 )에 일반적으로 사용되는 형식 검증( 등가성 검사 ) 도구입니다. 이 도구는 두 설계 표현이 기능적으로 동등한지 확인하는 데 사용됩니다. 이러한 설계는 Verilog 행동 모델(Behavioral model), RTL, 게이트(Gate), 스위치(Switch) 또는 SPICE, .db 넷리스트(netlist) 뷰로 표현될 수 있습니다.