본문 바로가기
Digital Design/컴퓨터구조

[컴퓨터구조] ASIC Design Flow

by 스테고사우르스 2023. 3. 16.

지금까지 회로에 대한 설명과 RTL 설계, 공정까지 다양한 주제를 다뤘었는데요,

제가 중요한걸 하나 빼먹었더라구요..

 

바로 ASIC Design Flow입니다.

 

반도체 칩은 도대체 어떤 과정으로 만들어지는 것일까요??

 

하나의 칩을 만들려면 정말 다양한 분야의 지식과 툴, 여러 인력과 많은 돈이 필요합니다.

 

반도체 칩 같은 경우는 한 번 만들어지면 수정이 불가능하다고 봐도 됩니다.

 

예를 들어 휴대폰에 오류가 생겨서 AS센터에 가면,

기사님이 칩을 뜯어서 MOSFET이나 metal line 같은걸 고쳐주진 않잖아요?

 

따라서 반도체 칩은 무조건 "완벽하게" 만들어야 합니다.

그래서 그런지 여러 과정을 거치면서 다양한 검증을 하게 됩니다.

 

오늘은 그 Flow를 간단하게 살펴보는 시간을 갖도록 하겠습니다.

 


ASIC Design Flow

 

  1. Chip Design Specification

    자, 먼저 어떤 칩을 만들지 생각해야 합니다.
    고객사에서 주문을 넣든 회사에서 만들든 어떤 것을 만들지 정해야 됩니다.
    예를들어 핸드폰에 들어가는 AP를 만들겠다,
    모니터에 들어가는 T-CON을 만들겠다,
    냉장고에 들어가는 MCU를 만들겠다,
    이런식으로 의도를 정하고 기능을 구체화합니다.

  2. Architectural Design

    다음으로는 구조를 짜야합니다.
    CPU라면 ALU가 들어가고 이걸 이용해서 어떤 사이클에 따라 어떤 계산을 하고..
    원하는 동작을 위해 필요한 Block들을 정합니다.

  3. Functional Modeling

    Block Diagram을 만들었다면 모델링을 합니다.
    모델링 같은 경우 C나 Python등을 이용해 수도코드로 짠다고 들어본것 같은데,
    저도 안해봐서 잘 모르겠습니다..
    아무튼 원하는 기능을 코딩하고 맘처럼 잘 동작하는지 확인합니다.

  4. Logical Implementation

    이제 RTL 설계를 합니다.
    Verilog 등 HDL을 사용합니다.
    학교에서는 보통 이 부분을 공부하셨을 겁니다.
    설계 후에는 compile을 해서 에러를 체크합니다.
    또한 문법 검사인 Lint 검사와 clock domain check (CDC) 등 여러가지 검사를 진행합니다.

  5. Synthesis & Testing

    RTL 설계가 끝났으면 합성을 통해 Gate Level로 만들어줍니다.
    각종 Test는 빠질 수 없죠.
    시뮬레이션도 해보고 FPGA에 올려서 더 확실하게 테스트해 봅니다.

  6. P&R

    Place and Route: 배치와 배선입니다.
    Gate Level로 표현된 회로를 웨이퍼 상에 배치합니다.
    어디에 어떤 게이트를 놓을지, 어디에 메모리를 배치할지 등 다양한 작업을 합니다.

  7. Design Layout

    P&R과 마찬가지로 Design을 마무리합니다.
    clock을 어떻게 연결할지, skew가 발생하지 않으려면 어떻게 할 지 등을 고려하여 Layout을 마무리합니다.

 

여기까지가 ASIC Design Flow입니다.

정말 많은 작업을 하고 다양한 테스트를 합니다.

 

저와 여러분 모두 회사에서 어떤 일을 하게 될 지는 모르지만,

여러 경험을 해보고 자신에게 맞는 직무를 선택하시길 바랍니다.

 


 

댓글