블루닷 엔지니어분들과 인터뷰를 통해 블루닷의 엔지니어로서 필요한 역량과 수행하실 직무를 알아보는 시간을 갖고자 합니다. 저희 회사에 오시면 어떤 프로젝트를 진행할 수 있고, 어떤 역할을 수행하실 수 있고, 그러기 위해선 어떤 역량이 필요할지 알 수 있습니다.

첫 번째 인터뷰, 디지털 회로 설계 담당 Joshua입니다.

Joshua

Joshua

Q. 안녕하세요. Joshua. 담당하고 계신 업무를 소개해주세요.

A. 안녕하세요. 저는 블루닷에서 High level synthesis(HLS)을 활용해 디지털 회로 설계를 하고 있고, 현재는 동영상 인코더를 반도체 회로로 만드는 프로젝트에 참여하고 있습니다.

Q. 프로젝트는 어떻게 진행되나요?

A. 전체적인 업무 과정을 보면, 먼저 비디오 코덱 엔지니어가 소프트웨어로 구현해 놓은 인코더 또는 비디오 프로세싱 알고리즘을 이해하고 이것을 어떻게 회로로 구현할지 설계합니다. 그 후 C++코드를 통해 하드웨어의 동작을 기술하고, HLS를 통해 RTL코드를 생성합니다. 이렇게 나온 결과물의 Latency, initiation interval, throughput, resource, utilization 등이 설계에 부합하는지 확인하고, 의도에 맞게 적절하게 수정하는 과정을 반복합니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1629a533-8d41-45c3-b6bc-22d730e3552e/ai-img.jpg

Q. HLS는 반도체 설계에서 차세대 기술로 주목 받는 것으로 알고 있습니다. 현재 블루닷에서는 이를 활용한 설계를 하고 있다고 말씀해주셨는데 RTL 기반의 설계와 비교해 장점이 무엇인가요?

A. HLS와 RTL 설계는 서로 장단점이 있습니다만, HLS은 High level language의 유연성, 재사용성, 높은 생산성을 이용해 개발이 가능하다는 장점을 가지고 있습니다.

Q. 앞으로 반도체 설계에서 HLS 방식이 널리 쓰일 것이라고 생각하시나요?

A. 네 그렇습니다. 로직 반도체는 점점 더 복잡해지고 있기 때문입니다. 더 복잡한 반도체를 설계하기 위해서는 그에 맞는 개발 방법이 필요합니다.

소프트웨어를 예로 들어볼까요? 컴퓨터가 발전함에 따라 프로그램의 크기는 훨씬 더 커지고 사용할 수 있는 메모리도 많아졌으며, 소프트웨어 역시 복잡해졌습니다. 이러한 과정에서 어셈블리, 포트란과 코볼, C, C++과 Java, 파이썬에 이르는 개발 언어들이 나왔죠. 최신 게임 프로그램을 어셈블리와 같은 언어로 개발하는 것은 불가능에 가깝습니다.

반도체 설계도 마찬가지입니다. 반도체 공정 기술은 계속해서 발전하고 있습니다. 더 많은 로직이 하나의 반도체 안에 들어갈 수 있게 되었으며, 이에 맞는 개발 방법이 필요합니다. 이미 반도체 설계 방법이 Layout을 그리는 것에서부터 Gate level 설계, Register Transfer Level (RTL) 설계로 발전했듯이 말이죠. HLS 역시 차세대의 반도체 설계 방법으로 자리 잡을 것이라 생각합니다.