最近の更新 (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)

ImplementationByDpi

NOODLYBOXを、Tcl実装よりもシミュレーションを高速に(rev88で約6倍)すること、ソースコードの見通しをよくして拡張・保守をしやすくすることを目的として、DPI-Cで書き直しました。
C側は、C++を使って実装してあります。C++の演算子オーバロードの効果で、Tcl実装版と比べて、FPGAをアクセスするプログラムの見た目を普通のCプログラムに近づけることができました。 DPI-Cの使い方の実例として人さまの参考になれれば嬉しいです。
  • DocumentForDpiSample --- 書きかけドキュメント 現時点ではうそになっている箇所もあります。

ファイル一式の入手は?

ダウンロードから0006を拾うか、もしくは最新版を
svn checkout http://svn.sourceforge.jp/svnroot/noodlybox
で拾ってください。TortoiseSVNを使用してもチェックアウトが可能です。
また、ViewCVSを使用してtarballを取得することもできます。

とりあえず試すには?

ModelSim XE III/Starter 6.4bとMSYS+MinGWがインストール済みの、Windows XP Homeが動いているPCが必要です。 (DCMのHDLモデルを作るためにxaw2verilogを起動するので、Xilinx ISE 11のインストールも必要でした。2009.09.15追記)
手順は、ファイル一式を入手、展開し、MSYSのプロンプトを開いたら、
cd ~/noodlybox/dpisample
. settings.sh
make
cd msimv
make sim
を順にプロンプトに打ち込んでください。

開発状況

rev88時点 tDPIrev88.png

Tcl実装と同じ動作ができるようになりました。性能は、モジュールのロードが完了してから$stopまでを、Tcl実装とDPI-C実装で測って比べると、約6倍のスピードになっていました。

rev102時点

FPGAのレジスタを定義するCSVファイル(例:/dpisample/samplefpga.csv)に予約レジスタが書かれていなくても(アドレスが飛び地になっていても)、構造体を正しく作れるようにしました。 構造体のレジスタアドレスのテストは、noodlybox/dpisampleでmakeを実行した後、msimvディレクトリに移ってmake addrtestを実行することで行えます。