FC2カウンター FPGAの部屋 Virtex-6 ファミリ デザイン セミナに行ってきた
FC2ブログ

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

FPGAの部屋

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

Virtex-6 ファミリ デザイン セミナに行ってきた

5月13日、14日に、Xilinxの大崎でVirtex-6 ファミリ デザイン セミナを受けてきました。
いろいろな知識を得てきました。特に演習が良かったです。簡単な回路を穴埋めで作って、FPGA Editorどのようにマップされるか見てみるといった内容でした。HDLのコーディングスタイルも説明がありました。疑問に思うこともあったのですが。。。さて、印象に残ったことを列挙すると。

1. まずはVirtex-6は3.5V IO電圧に対応していない。2.5Vまで。これは知っていたはずなんだけど忘れてしまった。

2. XSTのテクノロジ・ビューのやり方を演習で教えてもらった。Virtex-6の6入力LUTにロジックがマップされていることをこれで見た。インスタンスをピンポイントで検索して表示することができた。そこから入力や出力を順次表示していくと見やすい。

3. FPGA Editorの新しい使い方も覚えた。ネットやコンポーネントをいろいろな色でハイライトすることができた。ハイライトしておくと見やすくなる。

4. DSPスライスもいろいろ機能をバラして使えることがわかった。

5. Virtex-6のクロッキングリソースはBUFG、BUFR、BUFIOの3種類ある。Spartan-6はBUFG、BUFIOの2種類。

6. Virtex-6のBUFRは分周できる。これは必ずしもデューティサイクルが50%ではなく、奇数の分周だとデューティサイクルが50%にならない。

7. Virtex-6はDCMが無くなっている。PLLのみ。MMCMというそうだ。

8. MMCMはCORE Gneratorでインスタンスすると、必要な周波数から倍率を求められて便利。倍率も7.5倍とかが選べるみたいだ。CORE Gneratorでインスタンスする方が良さそうだ。

9. HDLコーディング手法で、なるべくCE, RESETなどの制御ポートを合わせておくとスライスにまとまって、スライスが節約できる。

10. リセットは同期リセットを推奨していた。これは、そうだと思ったが、あまりリセットをしない方が、リセットの配線を有効につかえるという話もあった。これは、ワンホットのFSMのリセットなどをどうするんだろうか?リセットが無いとシミュレーションの時に困るし。。。

11. 最後の演習では、リセットの配線をFPGA Editorで遅延を観察してから、BUFGをインスタンスして、そこにリセットを配線した。こうすると当然、遅延は半分程度に減少した。しかし、こうすると同期リセットだとしても、論理のマージなどが行えずに不利な面もあると思った。非同期リセットの場合で、BUFGリソースが余っている場合には良いかもしれない?

12. Spartan-6のIODELAYは変わった形式だったが、Virtex-6は素直に遅延素子を並べてあるそうだ。

13. 演習でISERDESとOSERDESのサンプルデザインをできたのが良かった。なかなか情報がないので貴重だと思う。それでもVirtex-4の時よりは情報は多いと思うのだが。。。

ともかく、いろいろな収穫があってよかったと思いました。Spartan-6ファミリ デザインも行こうと思います。
今回は無料だったけど、有料のPlanAheadのセミナにも行ってみたいと思います。特に、FloorplannerでやっていたP&R後のクリティカルパスのバックアノテーションの方法を知りたいと思っています。
  1. 2010年05月15日 06:24 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:2

コメント

お疲れ様でした

こんにちは、セミナーお疲れ様でした。
私も今回の無料セミナーに参加させていただいていただきましたが、時間を掛けて丁寧に教えていただくスタイルは懐かしく、とても新鮮でした。疑問点など質問もできますし、普段、資料を見て一人で勉強するより効率がいいかもしれませんね。

昨年、Virtex5の設計したので、いろいろと勉強したこともあったのですが、最近は時間が経ってしまうと忘れてしまうので復習にもなって良かったです。

講習会の最後に勉強したHDLコーディング手法でリセットですが、以前、FPGAよりの部屋でも話題になりましたが、リセットは一癖も二癖もありますね^^;

一応、私もロジック設計にリセットを極力つかわない方針は賛成ですが、シミュレーションがとても面倒なことになるのでそこがクリアできればと思っています。
昔、リセットのロジック部分は実機用コードとシミュレーション用コードを分ける方法をVHDLのgenerate文を使って切り替える方法をやっていましたが、箇所が多くなると管理も大変なのでやめてしまいました。
とは言っても、リソースやfmaxをを気にしない設計ではFF全部にリセットを入れてしまいますね^^;
  1. 2010/05/15(土) 14:24:51 |
  2. URL |
  3. hypermac #bWCE5pAU
  4. [ 編集 ]

hypermacさん、お疲れ様でした。お世話になりました。
セミナに行くといろいろな発見があります。

リセットは、無いとシミュレーションの時に困ります。もし、リセットをなくするのであれば、コンフィギュレーションを代わりとすることも出来そうですね。
VerilogだとFSMのステートは自分で値をアサインしてあるので、オール0の時に、アイドルに行くと書いておけば、アイドルに行く時に1クロック増えますが、問題ないのでは?と思います。
VHDLの場合には、ステートに明示的に値を与えないと問題があるかもしれませんが、値を与えれば、Verilogと同様で良いと思います。
  1. 2010/05/15(土) 17:21:43 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

コメントの投稿


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

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