汎用レジスタのテストベンチ

今日は昨日、アップした汎用レジスタのテストベンチを書いた。

いやぁ、間違えてましたね(^-^;

今回は修正したソースとテストベンチを追加してgithubに登録した。

リポジトリは下記の場所の中のAQ_REGにあります。

今は、一つしかディレクトリがないけどそのうち増えていきます。

git://github.com/aquaxis/Peripheral.git

下記のようにすればいいでしょう。

% git clone git://github.com/aquaxis/Peripheral.git

信号の説明とか、マニュアルはgoogleドキュメントで登録する予定です。

想定はCPUなどのバスに繋がります。

WE、BE、ADRS、WDATA、RDATAがバスに繋がる部分で、他の信号は内部モジュールなどの制御用に使います。

DATAx_IはWired ORでCPU側にデータを見せるために使用します。

DATAx_Oはレジスタの値が出力されます。

DATAx_Sはレジスタにデータのセットで、DATAx_Cはレジスタのデータを任意のビットでクリアします。

ディレクトリはsim、srcがあります。

srcは文字通り、ソース置き場です。

simはシミュレーション用のディレクトリでLinux環境でXilinx 14.1であれば、makeするだけでシミュレーションの実行ファイルを作成します。

例えば、下記のようにします。

% make

tb_aq_registerというファイルが作成されます。

% ./tb_aq_register

ISim P.15xf (signature 0x8ddf5b5d) WARNING: A WEBPACK license was found. WARNING: Please use Xilinx License Configuration Manager to check out a full ISim license. WARNING: ISim will run in Lite mode. Please refer to the ISim documentation for more information on the differences between the Lite and the Full version. This is a Lite version of ISim. Time resolution is 1 ps ISim> run all ← このコマンドを入力する Simulator is doing circuit initialization process. Finished circuit initialization process.

Start Simulation

Release Reset Test: Register Write 1 [01-1]: Data Ok. [01-2]: Data Ok. [01-3]: Data Ok. [01-4]: Data Ok. Test: Register Write 2 [02-1]: Data Ok. [02-2]: Data Ok. [02-3]: Data Ok. [02-4]: Data Ok. Test: Register Set/Clear, Wired OR [03-1]: Data Ok. [03-2]: Data Ok. [03-3]: Data Ok. [03-4]: Data Ok.

Finshed Simulation Simulation time: 0 [usec]

Stopped at time : 570 ns : File "/home/hidemi/github/Peripheral/AQ_REG/src/tb_aq_register.v" Line 300

テスト内容を増やしたければ、自由に増やしてみてくださいませ。

今日はこんなところまでで・・・