最近の更新 (Recent Changes)

2017-06-10
2015-11-04
2014-10-14
2014-07-01
2014-06-29

Neueste Datei-Release

TimingChartViewer (r245)2012-02-15 00:10
isesimutil (r230)2012-01-01 23:07
nbox_util (r247)2012-03-11 22:19
noodlybox (0012)2010-01-01 19:46

Wikiガイド(Guide)

サイドバー (Side Bar)

ZylinCpu研究

このページの作者の開発環境について

  • 機材
    • Windows7 64bitがインストールされたPC(Windows XPでもたぶん動作します)
    • Spartan-3E Starter Kit (3A Starterと共通する部分も多いので、3A版をお持ちの人でも参考になると思います)
    • Avnet Spartan-6 FPGA LX9 MicroBoard (移植はまだ)
    • Actel SmartFusion Evaluation Kit (移植はまだ)
  • ソフトウェア
    • Cygwin をmakeコマンドを動かす環境として使用
    • Xilinx ISE 13.3 Web editionを合成に使用
    • Xilinx ISEに付属のISE Simulatorを、HDLシミュレーションに使用
    • Xilinx ISEに付属のxtclshを、Tclスクリプト実行のために使用
    • Open Veriflcation Libraryをアサーションベース検証のために使用
    • ZPU HDLソースに付属のJavaコマンドを動かすために、jre1.6.0_27を使用

現状

ZPUを Spartan-3E Starter Kitで動くようにしました。

Zpuinoなどの先例があるのである意味車輪の再発明なのですが、最終目標はLX9 MicroBoardおよびSmartFusion Evaluation Kitへの移植をすることなので、理解するために自分で何とかしてみようとしています。

HDLソースは http://sourceforge.jp/projects/noodlybox/svn/view/trunk/zpu/?root=noodlybox にあります。

2011.11.04、ZPUのソースに付属していたhelloworld.vhdというROMイメージを使って、UARTに「hello world」が出力できています。

2011.11.05(rev210)、trunk/zpu/sw/hello.cを書き換えることでソフトを変更できるようになりました。ただし使用可能なI/OはUART出力のみです。

2011.11.06現在(rev214)、Dhrystoneが動くようになりました。ただし、時刻の測定結果が変で、性能は測定できていません。

ZPUはPicoBlazeと違って、Cコンパイラが使用可能で、かつ、Xilinxに依存しない(LatticeとかActelとかのFPGAに移植できる)ので、いろいろと応用が利くと思います。

Xilinx EDKのような統合開発環境は無いので、そのぶん根気が必要ですが...

PicoBlaze ZPU
ビット数 8 32
開発言語 基本的にアセンブラのみ C言語(gcc3.4.2)
対応FPGA Xilinxのみ FPGAメーカーに依存しない
規模(Spartan-3E) 96 slices 350 slicesぐらい?
必要BRAM数(Spartan-3E) 1個 8個以上

ちなみに、PicoBlaze向けに作られたペリフェラルは、改変することなくZPUにも接続できそうな感じです。