3장. 반도체는 어떻게 만들어지나?
1. 제품 기획 단계 (Planning)
기존 고객사나 시장의 needs를 반영하여 어떤 사양의 제품을 만들지를 기획하여 세부 사양(SPEC)과 일정계획을 수립하는 단계
첫째 Planning단계입니다.
모든 설계가 그렇듯이 가장 중요한 것이 무엇을 어떻게 만들지 결정하는 것입니다.
반도체 설계의 첫단계인 Planning단계는 기존 고객사나 시장의 needs를 반영하여 어떤 사양의 제품을 만들지를 검토하는 단계입니다.
예를 들어 STB에 들어가는 AP를 만든다고 해봅시다.
우선 Chip 내부에서 해야 하는 기능을 나누어 Block Diagram 같은 것으로 형상화를 진행합니다.
Block Diagram을 그리며 각 Block의 기능은 어떻게 되어야 하고 데이터는 어떻게 주고 받는지 등을 정합니다.
이때 회사 내부에서 Design할 Block과 회사 외부에서 IP 형태로 사와야 하는 Block을 결정합니다.
여기서 IP는 Intelectual Property, 지적 재산의 약자입니다만 반도체에서 쓰는 IP란 용어는 지적재산권이 아니라 재이용 가능한 기능블록을 지칭하며 Hard IP와 Soft IP로 구분합니다.
프로세서, RAM, ROM 등 물리적 설계과정이 완료된 하드웨어 기능블록을 Hard IP, 논리 합성 가능한 설계 데이터로 설계의 수정,개량,기능변경이 용이한 IP를 소프트 IP라고 합니다.
• Hard IP: 지정된 공정에 따라 물리적 설계 과정(P&R)이 완료된 설계 데이터로 변경이 불가능하나 TAT단축에 유리
• Soft IP: 특정언어(C,VHDL,Verilog)로 쓰여진 논리 합성 가능한 설계 데이터로 설계의 수정,개량,기능 변경이 용이
그외 Chip의 동작 clock 속도나 power consumption등 개발에 필요한 여러 고려요인을 구상합니다.
이런 여러 요소를 고려해서 초기 개발사양을 fix하고 Pre-spec을 발행합니다.
통상 몇십나노급 반도체를 개발하기 위해서는 시제품 제작비용만 몇십억원이나 들어갑니다.
따라서 매우 신중하게 칩의 사양과 개발비등을 고려하여 반도체 공정을 결정하고 개발 일정을 세워 설계를 시작해야 합니다.
AP칩에는 컴퓨터의 CPU역할을 하는 Core를 IP형태로 외부로 부터 들여옵니다.
통상 ARM사의 IP가 많이 사용되는데 ARM Core에서 운영되는 ISA는 RISC방식입니다.
ISA란 Instruction Set Architecture의 약자로 특정 CPU가 이해하는 언어, 즉 기계어를 뜻합니다.
인텔의 경우 x86계열의 CISC방식의 ISA를 사용하는데 반해, 소형기기에 많이 쓰이는 ARM의 경우 Cortex라는 이름의 Core에 RISC 방식의 ISA를 사용합니다.
• CISC(Complex Instruction Set Computer): 모든 고급언어 문장들에 대해 각각 기계 명령어가 대응되도록 하는 방식으로 x86계열의 PC용 CPU에서 주로 사용
• RISC(Reduced Instruction Set Computer) : CISC의 많은 명령어 중 주로 쓰이는 것만을 추려서 하드웨어로 구현하는 방식으로 ARM계열의 모바일CPU에서 주로 사용
반도체를 설계할때는 여러 고려요인이 있겠습니다만 크게 Performance, Power, Area 이렇게 3가지 측면을 고려해야 합니다. 앞 글자를 따서 PPA라고 합니다.
먼저 Performance를 높이면, clock frequency를 빨리 가져가게 되어 칩이 훨씬 더 빠르게 동작하고, 더 짧은 시간 안에 많은 일을 할 수 있습니다.
두 번째로 중요하게 고려되어야 할 사항은 Power consumption입니다. 동일한 일을 하더라도 power를 적게 소모해야 배터리가 오래 가겠죠. 특히 모바일에 들어가는 반도체들은 저전력 설계가 핵심이라 여러 가지 low-power 설계 기법들을 사용해서 설계가 되고 있습니다.
세번째로 면적을 작게 만들어야 됩니다.면적이 커지면 웨이퍼상의 다이(Die) 개수가 줄어들어 그만큼 칩을 만드는 데 있어서 사용되는 cost가 늘어납니다. 면적이 커지면 커질수록 불량이 발생할 확률도 더불어 늘어나 수율, 즉 양품의 비율이 점점 더 떨어져서 칩이 비싸집니다.
시스템 반도체 설계 엔지니어는 이런 여러 요인을 고려해서 최적의 설계를 해야 합니다.