Skip to Main Content
백서

상위수준합성(HLS), 여전히 하드웨어 설계입니다

이 백서에서는 상위수준합성(HLS) 하드웨어 설계 플로우에 관여해야 하는 주요 사항들이 무엇인지, HLS를 사용해 설계할 때 어떤 문제점에 직면할 수 있는지 등을 다룹니다.

HLS 설계 플로우를 순조롭게 진행하기 위한 주요 사항들

HLS를 사용한 하드웨어 설계도 일반적인 ASIC/FPGA 설계 플로우와 다르지 않습니다. 다만 HLS와 함께 C++/SystemC를 사용하여 RTL을 생성한다(수작업으로 코딩하지 않고)는 것만 다를 뿐입니다. HLS를 사용하여 얻을 수 있는 장점은 RTL 생성 시간을 단축하고, 완전히 검증된 C++/SystemC 소스에서 신속하게 버그 없는 RTL을 도출하므로 검증 시간이 짧다는 데 있습니다. 아직도 종종 HLS를 사용해 누구나 최적의 하드웨어를 제작할 수 있다고 오해하는 경우가 있습니다. 실제로는 일반적인 하드웨어 설계 플로우에도 각계각층의 온갖 관계자가 다 관여해야 합니다. 예를 들어 알고리즘 엔지니어, 하드웨어/시스템 아키텍트와 RTL 설계자 등이 대표적이며, 수작업으로 코딩한 RTL에 비견되거나 그보다 더 나은 결과를 얻고자 한다면 이는 필수적입니다.

하드웨어 설계는 어렵다

전력, 성능과 면적(PPA) 면에서 효율적인 프로덕션 ASIC/FPGA에 적합한 하드웨어 설계는 아무나 할 수 있는 일이 아닙니다. 아무나 할 수 있는 일이라면 세상에 하드웨어/시스템 아키텍트나 RTL 설계자는 필요하지 않았을 것입니다. 사실, 하드웨어 설계에는 메모리 아키텍처, 동시 프로세스에 대한 심층적인 이해, 하드웨어에서 효율적으로 실행되는 구현을 위해 소프트웨어에서 실행하는 알고리즘을 최적화하는 법에 대한 지식 등이 꼭 필요합니다.

공유