FC2カウンター FPGAの部屋 伝送線路シミュレーションの解析に苦戦中
FC2ブログ

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

FPGAの部屋

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

伝送線路シミュレーションの解析に苦戦中

伝送線路シミュレーションが出てきたがその意味の解析に苦戦中だ。
クロックの伝送線路シミュレーション結果はこの前のブログに書いたし、きれいな波形にしなければいけないというので、どういう波形が必要がわかるため楽だった。
でもデータバスなどはFPGA,SDRAM,PowerPCの3つ一筆書きでつながっているので、端から真ん中のSDRAMにデータ転送する場合の波形が悪くなる。
タイミングのダイアグラムは考えてあったのだが、波形の乱れによって、だいぶマージンが減りそうだ。どのように計算したらよいかが良くわからないので困っている。おまけにクロックはフェーズシフトする予定なのでどの位置に来ればよいかがいまいちイメージがわかない。
データにクロックを重ね合わせて自分で見られれば一発なんだけど。考えすぎて胃が痛くなってきた。
一応、ターミネータをつけてもちょっと改善できないかどうかをやってみてもらえることになった。
やはりLVCOMSデータバス133MHzは反射が多いのか?スルーレートを変えるという方法もあるな。。。
でもあまりシミュレーションお願いしていると悪そうだし。。。ああ.....自分でやりたい。

それから伝送線路シミュレーションは67MHzのクロックでやっているが、例えばLVDS受信用ICだとLVDSで来た信号を受けてLVCOMSでクロックとデータを送ってくる。実際のデータはクロックのようには変化はしない。
そのクロックに対してデータの有効時間が仕様で指定されている。これがクロックの前、少なくとも2ns前から有効になっていると書いてあったら、伝送線路シミュレーションの立ち上がり、立下りから2ns付近の点で反射が起こってスレッショルド近くまで反射があったらまずいのだろうか?

いろいろ詳しく解析すると悩んでくるが、なるべく波形を改善してもらって作ってもらえばいいのだろうか?
LVDS受信ICの件は違うが、なまじクロックをシフトできると悩んでくる。
  1. 2006年04月04日 05:52 |
  2. プリント基板の作成過程
  3. | トラックバック:0
  4. | コメント:4

コメント

Re:

下記個人的な見解を含みますが、御了承ください^^;
marseeさんが仰る通り異なるレシーブが2種以上繋がっている伝送線路の解析は厄介です。入力インピーダンスも異なりますし配線経路を単に2分岐とかスターにしたとしても波形の暴れが収まらないことがまれではありません。
私は基板設計仕込みの一解析者なので論理的な動作には疎いのでその部分をしつこい位に聞いてしまいます^^;
どれがドライブしたときにどれがレシーブするのか・・
例えばFPGAがドライブした際には、SDRAMとPowerPCがレシーブするんだけど逆にPowerPCがドライブした際はFPGAしか読まないよ、SDRAMが読まれるのはFPGAだけだよ、という情報がまず道しるべとなります。どれとどの間の波形が良くなればいいのかという認識を強く持ち、まずはPri解析で検証をします。
様々な要因が絡んできますので一概には言えませんが、経験上FPGA~SDRAM~PowerPCを一筆にするとSDRAMへ反射が起こってしまうのは予想できます。その為にPri解析を行い、まともな波形になるような諸条件を提示するまでは出来ると思います。
あとはホールドタイムや論理的に絡む箇所を波形確認してもらうってのが自分の考えるところです。

あと時間軸ですが、伝送線路解析はあくまで配線遅延やカップリング遅延、負荷遅延といった物理的要因の遅延しか読み取れません。デバイスの内部遅延や論理遅延はパラメーターとして設定しない限り認識しないのがネックですね。設計上で波形の遅延を合わせ込むのはあくまでsim上の配線遅延レベルとなります。

なんだかたらたら余計な事まで書いてしまった予感がします・・・
まずはsim担当者へはこれをこうしたいから、提案してくれって投げるのが一番いいのかもしれませんねww
  1. 2006/04/04(火) 09:53:39 |
  2. URL |
  3. kanata #-
  4. [ 編集 ]

どうもコメントありがとうございます。
実際に波形にセットアップ時間を満たしたクロックを書き込んで整理しようと思っています。予想外にデータが暴れているので予定が狂ってしまいました。
遅延も配線だけの遅延とドライバの遅延が込みのものとかがあって混乱しています。FPGAはドライブ電流も4,6,8,12,24mAと変化できるますし。。。
データ伝送はFPGAからはSDRAM,PowerPC両方、SDRAMからもFPGA,PowerPC、PowerPCからもSDRAM,FPGAと全部です。
当初は
http://www3.zero.ad.jp/marsee/FPGA/FPGA_SDRAM_PowerPC_data_transfer.pdf
このように考えていたのですが、考えが甘かったです。
  1. 2006/04/04(火) 10:31:40 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

まずはデータの波形を印刷しました。
クロック遅延を計算して受信するICのクロックの位置を確定し波形に書き込みました。
受信するICのセットアップ時間をそのクロックの前に書きました。ホールド時間も同様に書きました。
波形の乱れがその間に無いかどうかを確認しました。
そうして整理してみると、どこが悪いのかがわかるようになりました。
kanataさん、本当にアドバイスありがとうございました。何とか解決できそうです。
  1. 2006/04/04(火) 20:02:55 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

アドバイスなんて滅相もないです。解決に近づかれてよかったですね!
こういった伝送線路解析上で一番苦労させられるのが時間軸の解析でしょうね。こういったツールの目的としては信号品質の改善を掲げてるのものが多いですから。デジタル信号だったらまともな矩形波にしてなんぼ!!ってところに重点を置いているものがほとんどだと思います。

論理的なダイアグラムとの兼ね合いにいつも苦労させられます。
  1. 2006/04/07(金) 09:56:06 |
  2. URL |
  3. kanata #-
  4. [ 編集 ]

コメントの投稿


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

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