FC2カウンター FPGAの部屋 PCI-Xバス・モジュールのテスト(続き2)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

PCI-Xバス・モジュールのテスト(続き2)

これがPCI-Xのコンフィギュレーション・リードのChipScope波形だ。
PCIX_conf_ac_chipscope_070709.png

Xカーソルの位置を見ると、framex_1dが 0 になった時にidsel_1dが 1 になっているので、コンフィギュレーション・アクセスだ。そのときのpcix_ad_inは 00041000 なので、コンフィギュレーション・アドレス 0 番地で、Function Number 0x04, Device Number 0x02, Bus Number 0 だ。pcix_c_be_b_cは 0xA なので、コンフィギュレーション・リード。

”PCI-Xコマンド・ステータスレジスタにアクセスが行っているかどうかが、まだ不明だ。”と書いたが、やはり Capabilities Pointer(0x34)にアクセスしていなかった。これはなぜかと調べていると、PCIステータスレジスタ(0x06)の bit4 (Capabilities List ビット)に 1 を立てていないためだった。これを立てるとCapabilities Pointer(0x34)にアクセスしに行くようになって、続いてPCI-Xコマンド・レジスタにアクセスに行くようになった。しかし、まだPCI-Xコマンド・レジスタの値は変更されていない。もう一度調べてみると、PCI-Xコマンド・レジスタのEnable Relaxed Ordering.ビットのデフォルトは 1 だが、これを 0 にしていたので書かなかったのかもしれない。これをもう一度変更して要調査。

”PCI-Xステータ・レジスタのFunction Number, Device Number, Bus Numberのフィールドの値がおかしい”件はDWORDリードアクセス時にも、framex_1dが 0 になった時にidsel_1dが 1 になっているためだった。これでコンフィグレーション・アクセスを判別していたのだが、DWORDリードアクセス時にもそうなるとすると、PCI-Xのコマンドもデコードしなくてはだめだ。修正後OKだった。
PCIX_DWORD_READ_70710.png


まだ、なぞがある。メモリ領域へのターゲット・ライトはどれでやるのか?
Memory Writeコマンドだと思うが、なぜDWORDリードはあって、DWORDライトはないのだろうか?

パソコンのチップセットはインテル® 3000です。
  1. 2007年07月10日 17:02 |
  2. PCI
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/520-ae7ccd3e
この記事にトラックバックする(FC2ブログユーザー)