20. モデルを作成してみる
左の項目に書かれた内容を理解できるようになると、ちょっとしたビヘイビアモデルを
作れるようになります(たぶん…)。
AMBA2.0 AHBでもつくろうかと思ったんですが、面倒になったので適当なプロトコルの
バスを定義して実現することにしました。
/// clk ~~|_____|~~~~~|_____|~~~~~|_____|~~~~~|_____|~~~~~|_____|~~~~~
/// req ________|~~~~~~~~~~~~~~~~~~~~~~~|_____________________________
/// gnt ____________________|~~~~~~~~~~~|_____________________________
/// trans ________________________________|~~~~~~~~~~~~~~~~~~~~~~~|_____
/// write ________________________________|~~~~~~~~~~~~~~~~~~~~~~~|_____
/// wdata XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_______________________XXXXXX
/// ready XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX___________|~~~~~~~~~~~XXXXXX
テストベンチの構造としては、
- テストベンチトップ(tb_top)
- マスタモデル(master_bfm)
- スレーブモデル(slave_bfm)
の3つで構成されます。クロックやリセットは、テストベンチトップに記述します。