A Design of DSL for FPGA-application with Scala

Bibliographic Information

Other Title
  • ScalaによるFPGAアプリケーション開発用DSLの設計

Description

FPGAは,I/Oインテンシブな処理や,低消費電力かつ高性能での動作が必要なアプリケーションの開発プラットフォームとして注目されている.しかしながら,FPGA開発において主流のHDLを使ったRTL設計は,あくまで回路設計であり,ユーザが実現したいアプリケーションの開発との乖離が大きく,設計が煩雑である.そこで,FPGAを使ったアプリケーション開発を手軽かつ迅速に実現するためのScalaを用いたDSLを設計した.設計したDSLでは,FPGAアプリケーションを実装するために必要な状態遷移や組合せ回路を扱うクラスと演算子を提供する.Scalaのクラスやパタンマッチを活用しながら,簡潔,かつ,再利用性の高いハードウェア設計が可能になる.

FPGA is getting a lot of attention as a computing platform for I/O intensive operation and high-performance computation with low power consumption. Although a major approach for design to use FPGAs is RTL-design with HDL, that is primarily a method for circuit design. Therefore, there exists a enormous gap between RTL design with HDL and FPGA-application development and that is time-consuming work. This paper shows a DSL with Scala that makes development FPGA-application easy. The DSL defines classes and operators for developing FPGA-application, such as state-sequence, combination logics. By employing features of Scala, the development with the DSL enables simple and high-reusability FPGA-application design.

Journal

Keywords

Details 詳細情報について

Report a problem

Back to top