« スイッチの日開がタモリ倶楽部に出演するらしい!? | トップページ | 玄箱ProとPCI Express »

2007.03.18

PCI ExpressのIPコアがWindowsXPで認識された

昨年の9月ごろから、少しづつ開発を進めてきたPCI Express IPコアですが、ようやくWindowsXPから認識されることができました。

前回の日記ではWindowsXPが起動中にフリーズすると書きましたが、原因はPCI Expressのフローコントロールがちゃんと設定されていなかっただけでした。

マルチファンクションの要求に対して正しく拒否応答するようにし、フローコントロールの部分を修正してみると、見事にWindowsXPが起動しました。

まずは、デバイスマネージャで見てみます。
Pcie1_1

不明なデバイスとしてちゃんと認識されています。

プロパティを見てみると、「PCI Slot 5(PCIバス1,デバイス 0,機能0)」と表示されています。

Pcie2_1

そういえば、BIOSがいろいろ初期化している最初の時にはバス番号5番でいろんなリクエストが送られてきましたが、BIOSによる初期化の中盤からバス番号が1番になりました。きっと、PCIバス番号の再割り当てが行われたののだろうという推測が成り立ちます。

次に、プロパティをさらに詳しくみてみると、ベンダIDなどに設定した値などがデバイスインスタンスIDになっています。
Pcie3_1

そして、WindowsXP対応の、PCIのコンフィグレジスタやI/Oなどを見るツール(福田さんのPCIXP.EXE)を使わせてもらって、コンフィグレジスタを見てみると、見事に見えました!

Pcie4_1

ちなみに、使っているボードは、XILINXのSpartan3 PCI Expressスタータキットです。
Board

世の中にはVirtex5LXTなんていうPCI Expressコア内蔵のFPGAも登場していますが、やはりSpartan3+外付けPHY用のIPコアを、今作る魅力というものもあるかと思います。

まだXC3S1000のSliceを14%しか使っていないし、BlockRAMは1個も使っていません。
140kゲート相当ですから、コンパクトでしょ?

Pcie5_1


|

« スイッチの日開がタモリ倶楽部に出演するらしい!? | トップページ | 玄箱ProとPCI Express »

コメント

コメントを書く



(ウェブ上には掲載しません)




« スイッチの日開がタモリ倶楽部に出演するらしい!? | トップページ | 玄箱ProとPCI Express »