= 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 ヴァーチャルマシン * FPGA実装用サンプルシステム (Host CPU, Memory, BUS, etc...) * LazyKコンパイラ for !PuzzleBox I このプロジェクトは未だプレアルファ段階です.リリースできるIP等は完成しておりません.作業中の!PuzzleBox Iコアは,svn:puzzlebox/trunk から閲覧できます. プロジェクトの進捗は,[http://lambda.cocolog-nifty.com/blog/ Project管理者のブログ]にて報告しております.将来的には,本サイトに全ての成果物を掲載する予定ですが,成果物がとぼしい現状では,こちらのブログより進捗を確認下さい.