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/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.elfXXXの部分が各CPUモデル(QRM/MIPS32/OR1K)に対応したプログラムになります。
シミュレーションの実行は、
# Platforms\OVPsim_zzz.Windows.exe Applications\yyy_XXX.elfです。zzz部分は各シミュレーション環境に、yyy部分はプログラム名、XXXはCPUモデルになります。
Examples/Demoディレクトリにて、makeコマンドを実行すると、シミュレーションの結果は、 Examples/Demo/Applicationsディレクトリに対応したログファイルとして残りますので、このファイルをチェックすればいいです。
それでは、みなさん、やってみましょう!