Semiconductor, Embedded/작성 중...

Cadence Genus Synthesis ~ING

잇(IT) 2024. 10. 2. 10:51

기본적으로 Chip이 설계되는 과정은 대략

 

1. 스펙 분석 및 구조 설계

2. RTL 설계

3. Function Simultaion

4. Synthesis

5. Pre_Layout Simulation

6. PnR

7. Post_Layout Simulation

 

위 과정을 거치게 된다.

 

그 중 Synthesis는 RTL로 설계한 내용을 Gate Level로 변환시켜주는 작업이다.

 

결론부터 말하자면 Synthesis 이후 PnR을 하기 위한 여러가지 파일을 생성된다.

위와 같이 Gate Level로 표현된 Netlist 파일을 확인할 수 있다.

 

DFF(D Flip Flop), MX(Multiplexer)와 같이 RTL로 설계한 코드들이 동작하기 위한 Gate, 입/출력 정보를 구성하게 된다.

(* Gate Level로 변환하기 위해 공정사에서 전달한 Library를 기반으로 Gate를 생성하게 된다.)

 

이외에도 Gate를 생성하기 위한 제약들이 있고, 이전에는 Synthesis 과정에서 실제 물리적인 Delay 값을 계산할 수 없기 때문에 대략 30% Delay의 여유를 두고 Synthesis를 진행했다고 한다.

 

하지만 지금은 구체적인 제약 조건을 적용시켜 PnR 작업만큼 세세하고 Layout을 할 순 없지만 이전보다 훨씬 구체적이고 자세하게 Synthesis를 진행할 수 있게 되었다.

 

아래 Synthesis를 위한 자세한 내용들에 대해 설명할 것이다.


 

Synthesis란 무엇인가

 

RTL 설계를 제조 가능한 장치로 변환하여 그 기능을 수행하게 하는 과정(Gate Level로 변환 과정)이다.

 

Code -> Gate Level

(* PnR은 Gate가 들어갈 Chip 크기를 정하고, 배치 및 연결을 어떻게 할지 정하는 과정이다. -> 완전 물리적인 계층으로 넘어오게 된다.)


설계의 주요 지표

 

설계의 주요 지표는 PPA(Power, Performance, Area)가 있다.

Power : 저전력 설계 - Gated Clock, DVFS

Performance : Timing과 밀접한 관계, 클럭 주파수, 지연 시간(delay) 등 고려

Area : 한정된 웨이퍼 크기에서 칩 면적을 줄이면 보다 많은 양의 칩 생산 가능, 비용 절감, 같은 크기에서는 더 많은 기능 구현 등...

 

(* Clock이 계속 사용될수록 Power 소모량이 증가한다. ex) 서로 다른 Gate에서 같은 Gate로 Data를 전달하는데 똑같은 Clock을 사용하게 되면 한쪽이 먼저 도착하고 대기하는 동안 Clock이 계속해서 발생하는 경우에도 Power 낭비로 이어진다.)


Synthesis Design Flow

Synthesis는 위 Design Flow에 따라 합성된다.

 

간단하게 몇개 알아보자면

Library 파일에는 기본 Gate List 이외에도 Power, Liquid, Switching 등 여러가지 정보를 담고 있다.

LEF 파일은 Gate Level에서 Gate를 Layout에 배치하기 위해, Gate를 그리기 위한 파일이 LEF 파일이다.

Elaboration는 RTL 설계가 되어 있는 Code가 Gate Level로 만들어질 수 있는지 검사한다.

Apply Constraints는 Clock에 대한 정의부터 input, output delay 등... 설계 제약 조건을 적용 시켜준다.

 

Synthesis에 꼭 필요한 파일은 Source, Lib, SDC 파일을 통해 Synthesis가 이루어지고, 결과물로 Netlist, 새로운 SDC 파일이 생성된다. (이 때 생성된 SDC 파일은 PnR을 위한 SDC 파일이다. + SDC 파일은 Standard Delay File로 Gate에서 넘어오는 Data들이 얼마나 걸렸는지 Cell Delay 정보가 들어있다.)

 

 

728x90