본문 바로가기

VLSI/Design

Synthesis (합성) 이란

Synthesis (합성) 이란, RTL (Register Transfer Level) language 를 입력 받아서 gate-level netlist 로 변환하는 과정이라고 정의되어 있다. 그렇다면, RTL 은 어떻게 gate-level netlist 가 되는걸까.

 

아래 예시는 combinational logic 예시이다.

입력 sel 신호가 1이면 입력 A 를 출력하고, 0 이면 입력 B 를 출력한다.

module selection (
    input  A,
    input  B,
    input  sel,
    output reg C
);

    always @(*) begin
        if (sel == 1'b1) begin
            C = A;
        end
        else begin
            C = B;
        end
    end

endmodule

 

그렇다면 위와 같은 RTL 은, 어떻게 gate-level netlist 가 될 수 있을까? 바로 2-to1 MUX 로 변환 된다.

2-to-1 MUX 는 다음과 같은 boolean algebra logic 을 가진다.

C = A(sel) + B(!sel)

 

따라서, 예시 코드는 1개의 inverter, 2개의 AND gate, 1개의 OR gate 로 변환 될 수 있는 것이다.

 

위와 같이, human friendly code 인 RTL 을, logic gate (또는 gate level 이라고함) 로 변환하는 과정을 합성 (Synthesis) 라고 한다.

'VLSI > Design' 카테고리의 다른 글

Low power RTL coding guide  (0) 2026.03.29