まあ、実用でも何でもないのですが、自分でPCIバス上のデータが見られるのも面白いし、今後のデバッグにも役立つかと思ったので作ってみることにしました。
ブロック図は以下のようになっていて、前回よりはモジュール化できてきました。

トレーサは、PCIクロックに同期して、AD(32bit)、C/BE#、FRAME#、DEVSEL#、IRDY#、TRDY#、STOP#の各PCI信号をトレースします(下図)。

XilinxのROMは最大36ビット(うちパリティ4bit)しか作れないことと、通常のPCIメモリ空間からの32bit幅アクセスと整合性を取るため、32bit幅のRAMを二つ用意しています。余ったビットはタイムスタンプとして使用しています。
トレース時には両RAMに一度に32bitづつ計64bitのデータを書き込み、読み出すときは偶数ワード、奇数ワードに分けてアクセスします。
0 件のコメント:
コメントを投稿