BoxLambdaについて
BoxLambdaは、自作のレトロスタイルFPGAベースのマイクロコンピュータを作成するハードウェア・ソフトウェアクロスオーバープロジェクトです。目標は、ソフトウェアとFPGAゲートウェアを実験するためのサンドボックス環境を作成することです。
物理的なセットアップ

物理的なセットアップ。
現在の機能
- ターゲットFPGA: Arty-A7-100T。
- マシンタイマーとハードウェア割り込みをサポートするIbex RISC-Vコア。
- ハーバードアーキテクチャベースの相互接続。
- SoC全体での低レイテンシのレジスタおよびメモリアクセス。
- 予測可能な命令サイクル数。
- DFX部分FPGA再構成のサポート。
- Litexメモリコントローラを介したDDR3外部メモリアクセス。
- FPGAおよびVerilator上のOpenOCDベースのデバッグアクセス。
- VERAベースのVGAグラフィックス: 2レイヤー、タイルまたはビットマップモード、64スプライトの2バンク、128KBビデオRAM、256色パレット。
- デュアルYM2149 PSGオーディオ。
- SDカードコントローラとFatFsファイルシステム。
- 24ピンGPIO、UART、SPIフラッシュコントローラ、I2Cコントローラ。
- リアルタイムクロックおよびカレンダー(RTCC)のサポート。
- USB HIDキーボードおよびマウスのサポート。
- Picolibcベースの標準C環境。
- FPGAとVerilatorの両方で動作する、すべてのSoCコンポーネントをカバーするテストアプリケーションスイート。
- Mecrisp Forthコア + C FFI。
ゲートウェアブロック図

ソフトウェアブロック図

BoxLambda OSアーキテクチャブロック図。
主要な目標
-
ソフトウェアとFPGAゲートウェアを実験するためのサンドボックスを作成する:
- 飛び込んですぐに何かできるように簡単であるべき: 作成、ハック、改造。
- 一人で十分に理解できる: やる気のある個人がソフトウェアとハードウェアを含むシステム全体をしっかりと理解できる。
- 決定論的な動作: 内部メモリやレジスタアクセスなどの操作の時間は設計上予測可能でなければならない。
- 高水準のインタラクティブおよび低水準のシステムプログラミングをサポートする自己完結型ランタイム環境。
- ソフトウェアとハードウェアコンポーネントの組み合わせを可能にするモジュラーアーキテクチャを作成する。オプションで部分FPGA再構成をサポートする。
-
ターゲットハードウェア: DigilentのArty-A7。
-
このコンピュータは以下のペリフェラルをサポート:
- USB HIDキーボード
- USB HIDマウス(オプション)
- USB HIDジョイスティック(オプション)
- リアルタイムクロックおよびカレンダー(オプション)
- シリアルポート
- SDカードストレージ
- フラッシュメモリストレージ
- VGAディスプレイ
- オーディオ出力
-
サウンドとグラフィックスはレトロスタイルの2Dデモとゲームプレイをサポート。
ステータス(2026年4月)
- インフラストラクチャ(ビルドシステムなど): 完了。
- ゲートウェア: 完了し、要件を満たしています。
- ソフトウェア: 開発進行中。
- OSアーキテクチャ: 定義済み。
- BoxLambda Cコア: 部分的に完了。
- Mecrisp Forthコア: 完了。
- Mecrisp Forth環境: 部分的に完了。
- Forth<->C FFI: 完了。
- ファイルシステム層: 完了。
変更履歴
リンク
ドキュメント