이야기

ASIC vs. FPGA

gybak 2023. 8. 9. 13:22

전자공학을 전공한 사람에게 대뜸 ‘반도체 설계’라는 말을 꺼내면, 아마 대부분은 ASIC을 먼저 떠올릴 겁니다. 그게 가장 전형적인 유형이라는 얘기죠. 실제로 이 쪽 (디지털 회로의 커스텀 칩 설계) 수요가 압도적으로 많은 것으로 알고 있습니다. 하지만 저는, 일단 처음 배우는 단계에서는 ASIC보단 FPGA부터 다뤄 보시길 추천합니다. 이번 글에서는 FPGA로 시작하기를 추천하는 이유에 대해 정리해 볼까 합니다.

 

ASIC의 한계

한 마디로 정리하자면 ASIC은 혼자서 개발하거나 배울 수 있는 영역이 아니기 때문입니다. 좀 더 자세히 얘기하자면 높은 비용 문제, 역량 및 시간 부족 문제를 꼽을 수 있습니다. 비용 부담이 가장 낮은 IDEC MPW 프로그램에 참여하더라도 수백 만원이 듭니다. 실제 칩 개발에는 다양한 개발 툴, 즉 EDA 소프트웨어를 사용해야 하는데 그 라이센스 비용도 개인이 감당할 수 있는 수준이 아닙니다. 여러 디자인을 웨이퍼에 함께 찍어 내는 MPW 프로그램의 특성상, 개발 일정이 자유롭지 않습니다. 정해진 기한 내에 무조건 완성된 디자인을 제출해야 합니다. 이 때문에 규모가 큰 회사에서도 일정을 맞추느라 비상이 걸리곤 합니다. 어떤 면으로 보나, 한 개인이 ASIC 설계 경험을 쌓는다는 것은 (취업 전에 미리 준비한다는 것은 더더욱) 현실적으로 매우 어려워 보입니다.

 

FPGA 장점

필자가 현재 개발 중인 제품 일부 사진. (각종 센서 데이터를 수집/기록하기 위해 FPGA를 사용합니다.)
필자가 현재 개발 중인 제품 일부 사진 (각종 센서 데이터를 수집/기록하기 위해 Max 10 FPGA를 사용합니다.)

반면에 FPGA는 충분히 해 볼만한 선택지입니다. 우선, 개발 비용이 저렴합니다. 만 원도 안 되는 초저가 FPGA 칩도 있고, 20만원 정도면 아예 바로 사용 가능한 개발 보드를 구입할 수 있습니다. 무료 버전의 개발 소프트웨어로도 충분히 커버가 되고, 유료 버전마저도 무상으로 제공받을 수 있는 방법이 있습니다. 웬만한 기능 모듈은 IP로 기본 제공됩니다. 비용뿐만이 아니라 개발 과정에 대한 부담도 덜 합니다. 디자인 제출 이후에 실제 칩을 받기까지 최소 수개월이 소요되고 사후 변경이 안 되기 때문에 단 하나의 실수도 용납하지 않는 ASIC 개발 과정을 생각해 보면, FPGA 개발이 얼마나 빠르고 유연한지 알 수 있습니다. FPGA에서는 구현한 것을 바로 테스트할 수 있습니다. (FPGA 개발의 가장 큰 장점이 아닐까 생각합니다.) 구현한 회로가 잘 동작하지 않는다면 얼마든지 디자인을 고쳐가며 디버깅할 수 있습니다. 덕분에 당장 실력이 부족해도 계속 시도하면서 해결하고 스스로 배우는 것이 가능합니다.

 

여기까지, ASIC과 FPGA 개발의 차이점을 설명하면서 제가 FPGA를 추천하는 이유를 말씀드렸습니다. 학생이나 개인 입장에서 ASIC 개발은 애초에 불가능에 가까운 선택지입니다. 회사에서 실무를 통해 배울 수밖에 없고 회사도 신입에게 그런 경험과 능력을 요구하지 않습니다. 대신에, 빠르게 배울 수 있도록 기본기가 갖춰졌는지를 더 중요하게 볼 것입니다. (FPGA를 다뤄보는 건 그런 면에서 큰 도움이 됩니다.) 혹여나 ‘ASIC 개발 경험이 취업에 꼭 필요하지 않을까’ 너무 신경 쓰지 않으셨으면 좋겠습니다.


내용 요약

 

ASIC

  • Compact 구성 가능 -> 양산시 큰 이득
  • 높은 비용 (EDA Tool, MPW)
  • 높은 개발 역량 및 시간 요구
  • 칩 제작 시간에 오래 걸림
  • 개인 보단 회사에서 적합

 

FPGA

  • 저렴한 개발 비용 (IP, EDA)
  • 유연한 설계 (시뮬레이션 및 테스트), 용이한 사후 변경
  • 최적화 하기 어려움