Skip to main content
QUICK REVIEW

[논문 리뷰] Two FPGA Case Studies Comparing High Level Synthesis and Manual HDL for HEP applications

Tétrault Marc-André|arXiv (Cornell University)|2018. 06. 24.
Embedded Systems Design Techniques참고 문헌 3인용 수 8
한 줄 요약

이 논문은 고에너지 물리학(HEP) 애플리케이션에서 실시간 FPGA 구현을 위한 C/C++ 기반 고수준 합성(HLS)과 전통적인 HDL 코딩 간의 성능을 평가한다. 결정체 식별 및 이벤트 타임스탬프 정렬이라는 두 가지 사례 연구에서 HLS는 개발 시간을 50% 감소시키지만 자원 사용량은 2배에서 4배 증가시키며, 동일한 타이밍 성능을 달성한다. 이는 HLS가 자원 비용이 높지만 실시간 핵과학 시스템에 대한 타당한 대안임을 보여준다.

ABSTRACT

Real time data acquisition systems in nuclear science often rely on high-speed logic designs to reach the fast data rate requirements. They are mostly coded in a hardware description language (HDL). However, in recent years, high level synthesis (HLS) compilers have appeared, with the notable advantage that they rely on the widespread C/C++ syntax. This paper's aim is to outline differences between HDL and C/C++ HLS based designs for two real-time data acquisition modules used in nuclear science. The first module is a real-time crystal identification module, and the second is a compact event timestamp sorting module. This evaluation was done by an experienced VHDL programmer with no prior HLS training. For the crystal identification module, both HDL and HLS versions have the same event processing interval, and the HLS implementation consumes twice as many lookup tables and flip flops as the HDL version. On the other hand, the HLS version took half the time to write and debug. For the sorter module, the HLS version requires about 3 to 4 times more logic resources, with a slightly longer processing interval. It was also completed in half the time compared to the original HDL code. While different compiler directives can still be explored to improve source code clarity, resource usage and timing closure in these designs, this trial shows that HLS is a compelling alternative to custom HDL implementations for real time systems in nuclear and plasma science.

연구 동기 및 목표

  • 실시간 FPGA 설계에서 고수준 합성(HLS)과 수동 HDL 코딩 간의 상호 교환 조건을 평가하기 위해.
  • HLS 및 HDL 구현 간의 개발 시간, 자원 활용도, 타이밍 성능의 차이를 평가하기 위해.
  • 핵 및 플라즈마 과학 분야의 실시간 데이터 수집 시스템에서 HLS가 맞춤형 HDL의 대안으로서의 실현 가능성을 규명하기 위해.
  • 복잡한 고속 논리 설계에서 HLS가 코드 유지보수성과 명확성에 미치는 영향을 탐색하기 위해.

제안 방법

  • 경험이 풍부한 VHDL 프로그래머가 HLS에 대한 전문 지식 없이, C/C++ 기반 HLS와 기존 HDL(VHDL)을 사용하여 두 개의 실시간 FPGA 모듈을 구현하였다.
  • 첫 번째 모듈은 실시간 결정체 식별을 수행하였고, 두 번째 모듈은 압축된 이벤트 타임스탬프 정렬을 처리하였다.
  • 설계는 자원 사용량(LUT, 플립플롭), 처리 간격(이벤트 처리 시간), 개발 시간(코딩 및 디버깅) 기준으로 평가되었다.
  • 컴파일러 지시어는 깊이 있게 다루지 않았지만, 최적화 잠재력은 인정하였다.
  • 성능는 논리 자원 소비 및 타이밍 클로징 기준으로 측정되었으며, 두 구현 방식 간 결과를 비교하였다.

실험 결과

연구 질문

  • RQ1실시간 HEP 애플리케이션에서 HLS 기반 설계의 개발 시간은 전통적인 HDL 코딩에 비해 어떻게 다른가?
  • RQ2동일한 功能에 대해 HLS와 HDL 구현 간의 자원 활용도(LUT, 플립플롭)의 차이는 무엇인가?
  • RQ3고속 데이터 수집 시스템에서 HLS는 수동으로 코딩된 HDL와 동일한 타이밍 성능(이벤트 처리 간격)을 달성할 수 있는가?
  • RQ4HLS는 복잡한 FPGA 설계에서 코드 명확성과 유지보수성에 어느 정도 향상시키는가?

주요 결과

  • 결정체 식별 모듈의 경우, HLS 버전은 HDL 버전과 동일한 이벤트 처리 간격을 확보했지만, LUT와 플립플롭을 두 배 더 소비하였다.
  • 결정체 식별 모듈의 HLS 구현은 HDL 버전 대비 절반의 시간만에 작성 및 디버깅을 완료하였다.
  • 이벤트 타임스탬프 정렬 모듈의 경우, HLS 버전은 HDL 버전 대비 3배에서 4배 더 많은 논리 자원을 필요로 하였고, 약간 더 긴 처리 간격을 보였다.
  • 높은 자원 사용에도 불구하고, 정렬기의 HLS 버전은 원래 HDL 코드보다 절반의 시간만에 완성되었다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.