汎用レジスタのテストベンチ
今日は昨日、アップした汎用レジスタのテストベンチを書いた。
いやぁ、間違えてましたね(^-^;
今回は修正したソースとテストベンチを追加して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
テスト内容を増やしたければ、自由に増やしてみてくださいませ。
今日はこんなところまでで・・・