Home

新着情報

2019年5月22日 アセンブラのバージョンアップ

2019年5月16日 オープンソース公開停止と実装結果を追加

2019年5月15日 劣化版の開発予定追加

2019年5月12日 サイト公開


概要と目標

WZetaは超軽量な8bit CPUです。命令セットに超軽量なCPUに向いた工夫が入っています。 大したCPUではありません。かなり緩いオープンソースのライセンスにして社会貢献になることを目標としています。 現在、CPUのオープンソースハードへの風当りは強く、やむなく公開停止になっています。 AES 256bitの暗号化、復号化が普通に動作します。サイト公開時、サンプルコードとして付属していました。

5月15日 WZetaの特長が他人の特許を侵害していないことが確認されない限り、役に立たないということになり、 特長を削った劣化版の開発をしています。劣化版はアセンブラレベルで完全互換ですので特許侵害がないことが 確認されれば、元のWZetaにプログラムを修正することなく戻せるというものです。 WZetaはASIC、FPGAなどデバイスに依存しないVerilogの実装です。

5月16日 劣化版 Lesser WZeta完成。 WZetaとLWZetaで、どのくらい違うのか、FPGAによる実装結果の公開。 XilinxのFPGAでは67LUTから86LUTに19LUT増えたもののFFのほうは64FFから46FFに20FF減りました。 これはBRAMに付属する出力FFを利用したため。XilinxのFPGAでは劣化版でも、面積性能はあまり劣化しない という結論になりました。


5月22日 公開停止中ですがアセンブラをバージョンアップ。定数をdefineできるように改良しました。


特長

命令セットに特長があります。命令コードは32bitですがプログラムを8bit単位に送信して CPUで実行することでCPUの面積や配線リソース、メモリリソース(1ポートメモリでOK)を省力化します。

1バイト目、Aレジスタに7bitの即値を代入するかレジスタ(0-127)の値を代入

2バイト目、Bレジスタに7bitの即値を代入するかレジスタ(0-127)の値を代入

3バイト目、加減算、論理演算、比較、分岐命令のコード

4バイト目、演算結果をレジスタ(0-127)に代入。もしくは分岐命令後の空白

命令コードを分割して送信できること以外は、ごく一般的なCPUの命令セットと同じで、数も少ない。


効果

XilinxのArtix-7のFPGAでBRAM1個の構成にするのが、最もよく使われるケースですが、Verilogは オプションで拡張命令やスタック増量などができるようになっています。 BRAM1個の構成でFETCH命令を拡張するとAES暗号が実装できます。FPGAの実機で実際に動作が確認されました。 その構成でXilinxの8bit PicoBlazeと比較して面積が50%~60%。プログラムの転送幅がPicoBlazeの半分以下の8bit。 PicoBlazeにないパリティで高信頼という効果があります。実用性のあるCPUです。


開発者

1999年のICF3の暗号プロセッサの設計者でOpenICF3の公式サイト の管理人でもあります。この8bit CPUはICF3とは全く別のものです。


ライセンスについて

WZetaのライセンスについては、こちらのページを、ご参照ください。