본문 바로가기
Knowledge/Basic

합성(Synthesis) 이란?

by VIR&US 2025. 6. 24.
반응형

 

목차

     

    한마디로,
    RTL Design를 SDC와 UPF 그리고 실제 Fab에서 사용할 Standard Cell와 Hard Macro IP의  Liberty(DB로 변환해서 사용)까지 위 모든 input들을 기반으로 Gate-Level의 Net으로 바꾸는 과정입니다.
     
     

    반도체 설계의 과정 중 하나인 합성(Synthesis)은 RTL 설계를 실제 하드웨어로 구현 가능한 게이트 수준(Gate-Level)의 회로로 변환하는 핵심 단계입니다.

    합성이란 무엇인가?

    합성은 HDL(Hardware Description Language)로 작성된 RTL 코드를 바탕으로, 논리 게이트 수준의 넷리스트(Netlist)를 생성하는 과정입니다. Register-Level에서 Gate-Level로 변환 합니다. Pre-Netlist라 흔히 부릅니다. 이후 배치 및 배선(Place & Route) 단계로 넘어가기 위한 기초가 됩니다 

    합성의 전체 흐름

    합성은 다음과 같은 단계로 구성됩니다:

    • RTL 설계 (Verilog/VHDL)
      • 합성의 기본 재료입니다. 원하는 Spec에 맞게 하드웨어 언어로 설계된 코드덩어리 입니다.
    • 합성 Tool를 통한 변환
      • Design Compiler를 주로 사용했습니다. 요새들어 Fusion Compiler도 많이 사용합니다.
    • 최적화 (Optimization)
      • RTL 단계에서 사용하지 않는 logic이나. 실제로 Register-Level에서 설계된 내용이 그대로 Gate-Level로 넘어왔을때 필요 이상의 Gate가 사용될 경우가 있습니다. 같은 동작을 하는 더 작은 Gate로 구성하여 최적화 합니다.
      • 과거에는 Tool들의 최적화 알고리즘이 좋지 않아서, RTL 설계에서 고려하면서 설계를 해야만 했습니다. 현재는 Tool의 최적화 알고리즘이 많이 발전해서 하드웨어 언어도 타인이 알기 쉽게 코드를 쓰는 엔지니어들이 늘어나고 있습니다.
    • Netlist  생성
    • 결과 리포트 출력
      • Timing에 관련된 정보가 주입니다. 리포트의 결과를 보고 STA를 통해 net를 수정하게 됩니다. 불가피하게 다시 설계가 필요한 경우 RTL 설계부터 다시 진행하게 됩니다.

    합성 도구와 입력/출력

    항목 설명
    입력 RTL 코드, SDC 파일, 기술 라이브러리(Liberty), UPF
    출력 게이트 수준 네트리스트, 타이밍/전력/면적 리포트

     

    대표적인 합성 도구: Synopsys < Design Compiler >, < Fusion Compiler >, Cadence < Genus >

    SDC(Synopsys Design Constraints)

    SDC(Synopsys Design Constraints)는 합성 도구에 타이밍 제약을 전달하는 파일입니다.

    주요 명령어 예시:

    • create_clock: 클럭 정의
    • set_input_delay: 입력 지연 설정
    • set_false_path: 분석 제외 경로 지정
    • set_max_delay: 최대 지연 시간 설정

    정확한 SDC 작성은 타이밍 최적화에 필수입니다. SDC를 잘못작성하면, Chip의 타이밍 문제로 원하는 Spec으로 동작하지 못할 수 있습니다.

    UPF: 저전력 설계

    UPF(Unified Power Format)는 전력 도메인, 전력 상태, 전압 레벨 등을 정의하는 표준입니다.

    주요 기능:

    • Power Domain 정의
    • Power State 및 전력 스위칭 전략
    • Isolation/Retention 셀 지정
    • Level Shifter 삽입

    UPF는 합성뿐 아니라 배치배선, 검증 단계에서도 일관된 전력 전략을 유지하게 해줍니다. UPF에 정의된 전력 도메인에 따라 합성 도구는   level shifter Isolation Cells를 넣을 수 있습니다.

    합성 이후의 검증

    합성된 결과는 반드시 다음을 통해 검증되어야 합니다:

    • Gate-Level Simulation: 타이밍 정확성과 동작검증
    • Formal Verification: RTL과 Netlist 간의 논리 등가성 검증
    • Static Timing Analysis (STA): 타이밍 위반 여부 분석

    마무리

    합성에 대한 기본적인 내용에 대해 다룬 글입니다. 실무로 들어가면, SDC나 UPF에 의해, RTL Design의 문제, Timing issue로 인해 RTL Design부터 Synthesis 이후 P&R까지 원하는 결과가 나오기까지 처음으로 돌아가서 수없이 반복하고 많은 엔지니어들이 투입됩니다. 숙지해야하는 Tool, 설계지식들이 방대합니다.

    728x90
    반응형