Vengineerの妄想

人生を妄想しています。

OVP : Examples/Demo

Verification Engineerの戯言

OVPのExamples/Demoの例題では、つぎのようないろいろな構成でのシミュレーションができます。
  ・ SingleCore(コアが1個)/ARM7 版 : Platforms/OVPsim_single_arm7.c
  ・ SingleCore(コアが1個)/MIPS32版 : Platforms/OVPsim_single_mips32.c
  ・ SingleCore(コアが1個)/OR1K 版 : Platforms/OVPsim_single_or1k.c

  ・ DualCore (コアが2個)/ARM7 版 : Platforms/OVPsim_multicore2_arm7.c
  ・ DualCore (コアが2個)/MIPS32版 : Platforms/OVPsim_multicore2_mips.c
  ・ DualCore (コアが2個)/OR1K 版 : Platforms/OVPsim_multicore2_or1k.c

  ・ ManyCore(コアが24個)/ARM7 版 : Platforms/OVPsim_manycore24_arm7.c
  ・ ManyCore(コアが24個)/MIPS32版 : Platforms/OVPsim_manycore24_mips24.c
  ・ ManyCore(コアが24個)/OR1K 版 : Platforms/OVPsim_manycore24_or1k.c

  ・ Hetero(コアが4個:ARM7x1, MIPS32x3) : Platforms/OVPsim_manycore4_hetero.c

  ・ uclinux(コアが1個)/OR1K 版 : Platforms/OVPsim_uclinux_or1k.c
シミュレーションするには、事前に対応するCPUモデルおよびツールチェーンをインストール必要があります。

Examples/Platformsディレクトリは、シミュレーション環境のためのものです。
一方、Examples/Applicationsディレクトリには、CPUモデルが実行するプログラムが格納されています。

Examples/Demoディレクトリで、makeコマンドを実行すれば、シミュレーション環境およびプログラムが生成、実行されます。すべてが終わるにはそれなりの時間がかかります。

Examples/Demo/Platformsディレクトリには、次のような実行ファイルが生成されます。
  ・ SingleCore(コアが1個)/ARM7 版 : Platforms/OVPsim_single_arm7.Windows.exe
  ・ SingleCore(コアが1個)/MIPS32版 : Platforms/OVPsim_single_mips32.Windows.exe
  ・ SingleCore(コアが1個)/OR1K 版 : Platforms/OVPsim_single_or1k.Windows.exe

  ・ DualCore (コアが2個)/ARM7 版 : Platforms/OVPsim_multicore2_arm7.Windows.exe
  ・ DualCore (コアが2個)/MIPS32版 : Platforms/OVPsim_multicore2_mips.Windows.exe
  ・ DualCore (コアが2個)/OR1K 版 : Platforms/OVPsim_multicore2_or1k.Windows.exe

  ・ ManyCore(コアが24個)/ARM7 版 : Platforms/OVPsim_manycore24_arm7.Windows.exe
  ・ ManyCore(コアが24個)/MIPS32版 : Platforms/OVPsim_manycore24_mips24.Windows.exe
  ・ ManyCore(コアが24個)/OR1K 版 : Platforms/OVPsim_manycore24_or1k.Windows.exe

  ・ Hetero(コアが4個:ARM7x1, MIPS32x3) : Platforms/OVPsim_manycore4_hetero.Windows.exe

  ・ uclinux(コアが1個)/OR1K 版 : Platforms/OVPsim_uclinux_or1k.Windows.exe
一方、Examples/Demo/Applicationsディレクトリには、次のようなプログラムが生成されます。
  ・ dhrystion.XXX.elf
  ・ dhrystionMany.XXX.elf
  ・ fibonnacci.XXX.elf
  ・ hello.XXX.elf
  ・ linpack.XXX.elf
  ・ multicore2.XXX.elf
  ・ peakSpeed1.XXX.elf
  ・ reader.XXX.elf
  ・ write.XXX.elf
XXXの部分が各CPUモデル(QRM/MIPS32/OR1K)に対応したプログラムになります。

シミュレーションの実行は、
  # Platforms\OVPsim_zzz.Windows.exe Applications\yyy_XXX.elf
です。zzz部分は各シミュレーション環境に、yyy部分はプログラム名、XXXはCPUモデルになります。

Examples/Demoディレクトリにて、makeコマンドを実行すると、シミュレーションの結果は、 Examples/Demo/Applicationsディレクトリに対応したログファイルとして残りますので、このファイルをチェックすればいいです。

それでは、みなさん、やってみましょう!