バイト7のビット7~4が最後のDWのバイトイネーブル。これは0000に決まり。ビット3~0が最初のDWのバイトイネーブル。本には記載がなかったがアクティブハイだろうか?1111。最初と最後のバイトイネーブルをパケットに含めることで、バイト単位(のアドレス)でバースト転送をすることができる。PCIバスの様に個別に、常時バイトイネーブルが付くわけではないので、1バイト置きに書くということは出来ない。次のフレームの0x01a00000を解析してみる。最初のバイト(バイト8)は、バス番号、0x01。バイト9のビット7~3はデバイス番号、10100。ビット2~0は機能番号000。バイト10のビット3~0は拡張レジスタ番号、0000。バイト11のビット7~2はレジスタ番号、000000。まとめると、このTLPはバス番号01、デバイス番号10100、機能番号000(これがPCIeのエンド・ポイントのコンフィギュレーション時のアドレスのハズ)の0番レジスタへのコンフィギュレーション・リード・リクエスト(タイプ0)。PortのリクエスタIDは0x01a0。次は、コンフィギュレーション・リード・リクエスト(タイプ0)にエンド・ポイント(Spartan-6のPCIeエンド・ポイントのハードIP)が応答して、返した値を調べてみる。»コメントずいぶん昔の記事にコメントして申し訳ないのですが、FPGAでPCIeを使うのは技術的にかなり難しいことですよね?CycloneIVGXでPCIeを通信に使用したいと考えていたのですが、AlteraのQuartusのなかにあるハードIPというものを使えば使えるのでしょうか?ぶしつけな質問ですみません。]今は、PCIeのFPGAボードも普通に売っていますし、その様なボードには大抵サンプル・デザイン付いていると思うので、普通はPCIeでパソコンにつながるんじゃないでしょうか?但し、私は実際にPCIeのボードは持っていますが、パソコンのPCIeコネクタに接続して通信してみたことがないですし、AlteraのFPGAは知らないのでよくわかりません。URLhttps://marsee101.blog.fc2.com/tb.php/1470-4cbd4ca3この記事にトラックバックする(FC2ブログユーザー)プロフィールAuthor:marseeFPGAの部屋へようこそ!FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。WEBブログデザイナ。