FPGA용 PipelineC에 쓰기

소식

홈페이지홈페이지 / 소식 / FPGA용 PipelineC에 쓰기

Jul 30, 2023

FPGA용 PipelineC에 쓰기

대규모 병렬 애플리케이션이 있는 경우 FPGA(필드 프로그래밍 가능 게이트 어레이)의 가장 좋은 점은 모든 것이 병렬로 실행된다는 것입니다. FPGA의 가장 나쁜 점은 많은 것이 필요할 때입니다.

대규모 병렬 애플리케이션이 있는 경우 FPGA(필드 프로그래밍 가능 게이트 어레이)의 가장 좋은 점은 모든 것이 병렬로 실행된다는 것입니다. 많은 작업을 순차적으로 수행해야 할 때 FPGA의 가장 나쁜 점은 모든 것이 병렬로 실행된다는 것입니다. 예를 들어, 다단계 계산이 있는 경우 이를 청크로 나누고, 그 사이의 타이밍을 파악하고, 새 데이터가 공급되기 전에 각 청크가 지워지는지 확인해야 합니다. 이것은 파이프라이닝이며, 모든 하위 수준의 세부 사항을 직접 처리하는 것은 때때로 FPGA를 "F"로 시작하는 4글자 단어로 만들 수 있는 것 중 하나입니다.

[Julian Kemmerer]의 PipelineC는 FPGA에서 사용할 수 있도록 VHDL로 컴파일하고 파이프라인을 수행하는 C와 유사한 언어입니다. 그는 이를 사용하여 간단한 상태 기계를 구성하는 방법에 대한 예를 갖고 있으며, 수백 개의 상태 기계를 오랫동안 작성한 후에 이것이 왜 좋은 생각인지 알게 될 것입니다.

PipelineC는 유일한 고급 합성 언어는 아니지만 흥미로운 위치에 있습니다. 메모리를 관리하거나 인터페이스를 정의하지 않습니다. 단지 파이프라이닝만 처리하면 됩니다. 아직 시도하지는 않았지만 파이프라인 신호 전달 메커니즘이 번거롭지만 고급 처리가 필요하지 않은 적당히 복잡한 프로젝트에 흥미로울 것 같습니다. 확인해 보시고 마음에 드시면 저희(및 [Julian], natch)에게 알려주세요.

파이프라이닝에 대해 먼저 알아보고 싶다면 [Al Williams]의 2부작 미니 시리즈를 살펴보세요.

CBurnett의 파이프라인 그래픽 CC BY-SA 3.0