ModelSim Aleter Edition (AE)でOVMを使ってみる
リンク先 : randomizeを使わないようにする
リンク先 : my_randomizeを使う
リンク先 : OVMトライアル
ModelSim Altera Edition (AE)の最新バージョンは、10.3dです。下記の内容は 6.5e/6.5b で確認しましたが、10.3dでも利用可能でしょう。
ModelSim Altera Edition (AE) 6.4a StarterをMINGW32/MSYS上で動作させれば、OVM(ovm-2.0.1/2.0.2/2.1で動作確認済み)を簡単に使えます。
a)、MSYSを起動し、端末を開きます。
b)、MSYSの端末上でOVMをインストールしたディレクトリに移動する。
% cd /home/sim/ovm-2.0.2/examples/trivial
c)、run_questaスクリプトを実行する。
% sh run_questa
run_questaスクリプトを実行すると次のようなワーニングが表示されます。
Model Technology ModelSim ALTERA vlog 6.4a Compiler 2008.08 Oct 22 2008
-- Compiling package ovm_pkg
** Warning: ../../src/methodology/sequences/ovm_sequence_base.svh(339): (vlog-2186) SystemVerilog testbench feature
(randomization, coverage or assertion) detected in the design.
These features are only supported in Questasim.
** Warning: ../../src/methodology/sequences/ovm_sequencer_param_base.svh(281): (vlog-2186) SystemVerilog testbench feature
(randomization, coverage or assertion) detected in the design.
These features are only supported in Questasim.
** Warning: ../../src/methodology/sequences/ovm_sequence_builtin.svh(67): (vlog-2186) SystemVerilog testbench feature
(randomization, coverage or assertion) detected in the design.
These features are only supported in Questasim.
このワーニングは、OVMの各コードでQuestasimでしかサポートしない 制約付きランダム生成、カバレッジ、アサーション のコードが含まれているからです。
ワーニングが発生しているコードを実行しなければ、特に支障はありません。
その後に、vlogコマンドでの処理が続きます。
-- Compiling package pkg
-- Importing package ovm_pkg
-- Compiling module test
-- Importing package ovm_pkg
-- Importing package pkg
Top level modules:
test
最後に vsimコマンドの処理です。
Reading C:/altera/90/modelsim_ase/tcl/vsim/pref.tcl
# 6.4a
# vsim -do vsim.do -c -suppress 3829 test
# Loading sv_std.std
# Loading work.ovm_pkg
# Loading work.pkg
# Loading work.test
# ----------------------------------------------------------------
# OVM-2.0.2
# (C) 2007-2009 Mentor Graphics Corporation
# (C) 2007-2009 Cadence Design Systems, Inc.
# ----------------------------------------------------------------
# do vsim.do
# resume
vsimコマンドでつぎのようなエラーが発生したときは、ModelSim AEではサポートしていない機能になりますのであきらめてください。
あきらめられない人は、こちらを行ってみてください。もしかしたら、エラーが無くなるかもしれません。
# ** Fatal: hierarchy.sv(107): Unable to check out verification license for randomize() feature.
また、シーケンサを使うときは、default_sequenceをデフォルトのrandomから変更しましょう!
そうしないと、次のようなエラーが発生します。
# ** Fatal: ../../src/methodology/sequences/ovm_sequencer_param_base.svh(281): Unable to check out verification license for randomize() feature.
# Time: 0 ps Iteration: 19 Process: /tb_top/ovm_root::m_do_phase/#FORK#848_7f355ac File: ../../ovm/ovm-2.0.2/src/methodology/sequences/ovm_sequencer_param_base.svh
# Fatal error in Task start_default_sequence at ../../src/methodology/sequences/ovm_sequencer_param_base.svh line 281
#
# Stopped at ../../src/methodology/sequences/ovm_sequencer_param_base.svh line 281
# Executing ONERROR command at macro ./vsim.do line 4
ともすけの趣味のツブヤキ : 家でOVM より