본문 바로가기
VLSI

ASIC Flow란?(2/2)

by 필기노트 2024. 7. 30.

이번 글에서는 PD team에서 해야 하는 업무에 대해 작성할 것이다.

 

 

PD 업무에 설명하기 전에, PI team이 하는 업무를 간단하게 다시 한번 설명하겠다.

 

ASIC FLOW

1. RTL Coding

RTL 코드는 엔지니어가 고안한 아이디어를 코드로 작성하는 단계이고 VCS 같은 timing simulation이 가능한 툴을 이용해

Function이 일치한지 Verification을 진행한다.

 

2. Synthesis

RTL 단계는 Delay 정보를 갖고 있지 않고 Function만 갖고 있기 때문에 Delay 정보를 넣어주는 작업을 따로 해야 한다.

이 과정을 Synthesis라고 하고 Synthesis는 gate-level로 optimize하고 mapping하는 단계라고 할 수 있다.

추가로, 실제적으로 사용할 gate들을 선택하고 간단하게 배치해보는 단계로 delay 정보가 포함된다.

 

3. DFT insertion and ATPG(optional)

DFT는 회로 중간중간에 테스트용 회로를 추가하여 검증을 진행하는 단계이다. ATPG는 이런 테스트용 회로를 자동적으로

배치하고 입출력을 설정한다. 입력에 따른 출력이 오류를 불러일으키면 결함이라고 본다.

 

4. Logic verification / STA

gate-level Netlist로 변환하고 Delay 정보가 포함이 되었기 때문에 Function이 달라질 수 있다. 때문에 Logic verification을 진행해 Function이 일치한지 다시 한번 검증한다. STA(Static Timing Analysis)는 시스템이 시간 제약 내에 동작하는지 검증하는 단계이다. Slack = DRT - DAT인데, Slack이 마이너스가 나지 않고 얼마나 여유를 갖고 있는지가 관건이다.

 

5. Formal verification

동등성 검사를 진행하는 단계로 RTL과 gate-level Netlist가 일치하는지 검증하는 단계이다. Synthesis를 진행하면서 바뀐 정보를 알려줄 수 있는 파일을 SVF 파일이라고 부르고 이 파일을 토대로 RTL과 gate-level이 일치하는지를 검증한다.

 

여기까지 간단하게 PI team이 진행하는 업무에 대해 알아보았고 자세한 것은 이전 글을 참고하기를 바란다.

 

 

 

6. Floorplan

 

Floorplan부터 PD 업무로 볼 수 있다.

Floorplan은 Macro나 IP 등을 수동으로 배치하는 단계이다.

ICC2예시 (출처:https://vlsiforall.blogspot.com/p/backend.html)

 

 

뒤에 placement에서는 cell을 자동으로 배치하게 되는데,

Floorplan에서 Macro 및 IP를 수동으로 배치하는 이유는

IP는 보통 다른 회사에서 빌려오거나 구매하기 때문에

툴이 자동적으로 배치를 해줄 수 없다.

 

ICC2에서 Canvas라는 검은 바탕 영역에 cell들을 배치하게 되는데,

여기서 Canvas는 셀들을 배치할 수 있는 영역이라고 생각하면 된다.

 

Canvas에 Macro 및 IP 들을 수동으로 배치하게 되는데

주로 IP들을 사이드로 빼고 IP들 간 근접하게 배치를 하게 된다.

 

7. Place & Route

 

Place & Route는 줄여서 P&R 또는 PnR이라고 많이 부른다.

P&R도 역시 ICC2를 주로 이용한다.

Place와 Route의 역할을 각각 설명하겠다.

 

Place는 IP나 Macro가 아닌 Standard cell, 즉,

gate들을 배치하는 작업이다. 일반적으로 placement는

툴이 자동적으로 배치를 해준다.

 

Route는 cell과 cell을 연결해 주는 단계인데,

말 그대로 cell 사이에 Net(wire)를 연결해 주는 단계이다.

마찬가지로 Route도 툴이 자동적으로 배치해 준다.

 

P&R에서 관건은 툴이 자동적으로 배치 및 연결을 해 주지만

역시 이 단계에서도 violation이 날 수 있다.

violation이 날 때는 엔지니어들이 수동적으로 재배치를 해주면서

violation를 제거할 수 있다.

 

8. sign-off verification

 

sign-off는 '편지를 끝맺다'라는 뜻이 있다.

sign-off verification은 설계 과정에서 최종적으로 설계가 완료되었음을 확인하고,

제조 단계로 넘어가기 전에 모든 검증 절차를 통과했음을 보장하는 중요한 단계이다.

 

이 과정에서는 다양한 검증 작업을 통해 설계의 정확성, 성능, 신뢰성 등을 철저히 검사한다.

이를 통해 설계 오류나 결함을 발견하고 수정할 수 있다. 설계 오류를 발견했을 때는

다시 그 설계를 담당하는 파트로 넘어가 과정을 다시 진행한다.

 

다음은 sign-off에서 검증해야 할 목록을 간단하게 나열한 것이다.

 

  • 타이밍 검증(Timing Verification)
  • 전력 검증(Power Verification)
  • 신호 무결성 검증(Signal Integrity Verification)
  • 물리적 검증(Physical Verification)
  • 기능 검증(Functional Verification)
  • 열 분석(Thermal Analysis)
  • DFT 검증(Design for Testability Verification)
  • 신뢰성 검증(Reliability Verification)

모든 검증 작업이 완료되고 모든 문제가 해결된 후, 최종 sign-off 단계에서는 전체 설계를

다시 한번 점검하고 모든 검증 요구사항이 충족되었음을 확인한다.

이 단계가 완료되면 설계는 제조를 위한 Tape-Out 단계로 넘어가게 된다.

 

 

여기까지 ASIC Flow에 대해서 간단하게 적어보았다. 

 

 

혹시나 틀리거나 다른 내용이 있다면 댓글로 알려주시면 감사하겠습니다♡

'VLSI' 카테고리의 다른 글

Clock Skew란?  (0) 2024.08.19
Physical Design - LEF, Techfile  (0) 2024.08.04
Physical Design - Liberty, TLUPlus file  (0) 2024.08.03
머신러닝에 사용되는 Bayes' Theorem(베이즈 이론)  (0) 2024.08.02
ASIC Flow란?(1/2)  (0) 2024.07.28