패턴에서 파서까지: FPGA를 위한 효율적인 하드웨어 파서의 자동 생성
요약
상위 수준 명세로부터 FPGA용 효율적인 하드웨어 파서를 자동 생성하는 오픈 소스 도구를 제안합니다. PIR(Parsing Intermediate Representation)을 통해 최적화된 SystemVerilog를 생성하며, 기존 방식 대비 높은 동작 주파수와 적은 리소스 사용량을 달성했습니다.
핵심 포인트
- PIR을 활용하여 프런트엔드와 RTL 백엔드를 분리
- 범위 검증 및 외부 포트 비교 등 고급 패턴 매칭 지원
- Ethernet 파싱 시 이전 연구 대비 주파수 최대 226% 향상
- 계층적 패턴 분해를 통해 리소스 사용량 최대 8배 감소
본 연구는 상위 수준의 명세(high-level specifications)로부터 효율적인 하드웨어 파서(hardware parsers)를 자동으로 생성하기 위한 오픈 소스 도구를 제시합니다. 이 도구는 애플리케이션 특화 프런트엔드(application-specific frontends)를 공통의 레지스터 전송 레벨 (RTL) 생성 백엔드(backend)로부터 분리하는 파싱 중간 표현 (PIR, parsing intermediate representation)을 사용합니다. 백엔드는 최적화되고 사람이 읽을 수 있는 SystemVerilog를 생성하며, 유한 상태 머신 (FSM, Finite State Machine) 생성, 바이트 정렬 (byte-alignment), 그리고 임의의 데이터패스 폭(datapath widths)에 대한 멀티 사이클 필드 스트래들링 (multi-cycle field straddling)을 처리합니다. 또한, 이 도구는 기존의 파서 생성기(parser generators)가 표현할 수 없는 범위 검증 (range validation), 부정 (negation), 외부 포트와의 비교 (comparisons against external ports)와 같은 연산을 지원하기 위해 커스텀 심볼릭 토큰 (custom symbolic tokens)을 도입함으로써 단순한 일치 확인을 넘어 패턴 매칭 (pattern matching)을 확장합니다. 우리는 수정되지 않은 동일한 백엔드를 사용하여 Ethernet 프로토콜 파싱을 위한 P4 프런트엔드와 네트워크 침입 탐지를 위한 Snort 프런트엔드를 사용하는 두 가지 엔드 투 엔드 (end-to-end) 흐름을 입증합니다. 생성된 Ethernet 파서는 이전 연구보다 최대 226% 높은 동작 주파수 (operating frequency)와 최대 97% 적은 FPGA 로직 리소스를 달성했습니다. 통제된 합성 연구 (controlled synthetic study)를 통해 이 도구의 계층적 패턴 분해 (hierarchical pattern decomposition)가 단일 구조 (monolithic) 설계 대비 최대 8배의 리소스 사용량 감소를 가져온다는 것을 추가로 보여줍니다. 우리의 오픈 소스 프레임워크는 설계자가 다양한 애플리케이션을 위해 고성능, 리소스 효율적이며 벤더 중립적인 (vendor-agnostic) 하드웨어 파서를 신속하게 구현할 수 있도록 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기