TL;DR
- CERN이 순수 VHDL-2008 RTL 구성요소 100개 이상과 자체 검사 테스트벤치 및 가능한 경우 형식 검증을 제공하는 colibri를 전 세계 FPGA 커뮤니티에 공개함.
- CERN 개발자 그룹이 프로젝트 간 게이트웨어 이식성을 높이기 위해 약 4년 전 개발을 시작함.
- colibri의 세 가지 원칙은 오픈 소스, 벤더 독립성, 검증임.
- FIFO·RAM 같은 메모리부터 고급 데이터 조작까지 폭넓은 기능을 다루며, 라이브러리를 적극적으로 유지보수하고 새 구성요소를 정기적으로 추가함.
- LHCb 실험 데이터 수집팀의 업그레이드에 처음 도입된 뒤 CERN 외부를 포함한 10개 이상의 프로젝트에서 사용 중이며, CERN이 전 세계 FPGA 프로젝트에서 사용하고 기여할 수 있도록 공개함.
개발 배경
- CERN의 개발자 그룹은 약 4년 전 프로젝트 간 게이트웨어(gateware) 이식성을 개선하는 방안을 조사하기 시작함.
- 당시 CERN의 게이트웨어 설계자들은 대부분 자체 제작 도구를 사용했으며, 이로 인해 불필요한 유지보수 부담이 늘고 설계와 디버깅 과정이 느려짐.
- 여러 공급업체의 FPGA를 사용하는 상황도 복잡성을 더했으며, 이는 CERN에서 다양한 프로젝트를 개발하는 데 주로 기인함.
- 최근 FPGA 게이트웨어 개발 분야에서 다수의 오픈 소스 도구가 등장하자 CERN EP 부서는 이를 조직 전반의 FPGA 설계를 통합하고 표준화할 기회로 판단함.
- 이러한 배경에서
colibri라이브러리가 개발됨.
세 가지 핵심 원칙
- 오픈 소스: 펌웨어 개발 커뮤니티가 colibri를 사용하고 기여할 수 있도록 CERN Open Hardware Licence – Weakly Reciprocal 2.0을 선택함.
- 벤더 독립성: 특정 환경에 종속되지 않고 서로 다른 플랫폼에서 설계를 동시에 평가할 수 있으며, 하드웨어와 소프트웨어 도구를 혼합해 사용하는 경우에도 적용됨.
- 검증: 자체 검사 테스트벤치와 형식 검증(formal verification)을 모두 구현함. 형식 검증은 FPGA 분야에서 비교적 새로운 방식이며, 신뢰할 수 있는 견고한 라이브러리를 제공하는 것이 검증의 목표임.
라이브러리 구성과 검증
- colibri는 순수 VHDL-2008로 작성된 RTL 구성요소 100개 이상을 제공함.
- 구성요소에는 자체 검사 테스트벤치가 포함되며, 가능한 경우 형식 검증 하니스(formal verification harness)도 제공됨.
- 지원하는 기능은 FIFO와 RAM 같은 기본 메모리부터 고급 데이터 조작까지 다양함.
- 라이브러리를 적극적으로 유지보수하며 새 구성요소를 정기적으로 추가함.
도입 현황과 공개
- colibri를 처음 도입한 곳은 향후 업그레이드를 준비하는 LHCb 실험 데이터 수집팀임.
- 현재 CERN 외부 프로젝트까지 포함해 10개 이상의 프로젝트에서 colibri를 사용 중임.
- colibri 개발은 CERN EP R&D 프로그램의 WP 9.3 – Gateware Portability Frameworks 지원을 받음.
- 개발 4주년을 맞아 CERN이 colibri를 전 세계 FPGA 커뮤니티에 공개했으며, 각 프로젝트에서 사용하고 원하는 경우 기여할 수 있도록 함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요