ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

100 Power Tips for FPGA Designers

100 Power Tips for FPGA Designers
Xilinx限定ですが、FPGA Hacksとも呼べるような本を見つけました。Kindle版なら$9.99なので、XilinxFPGAを使いこなしたい人は今すぐ買いましょう。Hacks本と同じで、100個のネタ全てが驚く事を書いてあるわけではありませんが、細かいツールの話やFPGAプロトの話は他の書籍ではなかなか読むことができません。

内容

ネタの抜粋ですので、他にもいろいろ載っています。目次は公開されているので、気になる方は目次をチェックしてください。

Introduction
  • FPGA開発で使う用語の説明など。
Efficient use of Xilinx FPGA Design Tools
  • シミュレータ、合成ツール、検証用ツール、Lintの紹介。商用のツール中心です。
  • Xilinxの開発フローの説明、各コマンドが何をしているかの説明があります。最近のXilinxの開発環境に組み込まれたPerl(xilperl)の話
  • Xilinxの開発環境が使う環境変数の説明。例えば環境変数 XIL_MAP_NODRC を1にすると、mapを実行しているときにDRCのエラーを無効にできるとか、知ってました?
  • ISEのバージョン情報の説明 Application Version M.81d Mがメジャーバージョン 81以下がマイナーバージョン。
  • マイナーなツールの紹介。fpga_edline, reportgen, obngc 等。
  • 各ツールが出すレポートの説明。.srp, .syrはXSTが出すレポート、.bldはngbuildが出すレポートなど。
Using Verilog HDL
Design Synthesis, and Physical Implementation

この章は、FPGAに特化した話が多くて面白いです。

  • クロックについて DCMや配線リソース、クロックドメイン、メタステ、クロックの載せ替え
  • FIFOについて 使い方、サイズの計算方法、Variable pace length model
  • カウンターについて
  • 算術演算回路
  • ステートマシーン RAMベースの実装
  • リセット 同期リセット、非同期リセットの比較、ノーリセットという選択、ハイブリットリセット、外部リセットを使わない方法
  • パイプラインのデザイン
  • bitstream ファイルのフォーマット!
  • Reconfig
FPGA selection
  • FPGAの大きさの見積もり方法、ASICゲートとのラフな換算
  • 速度の見積もり
  • 電力の見積もり
  • GPGPU vs FPGA
Migratiing from ASIC to FPGA
  • 容量、速度の見積もり、プロトボードの選択
  • FPGAとASICの違い
  • IntelFPGAプロトの紹介
  • プロト環境を買うか作るか
  • FPGA分割
  • Clock、Reset、ゲーテッドクロックの変換、ラッチの変換、合成できない回路の変換
  • 商用分割ツールの紹介
  • メモリのモデリング
  • 検証方法、等価検証、合成可能なアサーション
Desgin Simulation and Verification
  • カバレッジ、ランダム検証
  • シミュレーションと合成結果のミスマッチ
  • シミュレータの選択
  • シミュレーションパフォーマンスの測定
IP Cores and Functional Blocks
  • FPGAベースのプロセッサ、イーサネットコア
  • ネットワークアプリケーションのデザイン
  • IPコアの選択
  • IP Core プロテクション
  • Security Core, AES, DES, SHA, MD5, RSA
  • メモリコントローラ
  • USB Core
  • PCI Express Core
Design Optimizations
  • build時間の改善
  • toolによる最適化
  • areaの最適化
  • 電力の最適化
FPGA Design Bring-up and Debug
Floorplannning and Timing closure
  • Timing 制約
Thir party productivity tools
  • Build Management and Continuous Integration