TEL:086-227-0113
info@gopher-tec.jp
TOP page 製品情報 FPGAサンプルコードリポジトリ BusAcc LevelMeter
BusAcc LevelMeter

バスの使用率を5%刻みでLED表示するレベルメータのサンプルです。
PCIバスであれば、ほぼこのソースのまま使用可能ですが、それ以外のバスでも、集計条件等を変更
すれば容易に対応可能です。
33.33MHzのPCIバスの場合、約157ms毎にデータ転送を行った時間を集計し、その割合をLED表示
します。
ソースのコメント部に沿って変更すれば、データ転送の待ち時間だけを集計したり、アイドル時間だけ
を集計したりすることも可能です。PCIマスタを作った際のバス使用状況の確認や検証に便利です。

Port I/O  Description 
RST in 非同期リセット入力です。
パワーオン時、またはシステムリセット時にアサートして下さい。
CLK
in バス同期クロックです。
33MHz前後を想定していますが、それよりも倍以上速い、または遅いクロックで使用する
場合は、集計周期を変更した方がLED表示をより見易くできるでしょう。
BUS_FIN in 集計に使用するバスの信号を接続します。
PCIバスであれば、FRAME#をクロッキングして反転した信号を接続して下さい。
それ以外のバスであれば使い方は任意です。
BUS_IIN in 集計に使用するバスの信号を接続します。
PCIバスであれば、IRDY#をクロッキングして反転した信号を接続して下さい。
それ以外のバスであれば使い方は任意です。
BUS_TIN in 集計に使用するバスの信号を接続します。
PCIバスであれば、TRDY#をクロッキングして反転した信号を接続して下さい。
それ以外のバスであれば使い方は任意です。ソースコードではBUS_IINとBUS_TIN
がともにアクティブのクロック数を集計しています。
LED_ON[18:0] out レベルメータ用LEDの点灯用出力です。
ビット0は使用率5以上でアクティブに、ビット1は同10%以上でアクティブに、
そしてビット18は使用率95%以上でアクティブになります。
集計は約157ms毎に繰り返し行い、その都度表示を更新します。
LEDの数を少なくしたい場合は、縮退する各レベルのLED_ON信号のORをとって
LEDをコントロールして下さい。
※特に注記のない限り、信号は全て正論理です。
本ソースコードはVHDL版とVerilog版となっております。
詳細は下記の資料ダウンロードをクリックください。

BusAcc LevelMeter
資料ダウンロード