FC2カウンター FPGAの部屋 PCI-Xマスタ・モジュールの難しさ
FC2ブログ

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

FPGAの部屋

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

PCI-Xマスタ・モジュールの難しさ

PCI-Xマスタ・モジュールは、あまり進んでいない。夏休み自由研究サーポート企画があって、そっちに時間がとられているのもあるが、ターゲットだけならば簡単だが、マスタも入れるとなるとXilinxのFPGAのIOB特有の問題が出てきてしまう。
AD (アドレス・データ)はなるべくIOBのFFにマップしようと思っているし、そうでないと、タイミング的にも厳しい。また、絶対にひげが出ないようにするために、またIOBのFFに入れるために、ADの出力バッファ制御入力はFF出力からドライブするようにしている。ADの出力論理も同様だ。ターゲットの時に、このようになるように最適化してあるが、ここにマスタの出力を追加する必要がある。IOBに出力バッファが2つあって、ターゲット用、マスタ用に使えるのならば簡単なのだが、(Virtex2-proです)そうではないので、マスタの論理を追加する必要がある。しかもFF出力ではなくて、その一つ前の組み合わせ回路出力をターゲットとマスタを合わせて、IOBのFFで受けるようにする必要があるのだ。クリティカルパスの問題も気になるし、その辺が難しい。その前にFFで受けられれば良いのだが、PCI-Xの仕様的にそれは許されない。
ADはターゲットもマスタ・アクセスもRead, Writeがあるので、そのような問題が発生する。
FRAME#, IRDY#, DEVSEL#, TRDY#, STOP#などは、ドライブするモジュールがターゲット、マスタで一意に決まるので、そのような問題はない。
その辺は前のPCIが参考になるはずなのだが、もうまったく忘れちゃっているので、最初から考えたほうが速そう。前も確か苦労したと記憶している。
  1. 2007年07月25日 22:15 |
  2. PCI
  3. | トラックバック:0
  4. | コメント:2

コメント

なかなか厳しそうですね

こんばんは。
厳しい状況お察しします。
私も以前、2系統のHDTVの信号をSpartan-3で同期させて出力するという仕事をしたとき、たかだか74.25MHzでしたが入出力にIFD,OFDを使い、途中の回路の至る部分でFFで刻んだ思い出があります。そうしないと出力信号を映像で見たときに画素が1pixel右にずれたり左にずれたりとコンパイル毎に変わってしまったことがありました。

当時、ISEを熟知していれば解決できるのに!と思い、Googleでいろいろ検索したことがあります。marseeさんの「FPGAの部屋」もそのとき存在を知りました。当時はUCFの書き方1~2の記事までだったと思いますが参考にさせて頂きました。

記事の件ですが、PCI-Xの仕様もそうですがmarseeさんは133MHzの世界ですから厳しいものがありますよね~。全体のレイテンシさえ気にならなければAND,ORの組み合わせ回路をちょろっtとづつFFで刻んでいけば高速ロジックも問題ありませんが、Busやデコーダー、アドレスカウンタなど全てタイミングがシビアになってきますし、検証が大変ですね。

コンパイル、シミュレーションの繰り返しが数10秒出来たらいいですね~。それか、FPGAEditorで配置するたびにリアルタイムで遅延時間が表示されると随分と楽になりますよね。
  1. 2007/07/25(水) 23:04:20 |
  2. URL |
  3. hypermac #-
  4. [ 編集 ]

hypermacさん、こんにちは。コメントありがとうございます。
画像ならば、いくらパイプラインしても大丈夫だと思いますが、PCI-Xなどのインターフェースは、どう来たら、どのタイミングで答えるというのが決まってますから、レイテンシが固定されているので、厳しいです。
実はまだ、P&Rまで進んでいませんが、やはり速くインプリメントできると良いと思っています。今度はSmartGuideを使ってみようと思っています。
PCI-Xモジュールを作る仕事が専業というわけではなく、その他の仕事のインタラプトが多いので、今のところ進みません。

UCFの書き方の記事を見ていただいて、ありがとうございます。そういっていただけると、とてもうれしいです。
  1. 2007/07/26(木) 04:56:53 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


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

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