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 より