전자 설계 자동화(EDA) 분야에서 ‘합성(Synthesis)’이란, 고수준 하드웨어 설명을 반도체 칩에서 물리적으로 제조할 수 있는 저수준 표현으로 변환하는 자동화된 과정을 의미합니다. 일반적으로 합성이란, Verilog나 VHDL과 같은 하드웨어 설명 언어로 작성된 레지스터 전송 레벨(RTL) 코드를 게이트 레벨 넷리스트로 변환하는 것을 말합니다. 이 넷리스트는 실리콘에 실제로 구현될 논리 게이트와 연결 관계를 명시합니다.
이 과정은 디지털집적 회로(IC) 설계의 기초가 됩니다. 합성(Synthesis)은 설계자가 만드는 추상적이고 사람이 읽을 수 있는 논리와, 제조 도구가 요구하는 구체적이고 상세한 하드웨어 사이를 연결하는 가교 역할을 합니다. 이는 개념 단계에서 실제 장치로 넘어가는 과정에서 의도된 기능, 성능 및 기타 설계 목표가 유지되도록 보장하는 데 있어 매우 중요한 단계입니다.
합성(Synthesis)은 코드를 변환할 뿐만 아니라, 전력 소비, 성능(속도), 실리콘 면적과 같은 주요 지표에 맞춰 결과 회로를 최적화합니다. 기술 노드가 미세해지고 설계가 점점 더 복잡해짐에 따라, 합성은 칩이 효율적이고 신뢰할 수 있으며 양산 가능하도록 보장하는 데 있어 점점 더 중요한 역할을 하고 있습니다.
합성은 디지털 회로의 동작을 레지스터, 연산 및 데이터 흐름의 관점에서 설명하는 RTL 코드에서 시작됩니다. 합성 과정은 다음과 같은 몇 가지 주요 단계를 거칩니다:
합성 도구는 또한 설계가 지정된 목표를 얼마나 잘 충족하는지에 대한 피드백을 제공합니다. 예를 들어, 회로가 원하는 클럭 속도로 작동할지, 또는 특정 면적 예산 내에 들어갈지 여부를 예측할 수 있습니다. 이러한 피드백을 통해 설계자는 설계 과정의 초기 단계에서 RTL 코드나 제약 조건을 개선할 수 있습니다.
| 단계 | 설명 |
| 구문 분석 및 상세 설명 | RTL을 읽고, 오류를 확인하며, 설계에 대한 내부 모델을 구축합니다. |
| 기술 매핑 | RTL을 표준 논리 게이트와 플립플롭으로 구성된 네트워크로 변환합니다. |
| 최적화 | 면적, 전력 및 성능(예: 리타이밍, 리소스 공유)을 최적화하기 위해 넷리스트를 정제합니다. |
| 제약 조건 처리 | 타이밍, 면적, 전력 요구 사항과 같은 설계 제약 조건을 적용합니다. |
| 출력 생성 | 배치, 라우팅 및 물리 설계 에 사용할 게이트 레벨 넷리스트를 생성합니다. |
첨단 반도체 공정 노드에서는 변동성, 누설 전류, 타이밍 클로저와 같은 현상이 훨씬 더 두드러지게 나타납니다. 합성 단계에서는 이러한 물리적 현실을 고려해야 하며, 이를 위해 종종 물리 설계 도구와의 긴밀한 연동과 더욱 정교한 모델링이 필요합니다. 이를 통해 설계의 복잡성이 증가하더라도 제조 가능성은 물론 성능 및 전력 목표도 충족할 수 있습니다.
합성은 검증 및 테스트와 밀접한 관련이 있습니다. 합성 과정에서 테스트 구조를 삽입하여, 제조된 칩의 결함을 효율적으로 테스트할 수 있도록 할 수 있습니다. 또한 합성 도구는 게이트 레벨 넷리스트가 원본 RTL 코드와 기능적으로 동등한지 확인하는 형식 검증 도구와 연동되어, 제조 전에 오류를 발견하는 데 도움을 줍니다.
RTL 합성은 구체적으로 레지스터 전송 레벨(RTL) 코드를 게이트 레벨 넷리스트로 변환하는 과정을 의미하는 반면, 논리 합성은 다양한 추상화 수준에서의 최적화 및 변환을 포함할 수 있는 더 광범위한 용어입니다. 실제로 디지털 IC 설계 분야에서는 이 두 용어가 종종 같은 의미로 혼용되기도 합니다.
| 측면 | RTL 합성 | 논리 합성 |
| 입력 레벨 | 레지스터-전송 레벨(RTL) 코드 | 다양한 추상화 수준을 포함할 수 있다 |
| Output | 게이트 레벨 넷리스트 | 추상화 계층 전반에 걸쳐 최적화된 넷리스트 |
| 범위 | RTL-to-gate 변환에 대한 보다 집중적인 접근 | 더 광범위하며, 변환 및 최적화를 포함합니다. |
| 사용법 | 디지털 IC 설계에서 흔히 사용됨 | RTL 합성과 혼용되어 사용되는 경우가 많다 |
합성 도구는 연결되지 않은 신호나 일관성 없는 계층 구조와 같은 많은 오류를 포착할 수 있지만, 포괄적인 설계 검증( 기능 검증)을 대체할 수는 없습니다. 그러나 합성 도구는 제조를 방해하거나 구현에 영향을 미칠 수 있는 문제점을 지적해 주며, 설계 검증( 등가성 검사 ) 도구를 통해 합성된 설계가 설계자의 의도와 일치하는지 확인할 수 있습니다.
현대 합성 기술은 급속히 발전하고 있습니다. 기계 학습은 설계 변경의 영향을 예측하고 최적화를 개선하는 데 활용되고 있습니다. 클라우드 기반 합성 기술은 대규모 설계의 처리 속도를 높여줍니다. 합성, 배치 및 배선을 통합한 통합 워크플로는 첨단 칩에 요구되는 점점 더 높아지는 복잡성과 집적도를 해결하는 데 기여하고 있습니다.
Synthesis는 반도체 설계 공정에 다음과 같은 다양한 중요한 이점을 제공합니다:
| 이점 | 설명 |
| 자동화 | 고수준 RTL에서 하드웨어로의 변환을 자동화합니다. |
| 최적화 | 알고리즘을 통해 전력, 성능 및 면적을 개선합니다. |
| 확장성 | 소형 컨트롤러부터 대형 SoC에 이르기까지 다양한 설계를 다룹니다. |
| 예측 가능성 | 타이밍, 면적, 전력에 대한 초기 피드백을 제공합니다. |
| 통합 | 검증, 테스트 및 물리 설계 도구와 연동됩니다. |
| 일관성 | RTL 단계부터 실리콘 구현 단계에 이르기까지 설계 의도를 그대로 유지합니다. |
합성 과정은 칩이 성능 및 전력 목표를 얼마나 잘 달성하는지에 직접적인 영향을 미칩니다. 합성 도구는 로직을 최적화하고 이를 기술 라이브러리에 효율적으로 매핑함으로써, 까다로운 타이밍 목표를 달성하고 에너지 소비를 최소화하는 데 기여할 수 있으며, 이는 특히 배터리 구동형 및 고성능 애플리케이션에서 매우 중요합니다.
Synopsys 전자 설계 자동화 분야의 글로벌 선도 기업으로, 다음 두 분야 모두에 합성 솔루션을 제공하고 있습니다. FPGA 및 ASIC 설계 워크플로우 모두를 위한 합성 솔루션을 제공합니다.
모든 Synopsys 합성 도구는 Verilog, SystemVerilog, VHDL과 같은 업계 표준 하드웨어 기술 언어를 지원합니다. 이러한 솔루션을 도입함으로써 엔지니어링 팀은 수렴 속도를 높이고, 설계 품질에 대한 조기 통찰력을 확보하며, FPGA 및 ASIC 설계 분야에서 경쟁력 있는 성과를 달성할 수 있습니다.
| 흐름 | Synopsys 제품 | 목적 |
| FPGA | Synplify® | 프로그래머블 로직 설계를 위한 고품질 합성. |
| ASIC | Design Compiler® | PPA(전력, 성능, 면적)에 최적화된 업계 표준 RTL 합성. |
| ASIC | Fusion Compiler™ | 합성, 배치 및 배선을 통합한 RTL-GDSII 통합 흐름. |