FC2カウンター FPGAの部屋 Spartan-6のPCIe Endpoint Block IPの勉強5(pio_writeReadBack_test1その3)
FC2ブログ

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

FPGAの部屋

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

Spartan-6のPCIe Endpoint Block IPの勉強5(pio_writeReadBack_test1その3)

PCI Express(PCIe)のトランザクション・パケット解析ソフトができて、PICeのパケットを解析しようと思っているが、素朴な疑問が出てきた。

1. PCIeの初期化はどうやっているのだろうか?PCIバスでは、IDSEL信号があって、FRAME#がアサートされた時にIDSELが1だと、自分へのコンフィギュレーション・アクセスだということが識別できたが、PCIeでは、スイッチを通っているので、スイッチが自分に投げたパケットは自分宛のパケットとして処理して良いということだろうか?
2. 1が言えるということは、自分に投げられた最初のコンフィギュレーション・パケットのバス番号とデバイス番号を自分の物と認識しても良いということだろうか?


今のところ、2冊のPCIeの日本語の本を見ても書いてないようだ。英語の本を読まないとだめかな?それとも当たり前のだろうか?

さて、疑問は置いといて、”Spartan-6のPCIe Endpoint Block IPの勉強4(pio_writeReadBack_test1その2)”で、メモリ・リード・リクエストのパケットがあったので、コンプリーション・パケットがあるはずだ。それを見てみよう。下に、その波形を示す。
pio_writeReadBack_test1_4_100609.png

このパケットの値は、4a000001 01a00004 01a00a00 04030201 となっている。これをトランザクション・パケット解析ソフトに入れて、解析する。
pio_writeReadBack_test1_5_100609.png
pio_writeReadBack_test1_6_100609.png

コンプリーション(データあり)となっている。これはメモリ・リード・リクエストに対するコンプリーションなのでデータはありとなる。タグもメモリ・リード・リクエストと同じ0Aだ。腑に落ちないのは、リクエスタIDとコンプリータIDが01A0で同一ということだ。これは、おかしい気がする。
第4DWはデータで、以前Writeしたデータがそのまま読み出されている。

ちなみに、”Spartan-6のPCIe Endpoint Block IPの勉強1(シミュレーションでRoot Portの動作を確認)”では、アクセス先のトランザクションID(バス番号&デバイス番号&機能番号)は 01A0だったが、”Spartan-6のPCIe Endpoint Block IPの勉強2(シミュレーションでRoot Portの動作を確認2)”では、コンプリータIDが 0000 になっていた。これは同一でないとおかしいと思うのだが、まだコンフィギュレーションの途中ということでトランザクションIDが入っていなかったのだろうか?

次は、pio_writeReadBack_test1でのコンフィギュレーションの様子を観察することにする。
  1. 2010年06月09日 05:21 |
  2. PCI Express
  3. | トラックバック:0
  4. | コメント:2

コメント

Memorize Your Identity

日本語の本は読んだ事無いのでわかりませんが、『PCI Express System Architecture』の「Chapter 21:PCI Express Enumeration」「Memorize Your Identity」に詳しい説明があります。
どうやらタイプ0コンフィギュレーションライトリクエストパケットのバス番号とデバイス番号を自分のIDとして使うようですね。もしタイプ0コンフィギュレーションライトの前にIDが必要なときは0を使えみたいな記述もあります。
リクエスタIDとコンプリータIDが同一なのは確かにおかしいですね。その前のタイプ0コンフィギュレーションライトアクセスのIDがどうなってるか見てみたいです。
以上、よけいなお世話でした。
  1. 2010/06/10(木) 01:08:13 |
  2. URL |
  3. I.K #RG4su4aY
  4. [ 編集 ]

I.Kさん、こんにちは。コメントありがとうございました。よろしかったら、わからないところを教えて下さい。よろしくお願いします。
私も、『PCI Express System Architecture』は持っています。1000ページ以上の英文の本なので、読むのが面倒で、しかも、このシリーズは読まないと分からないように書いてあるので、(読めばわかるのでしょう?)読まないで、日本語の本と共用してます。お知らせ頂いた章を読んでみようと思います。
タイプ0コンフィギュレーションライトアクセスのIDについては、次のブログの記事で書いていますが、Root PortのIDと同一でした。やはり?という感じです。
  1. 2010/06/10(木) 05:07:19 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

コメントの投稿


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

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