728x90

https://chanfifo77.tistory.com/155

 

[설계 용어] RTL : Register Transfer Level

Register Transfer LevelRTL은 하드웨어의 동작(Behavior)을 중심으로 Register 간 데이터 전송과 연산을 통해 칩의 기능을 추상적으로 기술한 설계 코드."무엇을 할 것인가(What)"를 기술하는 설계 언어.RTL은

chanfifo77.tistory.com

https://chanfifo77.tistory.com/156

 

[설계 용어] Netlist : Gate Level Netlist

Gate Level Netlist (GLN)실제로는 그냥 netlist라고 부른다.GLN은 하드웨어의 구조(Structure)를 중심으로 논리 게이트 단위로 회로를 기술한 설계 데이터."어떻게 동작할 것인가(How)"를 기술하는 회로 구현

chanfifo77.tistory.com

 


RTL vs. GLN(Gate Level Netlist)

디지털 회로 설계의 관점 전환: 무엇을 설계할 것인가 vs. 어떻게 구현할 것인가

디지털 칩을 설계하는 과정에서 가장 먼저 마주치는 두 가지 핵심 용어가 있다: 바로 RTL(Register Transfer Level)GLN(Gate Level Netlist)이다.

이 둘은 목적도, 사용하는 시점도, 추상화 수준도 서로 다르다. 하지만 설계 흐름 속에서 자연스럽게 연결되며, 하나가 다음을 위한 기초가 된다.

1. 정의와 관점 차이

구분 RTL (Register Transfer Level) GLN (Gate Level Netlist)
관점 기능 중심 ("무엇을 할 것인가") 구현 중심 ("어떻게 할 것인가")
수준 추상적 표현 (행위 기반) 구체적 표현 (게이트 기반)
설계 단계 Front-end Back-end 초입 (합성 이후)

RTL은 기능 단위로 동작을 정의한다. 예: “두 숫자를 더한다.”

GLN은 그 동작을 어떤 게이트로 구현할지 결정된 결과이다. 예: “XOR와 AND로 만들어진 덧셈 회로.”

2. 기술 방식과 '합성'의 역할

RTL은 HDL(Verilog, VHDL)로 작성된, 사람이 이해하기 쉬운 고수준 코드다. 주로 연산, 조건, 상태 전이에 대한 기능(Behavior)을 기술한다.

이 RTL 코드는 '논리 합성(Logic Synthesis)'이라는 과정을 거쳐 GLN으로 변환된다. 합성은 단순한 번역이 아니라, 최적화 과정이다. 합성 도구(Tool)는 아래와 같은 설계 제약 조건(Constraints)을 만족시키며 RTL을 게이트 조합으로 바꾼다.

  • 타이밍(Timing): 이 회로는 얼마나 빠르게 동작해야 하는가?
  • 면적(Area): 얼마나 작은 면적으로 구현해야 하는가?
  • 전력(Power): 얼마나 적은 전력을 소모해야 하는가?

그 결과물인 GLN은 특정 파운드리사의 셀 라이브러리(Cell Library)에 포함된 실제 논리 게이트들의 연결 정보로 구성된 저수준 회로 데이터다. 이 때문에 GLN은 구조적인 하드웨어의 모습에 가깝다.

3. 예시로 보는 비교

RTL 코드

// 'a + b를 sum으로 출력한다'는 동작을 기술
assign sum = a + b;

GLN 코드 (합성 결과)

// 실제 셀 라이브러리에서 정의된 셀이 사용됨
XOR2_X1 U1 ( .A(a_0_), .B(b_0_), .Z(sum_0_) );   
AND2_X1 U2 ( .A1(a_0_), .A2(b_0_), .ZN(n1) );

RTL에서는 `+` 연산 하나로 기능을 표현했다. GLN에서는 그 연산을 위해 필요한 게이트들이 구체적으로 나열된다.

4. 목적과 활용 차이

항목 RTL GLN
작성 주체 설계자 (엔지니어) 합성기 (EDA 도구)
주요 사용처 기능 시뮬레이션 정적 타이밍 분석(STA), 포멀 검증, 물리 설계(P&R)
공정 의존성 없음 (기술 독립적) 있음 (라이브러리 종속적)

즉, RTL은 “이 회로가 무엇을 할지” 설명하는 설계 사양서이고, GLN은 “그 기능을 어떻게 실제 회로로 만들지”를 보여주는 구현 결과물이다.

5. 요약

RTL과 GLN은 하나의 회로 설계가 추상에서 구체로 변해가는 과정 속의 두 단계이다. RTL은 설계자의 언어이고, GLN은 기계와 툴이 이해하고 다루는 실질적인 하드웨어 구현 정보다.

RTL과 Netlis(GLN)의 관계는 단순히 설계의 두 단계가 아니라, 추상적 아이디어가 물리적 실체로 구현되는 변환 과정의 느낌.
RTL은 기능을 추상화해서 사람이 설계를 쉽게 할 수 있도록 한다. 많은 규모의 회로를 게이트 단위에서 직접 설계하는 것은 불가능하기에, `+`와 같은 연산자로 동작을 기술하는 RTL 방식은 효율적이다.
Logic Synthesis는 이 추상적인 RTL을 Physical Constraint에서 최적화 시키는 과정이다. 그 결과물이 Netlist(GNL)이고, 이건 공정에 따른 구체적인 게이트 조합이다. 이건 Logic Synthesis를 거쳤으니까, Timing Analysis 같은 정밀한 분석이 가능해진다.

최종적으로 보자면, RTL to Netlist는 '기능 중심 추상적 설계'에서 '구조 중심 구체적 구현'으로 전환되는 과정이라고 이해했다.

 

728x90