HDLによるFPGA設計

[] [] []


1. 理合成向けのVerilogHDLの書き方

n  合成系と検証系

n  デジタル回路の基本形

n  組合せ回路のRTL記述

n  FlipFlopのRTL記述

n  Verilogの論理式の書き方

n  ムーアマシンのRTL記述

n  記述例 - シリアル受信回路

n  構造記述による階層化

n  動作記述と構造記述

n  足 - VerilogとVHDL

n  補足 - シミュレーション言語としてのVerilog

 

2. VerilogHDLコーディングのTips

n  記述スタイル

n  エッジ検出の書き方

n  内部信号は正論理にする

n  小さいモジュールを作らない

n  中間的なwire変数はなるべく作らない

n  defineでなくparameterを使う

n  parameterを乱用しない

n  シミュレーション用コードをRTL記述に埋め込まない

n  ビット演算・関係演算はビット幅をそろえる、算術演算はそろえなくていい

n  if( )の条件式は1ビットにする

n  ファイル名はモジュール名に一致させる

n  見た目を統一する - コードレイアウト

n  見た目を統一する - ネーミング

n  補足 - parameter値のビット幅の求め方

 

3. RTL記述に埋め込む合成制約

n  合成制約の書き方

n  case文の制御

n  信号の保持

n  レジスタの複製・削除

n  FSMのエンコーディング

n  補足 - directiveとattribute

 

4. FPGAアーキテクチャ向けのVerilog HDL書き方

n  FPGAの専用ハードウェア

n  IOブロックへのレジスタパッキング

n  DDRレジスタのインスタンシエート

n  差動IOバッファのインスタンシエート

n  RAMのRTL記述

n  ROMのRTL記述

n  乗算器のRTL記述

n  LUT-RAMを使ったシフトレジスタのRTL記述

n  不使用IOピンの処置

n  FFのリセット

n  グローバルバッファのインスタンシエート

n  補足 - 符号付き変数

 

5. テストベンチの書き方

n  VerilogHDLが実行される順序

n  テストベンチの基本形

n  時間単位の指定

n  入力はクロックに同期させる

n  入力にタスクを使う

n  fork-joinブロック

n  補足 - z,xを含めた比較演算子とcase

 

6. タイミング制約の書き方

n  SDCフォーマット

n  タイミング解析の基本概念

n  ネットリストのオブジェクト

n  クロックの定義

n  入出力タイミング制約

 

7. 回路構造を意識したRTL記述

n  RTL記述と回路構造

n  等号と不等号

n  シフトレジスタとマルチプレクサ

n  直接形と転置形

 


[] [] []

最終更新 2019.12.07 zakii