반도체 칩의 가격을 결정하는 요소가 무엇인지 생각해 봅니다.
모든 제품이 그렇듯이 돈의 문제가 나오면 개발비와 단가로 나눌 수 있습니다.
개발비 요소
사람이 하는 모든 일이 그렇든 칩 설계도 인건비가 상당부분을 차지합니다. 아무리 작은 칩을 개발한다고 하더라도, 적어도 1년 가까운 정도의 개발 기간이 필요합니다. 당연히 design이 커지면 더 많은 사람과 더 많은 기간이 필요하므로 인건비가 증가합니다.
칩 내부에 들어가는 모든 것을 직접 설계한다면 문제가 없겠지만, 대부분은 그렇지 않고 IP(Intelectual Property)를 사와야 합니다. 우선 저 같은 RTL 엔지니어는 digital logic 만을 설계할 수 있는데, 칩 내부에 analog circuit이 들어가야 하면 어디선가 구해와야 합니다. 기본적으로 PLL(Phase Locked Loop)과 같은 간단한 것부터 audio/video 입출력을 담당하는 ADC/DAC 등이 필요합니다. 또한 쉽게 떠오르지는 않겠지만 speed가 빠른 device, 예를 들어 USB, Ethernet, SATA, HDMI, PCI Express 같은 경우는 PHY라고 불리우는 analog component가 있어야 합니다. 심지어 DDR2/DDR3 등의 빠른 memory를 붙이기 위해서 DLL(Delayed Locked Loop)과 같은 analog circuit이 필요합니다. 이런 기능의 내장을 원하면 당연히 해당 analog circuit를 analog IP를 파는 회사에서 사와야 합니다. 공정마다 analog circuit을 설계하는 방법이 다르므로, 특별한 analog IP는 시장에서 구할 수도 없어 경우에 따라서는 analog IP 회사에 개발 의뢰를 해서 만드는 수 밖에 없습니다. PLL 같은 경우는 비교적 싸겠지만 특별한 것들은 가격이 수십만 달러 단위가 되기도 합니다.
또한 digital block도 IP로 많이 삽니다. 예를 들어 ARM 프로세서를 내장하고 싶으면 ARM사에서 사는 수 밖에 없습니다. 프로세서는 digital logic으로 구성되므로 자료만 충분하면 거의 동일하게 만들 수도 있기는 합니다만 ARM사에서 걸어놓은 특허및 기타 권리를 피해서 만들기가 곤란합니다. 혹 그런 권리 침해없이 만들었다고 하더라도 "ARM"이 들어갔다고 이야기를 하면서 팔지 못하는데, 상표권 침해이기 때문입니다. 다른 CPU Architecture를 고르거나, CPU Architecture를 새로 만들어서 구현하면 어떻겠냐고 생각할 수도 있는데, chip을 실제로 사용할 system 회사의 software 엔지니어의 support 이슈가 발생됩니다. ARM만을 사용해 본 software engineer에게 다른 architecture의 CPU를 권하기 쉽지 않은데다가, 조금만 문제가 생겨도 불평을 할 것이 분명합니다. TI/Samsung/ST 등의 공룡 회사들이 자체 CPU를 만들어서 쓰지 않고, 그냥 ARM core를 license해서 쓰는데는 다 이유가 있습니다.
CPU를 제외하고, 다른 digital block 중에서도 개발하는 것 대비 사오는 것이 싸다면 IP 제공 업체에서 사오게 됩니다. UART와 같은 간단한 Peripheral 들도 모두 살 수 있고, 3D graphic accelerator나 MPEG/H.264 codec과 같은 아주 복잡하여, 직접 개발하면 개발 기간이 오래 걸릴만한 것도 IP 업체들이 제공해 줍니다. 심지어 Chip 내부를 연결하는 BUS, DRAM Controller 같은 것도 모두 살 수 있습니다. 가격은 복잡도에 따라 수천 달러 수준에서 부터 수백만 달러 수준까지 다양합니다. ARM926만 해도 십만 달러 단위인 것으로 알고 있습니다.
참고로 몇몇 FAB에서는 자체로 설계하여 가지고 있는 IP 등을 무료로 제공하기도 합니다. 물론 FAB NRE에 포함되어 있을지는 모르겠지만 말이죠.
Design House가 설계 회사를 대신해서 Backend(test logic insert와 P&R 등) engineering 서비스를 제공하고, 반도체 FAB, package 업체, chip test 업체를 대신 계약해서 관리해 주는 비용을 제공하게 됩니다. 보통 반도체 FAB에 주는 NRE를 Design House를 통해 전달하게 됩니다. 아래 설명할 FAB NRE를 제외하고는 나머지 것은 그렇게 많은 돈이 필요하지는 않습니다.
반도체 FAB에 주어야 하는 NRE(Non-Recuring Engineering) Charge가 있습니다. 대부분은 Mask라는 것을 만드는 데 드는 비용이라고 합니다. 반도체 공정에 대해서 자세히는 모르지만 metal layer와 polysilicon layer의 갯수에 따라서 가격이 다를 겁니다. 이것도 공정마다 다른데 엄청 비쌉니다. 0.13um 공정에서 보통 수십만불 합니다. 공정이 미세화될 수록 엄청 더 비싸지는데 45 nm 공정 같은 경우에는 얼마나 될지 조그만 회사에서는 견적서를 보내달라고 하기도 부담스럽습니다. 반도체 공정이 미세화되면 우선 동작 속도가 빨라지고, power 소모가 줄어드는 장점이 있습니다. 또한 미세 공정을 사용하는 것이 chip의 단가를 줄일 수 있는 경우가 있습니다. 따라서 chip의 스펙과 money 등의 여러가지 요소를 고려하여 공정을 선택해야 합니다.
이런 NRE가 부담이 되는 고객, 즉 반도체 설계 회사를 위해서 몇몇 FAB에서는 MPW(Multi-Project Wafer)라는 프로그램을 가지고 있습니다. 이 경우에는 Mask 비용을 여러 설계회사에서 나누어 내, 각 설계회사의 부담을 덜 수 있는데, FAB 입장에서는 NRE 측면에서는 크게 손해 보는 장사는 아닙니다. 대신 Wafer에 여러 회사의 die가 생산되므로 당연히 chip 생산 단가가 증가하게 됩니다. 따라서 대부분의 설계회사는 이런 MPW를 이용하여, test chip 수십 개 정도 생산해 보는 기회로 이용합니다. FAB NRE가 워낙 비싸므로 test chip이 잘 동작하는 것을 확인한 후, 나중에 다시 NRE를 내고 양산을 시켜 design fail로 인한 RISK를 감소키는 방법입니다.
개발용 EDA tool의 값을 생각해 볼 수 있습니다. 디지털 칩을 개발한다고 하면 사실 손으로 transistor를 일일히 그리는 것이 아니라 verilog이나 VHDL 등의 language를 이용하여 일반 software를 만들 듯이 programming을 하게 됩니다. 그렇다면 Verilog/VHDL simulatior와 같은 tool은 검증을 위한 가장 기본적인 tool이 됩니다. 이런 tool도 역시 싸면 몇만불에서 부터 비싸면 수십만불까지 상당히 비싸고, 재미 있는 것이 유지 보수로 년간 받는 돈도 엄청납니다 . 다행히 국내에서는 ETRI 시스템 반도체 진흥센터라는 곳에서 작은 회사의 경우 이런 tool을 사용시간 기준으로 혹은 기간제로 적인 비용을 내고 쓸 수 있게 해주고 있습니다.
또, 각할 수 있는 비용으로는, test/verification을 위해서 FPGA prototype board를 비롯한 각종 board를 만드는 비용이 있을 수 있습니다. 또한, 칩에 올라갈 software 등의 개발비는 별도 입니다.
생산 단가 요소
당연히 die size가 중요한 요소입니다. 반도체 FAB은 기본적으로 NRE를 제외하고는 wafer 가공비를 wafer 한 장당 일정액씩 받습니다. 따라서 die 사이즈가 줄면 wafer 한장에 생산되는 chip의 갯수가 증가하므로 생산 단가가 줄어듭니다.
생산 단가를 줄이기 위해 설계시에 die size를 줄이기 위해서 노력을 많이 합니다. die size의 결정 요소는 크게 core의 크기와 pad의 갯수로 인해 결정됩니다. Core는 digital/analog 회로 부분을 말하는데 이것이 커지면 당연히 die size가 일정 수준이하로 줄지 않습니다. 이 경우를 보통 core limit이라고 부릅니다. Pad는 반도체 die와 package의 pin(또는 ball)로 연결되는 부분으로, 상당히 큰 크기를 가지고 있고 보통 die의 맨 바깥쪽 4면에 놓여집니다. 회로(core)의 크기는 작은데, 상대적으로 package로 연결될 signal이 많으면 core 주위에 4면에 필요한 pad를 모두 위치시킬 수 없습니다. 이런 경우 pad를 다 위치시킬 수 있는 사각형의 크기가 최소 die size가 되는데, 이것을 pad limit이라고 부릅니다. Pad는 chip이 실제 사용될 system에서 다른 chip과의 연결 등에 따라서 결정되기 때문에, 쉽게 줄이거나 할 수 있는 문제가 아니므로, 보통 RTL Engineer는 digital 회로 크기를 줄이는데 주력합니다. 즉, chip의 스펙을 만족시키되 될 수 있으면 적은 digital 회로 크기를 가지도록 설계하는 것입니다.
위의 인텔 Pentium4 Wafer라고 합니다. 사각형 형태로 구분된 것이 하나의 die.
wafer에 가공한 모든 die가 잘 동작할 수는 없습니다. 전체 die 중에 잘 동작하는 die의 비율을 보통 yield라고 합니다. 이 yield가 높아지면 당연히 생산 단가가 줄어듭니다. 보통 널리 알려진 FAB, 혹은 기술력이 있다고 알려진 FAB을 선호하는 이유는 이 yield 때문입니다. 보통 그렇게 유명한 FAB은 wafer 가공비를 더 비싸게 받는데도 yield가 높기 때문에 FAB에 비해 경쟁력이 있습니다.
COB(Chip On Board)라고 die를 직접 PCB 위에 붙여서 system을 제조하는 경우도 있습니다만, 일반적으로는 die를 packaging 하여 system 제조 없체에 납품합니다. package cost는 우선 package의 종류(소재및 형태)에 따라서 결정되는데, 종류가 정말 많습니다. 일반적으로 작은 형태의 package일 수록 더 비싸다고 보면 됩니다. 예를 들면 일반적으로 BGA(Ball Grid Array)가 QFP(Quad Flat Package)보다 비쌉니다. BGA도 아래 그림 처럼 종류가 많고, 종류에 따라서 가격이 다릅니다.
다양한 종류의 BGA package
또 동일한 형태의 package에서 cost를 결정하는 요소는 pin(또는 ball)의 개수입니다. 당연히 pin이 많아지면 더 비싸집니다. 예를 들어 BGA package에 ball을 더 넣고 싶은데 package의 전체 면적은 줄이고 싶지 않은 경우, pitch(ball과 ball사이의 간격)를 줄일 수 밖에 없는데 그렇게 되면 비싸집니다. 따라서 pin의 갯수를 줄이기 위해서 동일한 pin이 configuration에 따라서 다른 기능을할수 있도록 설계하는 것이 일반적입니다. 소위 pin multiplexing이라고 하는데, 대부분의 MCU가 GPIO와 다른 기능을 multiplexing 합니다.
Package에서 또 고려되어야 하는 경우가 있는데, MCP(Multi-Chip Package) 혹은 SIP(System In Package)라고 하여 여러 개의 die를 하나로 package하는 경우가 있습니다. 예를 들어 SDRAM이나 Flash를 MCU와 함께 하나의 package에 담는 경우도 있을 수 있고, 삼성에서 발표한 OneNAND라고 하여 NAND flash, SRAM 등이 하나의 package로 담는 경우도 있습니다. 이런 package는 또 매우 비쌉니다.
우선 설계시에 하나의 die로 설계하지 않는 이유는 반도체 공정이 다르기 때문인 경우가 많습니다. 예를 들어 Flash memory/SDRAM 등을 생산하는 반도체 공정과 일반적인 digital logic을 생산하는 반도체 공정이 다릅니다. 보통의 경우 Flash memory/SDRAM을 대량 생산하는 반도체 공정이 Digital logic 공정에 비해 좀더 미세하고, polysilicon/metal layer 등의 갯수등도 다릅니다.
MCP/SIP 등을 이용하는 것이 두 die를 따로 따로 package하여 system에서 연결하는 것 보다, 가격적으로 아주 매력적이지는 않다고 합니다. 그래도 MCP/SIP가 고려되는 이유는 휴대폰 등을 만드는 경우 system의 전체적인 크기를 줄이는데 많은 도움을 줄 수 있기 때문입니다.
설계할 때 IP 업체에 사왔던 IP 중에서 chip당 로얄티를 주어야 하는 것들이 있습니다. chip당 얼마씩 로얄티가 들어갑니다. 보통의 경우 license fee가 비싼 IP 들이 로얄티도 요구합니다. 즉 IP를 사용하기 위해서는 IP 회사에 설계할 때 많은 돈을 한꺼번에 내고, chip이 생산될 때 chip당 로얄티를 별도로 냅니다. 물론 계약 내용에 따라서 다를 수 있지만, ARM Core와 같은 애들이 로얄티도 받습니다.
모든 chip을 전수 테스트하여 test를 pass한 제품만 system 업체로 보내게 됩니다. system 업체에서 생산한 system도 test를 하겠지만 system test에서 fail하면 system 전체를 못쓰게 되므로 비용이 더 많이 발생합니다. 따라서 될 수 있으면 가격이 적은 상태, 즉 chip 상태에서 문제가 있는 애들을 걸러내야 합니다. 당연히 각각의 chip을 모두 개별 테스트하므로 생산 단가에 영향을 줍니다.
결론
예를 들어 90 nm 공정에서 빠르게 동작하는 ARM CPU 넣고, 몇가지 중요한 analog IP 등을 넣어서 chip을 개발하려면 인건비를 제외한 실비만 십억단위의 돈이 우습게 듭니다. 대신 chip이 아주 특별하지 않는 이상 chip 납품 단가는 비싸봐야 몇달러에서 $20 정도 됩니다. 따라서 왕창 팔지 않으면 개발비를 뽑을 수 없습니다. 하지만 연간 수백만개~수천만개 정도 팔리면 대박이 되므로, 칩 설계 분야는 규모의 경제가 지배하는 로또 동네입니다.