examples/xbusをrun -allできるようにする。

前回のrandomize() with ....はどうしようのつづき。

とりあえず ovm_sequence_defines.svhにある。
assert(OVM_SEQUENCE_ITEM.randomize() with CONSTRAINTS ) else begin \
ovm_report_warning("RNDFLD", "Randomization failed in ovm_do_with action"); \
end\
は削除することにした。→マクロ置換の所なのでコメントアウトはせず削除。
(xbusはovm_do_withとovm_doを使用しているのでここのassert(...を消す。)
まあrandomize()しなくても何らかの値は有るし、シミュレーションも何か動くだろう。。。

その他、コメントアウトする部分は
ovm_sequence_base.svh → assert(..... randomize() ....コメントアウト
ovm_sequence_builtin.svh → 同上
ovm_sequencer_param_base.svh → 同上

機能カバレッジの記述もmodelsimPEで動かないのでコメントアウトする。
xbus_bus_monitor.sv → covergroup ...と有るところをコメントアウト
更にcovergroupをインスタンスし =new()している所を
コメントアウト
xbus_master_monitor.sv →  同上
xbus_slave_monitor.sv →  同上
アサーション記述がinterface文内に有るのでコメントアウト
xbus_if.sv →
always @(negedge sig_clock)
begin
// Address must not be X or Z during Address Phase
assertAddrUnknown:assert property ( ..... 以下全てコメントアウト

../xbus/examples/run_questa内のvsimに -guiを追加し実行するとmodelsimのGUI画面が立ち上がる。
ここで run -allとすると。。。。

////////////////////////////
run -all
# OVM_INFO @ 0 [RNTST] Running test test_read_modify_write...
# OVM_INFO @ 0: ovm_test_top [test_read_modify_write] Printing the test topology :
# ----------------------------------------------------------------------
# Name Type Size Value
# ----------------------------------------------------------------------
# ovm_test_top test_read_modify_w+ - ovm_test_top@2
# xbus_demo_tb0 xbus_demo_tb - xbus_demo_tb0@4
# scoreboard0 xbus_demo_scoreboa+ - scoreboard0@8
# item_collected_ex+ ovm_analysis_imp - item_collected_export@10
# disable_scoreboard integral 1 'h0
# num_writes integral 32 'd0
# num_init_reads integral 32 'd0
# num_uninit_reads integral 32 'd0
# recording_detail ovm_verbosity 32 OVM_FULL
# xbus0 xbus_env - xbus0@6
# bus_monitor xbus_bus_monitor - bus_monitor@12
# masters[0] xbus_master_agent - masters[0]@19
# slaves[0] xbus_slave_agent - slaves[0]@21
# has_bus_monitor integral 1 'h1
# num_masters integral 32 'h1
# num_slaves integral 32 'h1
# intf_checks_enable integral 1 'h1
# intf_coverage_ena+ integral 1 'h1
# recording_detail ovm_verbosity 32 OVM_FULL
# recording_detail ovm_verbosity 32 OVM_FULL
# ----------------------------------------------------------------------
#
# ** Fatal: (SIGSEGV) Bad pointer access.
# Time: 0 ns Iteration: 19 Process: /xbus_tb_top/xbus_slave_monitor::run/#FORK#146_7b06672 File: ....../ovm-2.0/ovm-2.0/examples/xbus/examples/xbus_tb_top.sv
# Fatal error in Task collect_transactions at c:/....../ovm-2.0/ovm-2.0/examples/xbus/examples/../sv/xbus_slave_monitor.sv line 155
#
/////////////////////
何か動いた。。でもline 155でfatalか。。。
 でもWorkspace画面のInstanceでxbusの階層表示あるしステップ実行も出来るし
疲れた。。今日は終わり
 次からステップ実行してみようかな。

LSI検証 回路検証 systemverilog OVM OVM2.0 modelsim PE