• Showing Page History #35877

Project PuzzleBox - Processor for functional languages in Verilog HDL

Project PuzzleBoxは,関数型言語で書かれたプログラムを高速かつ低消費電力で実行することのできるプロセッサと,そのプロセッサに最適な関数型言語を開発するプロジェクトです.プロセッサはVerilog RTLで提供され,IPとしてシステムに組み込むことができます.同時に,ヴァーチャルマシンとコンパイラも提供し,設計開発からデバッグまでの作業を一通り行うことができます.

プロジェクトの第一段階では,純粋非正格関数型言語LazyKで記述されたプログラムを,FPGA上で動かします.LazyKを遅延評価を用いながらFPGA上で実行するために,Graph Reduction MachineをVerilog RTLにて開発します.このGraph Reduction MachineをPuzzleBox Iと呼びます.FPGA上でGraph Reduction Machineを実現し,LazyKで記述されたコードをこのマシン用のバイナリに変換,ロードさせることにより,LazyKのコードを高速かつ低消費電力で実行することを目標とします.また,LazyKに対し,チャーチ数ではないmachine integerのサポート,および組み込み演算(加減乗除,比較,car, cdr, cons, if等)を追加することにより,プロセッシングをさらに高速かつ低消費電力で実現します.

このプロジェクト第一段階では,以下の成果物を配布します.

  • PuzzleBox I コア (Graph Reduction Machine)
  • PuzzleBox I ヴァーチャルマシン
  • LazyKコンパイラ for PuzzleBox I
  • FPGA実装用サンプルシステム (Host CPU, Memory, BUS, etc...)
  • LazyKで書かれたシステム評価用ソフトウェア

このプロジェクトは未だプレアルファ段階です.リリースできるIP等は完成しておりません.作業中のPuzzleBox Iコアは,svn:puzzlebox:/trunk から閲覧できます.

プロジェクトの進捗は,Project管理者のブログにて報告しております.将来的には,本サイトに全ての成果物を掲載する予定ですが,成果物がとぼしい現状では,こちらのブログより進捗を確認下さい.