20. モデルを作成してみる

左の項目に書かれた内容を理解できるようになると、ちょっとしたビヘイビアモデルを

作れるようになります(たぶん…)。

AMBA2.0 AHBでもつくろうかと思ったんですが、面倒になったので適当なプロトコルの

バスを定義して実現することにしました。

/// clk ~~|_____|~~~~~|_____|~~~~~|_____|~~~~~|_____|~~~~~|_____|~~~~~

/// req ________|~~~~~~~~~~~~~~~~~~~~~~~|_____________________________

/// gnt ____________________|~~~~~~~~~~~|_____________________________

/// trans ________________________________|~~~~~~~~~~~~~~~~~~~~~~~|_____

/// write ________________________________|~~~~~~~~~~~~~~~~~~~~~~~|_____

/// wdata XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_______________________XXXXXX

/// ready XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX___________|~~~~~~~~~~~XXXXXX

テストベンチの構造としては、

  • テストベンチトップ(tb_top)
  • マスタモデル(master_bfm)
  • スレーブモデル(slave_bfm)

の3つで構成されます。クロックやリセットは、テストベンチトップに記述します。