프로세서/비메모리 반도체 설계를 희망하시는 분들께..

간혹, 학부의 후배들이 반도체 설계쪽 일을 하려면 어떻게 해야 하냐고 물어보더군요.
뭐, 저같은 경우는 해당 연구실에 들어가라고 하지만.. 참 추상적인가 봅니다.

비메모리 반도체라는 것은 사실 상당히 넓은 범위를 의미하므로, 제가 하는 쪽 분야 즉, 로직 설계 부분(소위  front-end라고 하는..)에 대해서만 이야기를 하고자 합니다.

학부때 필수적으로 알아야 하는/혹은 들어두어야 하는 과목들은 다음과 같습니다.

1. 디지털 로직: 로직에 대한 기본이 있어야만 이 일을 제대로 할 수 있습니다. 어려울거 없고, 학부 정도의 디지털 로직 부분의 기초만 탄탄하면 됩니다. 사실 디지털 로직은 대학의 전자공학/컴퓨터 공학과에 처음 배우는 것이고 그 이전의 배경지식이 필요없으므로, 가장 편한 과목중의 하나입니다.

2. C/C++ , 컴퓨터 언어: C/C++는 사실 엔지니어간에 있어서 기본 언어입니다. (그야말로 언어! 입니다.) 어떤 동작을 구현하자.. 이런걸 그냥 C/C++로 짜서 전달하는 경우도 많습니다. 그리고, C의 경우 컴퓨터 구조를 많이 포함하고 있어서 도움이 됩니다.

3. 컴퓨터 아키텍쳐: 컴퓨터 아키텍쳐는 딱히 프로세서 설계를 지망하지 않더라도, 하드웨어 설계에 필요한 I/O 프로토콜등의 기본적인 대부분의 지식이 들어 있습니다. 하드웨어 설계를 지망하시는 분들께는 매우 매우 중요한 과목입니다. 소프트웨어 하시는 분들도 “최적화된” 소프트웨어를 작성하시는데 아키텍쳐의 지식이 중요합니다.

아마도 위의 3가지 과목은 하드웨어 설계를 희망하시는 분들께는 가장 중요한 기본 과목이 아닐까 생각합니다. 또한 위의 과목은 “소프트웨어 개발”을 하고자 하시는 분들께도 중요합니다.

하드웨어 설계를 하시고자 하시는 분들은 이외에도 아래 과목을 반드시 들어야 합니다.

디지털 설계: 학교마다 이름이 다릅니다만, 실무적인 일들.. HDL을 다룬다던지 하는 첫 과목입니다. 조금 진보적인 교수님들은 디지털 로직 과정에서 HDL을 다루기도 합니다만..  HDL을 배울때는 반드시 HDL로 로직을 만들었을때 어떻게 구현될 것인가.. 즉 어떤 회로가 나올 것인가를 배워두는 것이 좋습니다. 🙂
게다가 HDL은 하드웨어 설계를 하시는 분들에게는 주된 설계 방법이므로, verilog던 VHDL이던 한가지는 “정통하게” 배워두시는 것이 좋습니다. 그리고, 다른 언어도 읽을 수 있을 정도는 되셔야 합니다.

교양적으로 들어야 하는 과목은 무수히 많습니다만..

  • 전기회로/전자회로/물리전자: 설계시에 여러가지를 이해하는데 많은 도움을 줍니다.
  • 신호처리/디지털 신호처리: 요즘 프로세서가 대부분 신호를 다룹니다. 그래픽, 영상, 음성.. 이런것에 대한 알고리즘을 하드웨어로 만드는 일이 많은데.. 이런일을 하게 될때 도움이 됩니다.
  • 디지털 통신: 통신 프로토콜을 아는 것이 I/O등의 프로토콜을 만ㄴ드는데 참 많이 도움이 됩니다. 물론, 이쪽 설계를 하는 경우도 많고요..
  • 소프트웨어공학: 의외시겠지만.. 소프트웨어 공학에서 배우는 team work 개념은 회사에서 일할때 많은 도움을 줍니다.

실무에서 도움을 줄만한  것들로는

리눅스/유닉스 관리도 해보셨으면 도움이 되고요.. 스크립팅 언어를 배워두는 것도 중요합니다. 노가다를 줄이기 위해서.. ^^;

아마도, 제가 있는 비메모리 설계 분야가 인력 부족을 심하게 겪고 있는 분야가 아닌가 생각됩니다. 발전 가능성도 많고요.. 잘 아시는 대기업들과 많은 중소기업들이 이쪽 분야에 많이 배치되어 있습니다.
위에서 보셨겠지만, 수학/물리의 기본이 적더라도 시작할 수 있는 분야이기도 합니다. 🙂

많은 분들이 도전하셨으면 합니다.

2 thoughts on “프로세서/비메모리 반도체 설계를 희망하시는 분들께..

  1. gnil

    이글을 읽고 있는 분들 중 혹시나 있을지도 모르는…
    메모리 설계에 관심있는 분들은 회로(특히, 아날로그 회로) 공부 열심히 하세요~;;

    Reply
  2. Pingback: 마이크로 프로세서에 관심 있으신 분을 위한 글.Babyworm: Processor Architect. | Babyworm: Processor Architect.

Leave a Reply to gnilCancel reply