UVM

In reply to mitesh.patel:

In reply to Muthamizh:
Because, write method from monitor is called outside the forever begin. ideally when, you sampled anything from interface it should be write to analysis port.
please find the link, it is showing packet received messages from scoreboard.
Link:-
Edit code - EDA Playground

Thank you so much. It is very very helpful. Thanks a lot

In reply to mitesh.patel:

In reply to Muthamizh:
Because, write method from monitor is called outside the forever begin. ideally when, you sampled anything from interface it should be write to analysis port.
please find the link, it is showing packet received messages from scoreboard.
Link:-
Edit code - EDA Playground

The input of driver and monitor changes. Could you please help me out with that?

In reply to Muthamizh:

I am also trying to correct it. Still a help would be supportive.

In reply to Muthamizh:

Can you please elaborate more? which inputs are changes ? i didnt get your question.

In reply to mitesh.patel:

UVM_INFO uvm_sd_driver.sv(59) @ 38: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=11 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 40: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=00 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(36) @ 40: uvm_test_top.env.sb [SB] Sequence is not yet started and so stays in reset state itself

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 42: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=00 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 44: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=00 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(40) @ 44: uvm_test_top.env.sb [SB] Sequence is started and so it goes to the next state 01

UVM_INFO uvm_sd_scoreboard.sv(41) @ 44: uvm_test_top.env.sb Got expected response

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 46: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=00 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 48: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(45) @ 48: uvm_test_top.env.sb [SB] Sequence continues and it goes to next state 10

UVM_INFO uvm_sd_scoreboard.sv(46) @ 48: uvm_test_top.env.sb Got expected response

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 50: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 52: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=10 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(60) @ 52: uvm_test_top.env.sb [SB] Sequence is broken and so goes to state 01

UVM_INFO uvm_sd_scoreboard.sv(61) @ 52: uvm_test_top.env.sb Got expected response

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 54: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=10 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 56: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(50) @ 56: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(51) @ 56: uvm_test_top.env.sb Got expected response

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 58: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=01 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 60: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=01 Output=0

Packets received

In reply to Muthamizh:

In reply to mitesh.patel:
UVM_INFO uvm_sd_driver.sv(59) @ 38: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=11 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 40: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=00 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(36) @ 40: uvm_test_top.env.sb [SB] Sequence is not yet started and so stays in reset state itself

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 42: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=00 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 44: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=00 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(40) @ 44: uvm_test_top.env.sb [SB] Sequence is started and so it goes to the next state 01

UVM_INFO uvm_sd_scoreboard.sv(41) @ 44: uvm_test_top.env.sb Got expected response

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 46: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=00 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 48: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(45) @ 48: uvm_test_top.env.sb [SB] Sequence continues and it goes to next state 10

UVM_INFO uvm_sd_scoreboard.sv(46) @ 48: uvm_test_top.env.sb Got expected response

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 50: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 52: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=10 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(60) @ 52: uvm_test_top.env.sb [SB] Sequence is broken and so goes to state 01

UVM_INFO uvm_sd_scoreboard.sv(61) @ 52: uvm_test_top.env.sb Got expected response

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 54: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=10 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 56: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(50) @ 56: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(51) @ 56: uvm_test_top.env.sb Got expected response

----------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_driver.sv(59) @ 58: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=01 Output=0

UVM_INFO uvm_sd_monitor.sv(48) @ 60: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=01 Output=0

Packets received

Im getting output like this now. the driver and monitor should show the same output. But only the monitor shows the correct output. There is problem with driver clock i guess. but I am not able to identify it. Could you please help me with this?

In reply to Muthamizh:

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 94: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=00 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(44) @ 94: uvm_test_top.env.sb [SB] Sequence is started and so it goes to the next state 01

UVM_INFO uvm_sd_scoreboard.sv(45) @ 94: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 94: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=00 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 98: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(49) @ 98: uvm_test_top.env.sb [SB] Sequence continues and it goes to next state 10

UVM_INFO uvm_sd_scoreboard.sv(50) @ 98: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 98: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 102: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=10 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(64) @ 102: uvm_test_top.env.sb [SB] Sequence is broken and so goes to state 01

UVM_INFO uvm_sd_scoreboard.sv(65) @ 102: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 102: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=10 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 106: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(49) @ 106: uvm_test_top.env.sb [SB] Sequence continues and it goes to next state 10

UVM_INFO uvm_sd_scoreboard.sv(50) @ 106: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 106: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 110: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=10 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(64) @ 110: uvm_test_top.env.sb [SB] Sequence is broken and so goes to state 01

UVM_INFO uvm_sd_scoreboard.sv(65) @ 110: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 110: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=10 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 114: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(54) @ 114: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(55) @ 114: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 114: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 118: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(54) @ 118: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(55) @ 118: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 118: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 122: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(54) @ 122: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(55) @ 122: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 122: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 126: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(54) @ 126: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(55) @ 126: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 126: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

In reply to Muthamizh:

In reply to Muthamizh:

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 94: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=00 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(44) @ 94: uvm_test_top.env.sb [SB] Sequence is started and so it goes to the next state 01

UVM_INFO uvm_sd_scoreboard.sv(45) @ 94: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 94: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=00 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 98: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(49) @ 98: uvm_test_top.env.sb [SB] Sequence continues and it goes to next state 10

UVM_INFO uvm_sd_scoreboard.sv(50) @ 98: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 98: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 102: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=10 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(64) @ 102: uvm_test_top.env.sb [SB] Sequence is broken and so goes to state 01

UVM_INFO uvm_sd_scoreboard.sv(65) @ 102: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 102: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=10 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 106: uvm_test_top.env.agnt.moni [MONITOR] Input=0 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(49) @ 106: uvm_test_top.env.sb [SB] Sequence continues and it goes to next state 10

UVM_INFO uvm_sd_scoreboard.sv(50) @ 106: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 106: uvm_test_top.env.agnt.dri [DRIVER] Input=0 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 110: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=10 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(64) @ 110: uvm_test_top.env.sb [SB] Sequence is broken and so goes to state 01

UVM_INFO uvm_sd_scoreboard.sv(65) @ 110: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 110: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=10 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 114: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(54) @ 114: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(55) @ 114: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 114: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 118: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(54) @ 118: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(55) @ 118: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 118: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 122: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(54) @ 122: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(55) @ 122: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 122: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

UVM_INFO uvm_sd_monitor.sv(49) @ 126: uvm_test_top.env.agnt.moni [MONITOR] Input=1 State=01 Output=0

Packets received

UVM_INFO uvm_sd_scoreboard.sv(54) @ 126: uvm_test_top.env.sb [SB] Sequence is broken and so stays in 01 state itself

UVM_INFO uvm_sd_scoreboard.sv(55) @ 126: uvm_test_top.env.sb Got expected response

UVM_INFO uvm_sd_driver.sv(58) @ 126: uvm_test_top.env.agnt.dri [DRIVER] Input=1 State=01 Output=0

------------------------------------------------------------------------------------------------------------------------

I have corrected it to this extent. But the driver is displayed after monitor and scoreboard. How to make driver to display before monitor and scoreboard?

I have now included agent configuration and environment configuration files. But it is showing errors, i dont know what those means. Could you please help me out with this?

In reply to Muthamizh:

I have now included agent configuration and environment configuration files. But it is showing errors, i dont know what those means. Could you please help me out with this?

Error: ** while parsing file included at uvm_sd_allfiles.sv(14)
** at uvm_sd_agent.sv(35): Invalid type ‘fsm_agent_config’. Please check the type of the variable ‘ag_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(14)
** while parsing macro expansion: ‘uvm_field_object’ starting at uvm_sd_agent.sv(48)
** at uvm_sd_agent.sv(48): (vlog-2730) Undefined variable: ‘ag_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(14)
** while parsing macro expansion: ‘uvm_field_object’ starting at uvm_sd_agent.sv(48)
** at uvm_sd_agent.sv(48): (vlog-2730) Undefined variable: ‘ag_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(14)
** while parsing macro expansion: ‘uvm_field_object’ starting at uvm_sd_agent.sv(48)
** at uvm_sd_agent.sv(48): (vlog-2730) Undefined variable: ‘ag_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(14)
** while parsing macro expansion: ‘uvm_field_object’ starting at uvm_sd_agent.sv(48)
** at uvm_sd_agent.sv(48): (vlog-2730) Undefined variable: ‘ag_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(14)
** at uvm_sd_agent.sv(69): (vlog-2730) Undefined variable: ‘fsm_agent_config’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(17)
** at uvm_sd_environment.sv(35): Invalid type ‘fsm_env_config’. Please check the type of the variable ‘env_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(17)
** while parsing macro expansion: ‘uvm_field_object’ starting at uvm_sd_environment.sv(47)
** at uvm_sd_environment.sv(47): (vlog-2730) Undefined variable: ‘env_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(17)
** while parsing macro expansion: ‘uvm_field_object’ starting at uvm_sd_environment.sv(47)
** at uvm_sd_environment.sv(47): (vlog-2730) Undefined variable: ‘env_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(17)
** while parsing macro expansion: ‘uvm_field_object’ starting at uvm_sd_environment.sv(47)
** at uvm_sd_environment.sv(47): (vlog-2730) Undefined variable: ‘env_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(17)
** while parsing macro expansion: ‘uvm_field_object’ starting at uvm_sd_environment.sv(47)
** at uvm_sd_environment.sv(47): (vlog-2730) Undefined variable: ‘env_cg’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(17)
** at uvm_sd_environment.sv(68): (vlog-2730) Undefined variable: ‘fsm_env_config’.
** Error: ** while parsing file included at uvm_sd_allfiles.sv(17)
** at uvm_sd_environment.sv(74): Failed to find name ‘type_id’ in specified scope
** Error: ** while parsing file included at uvm_sd_allfiles.sv(20)
** at uvm_sd_tbtop.sv(19): near “module”: syntax error, unexpected module, expecting function or task
End time: 14:30:34 on Jul 19,2018, Elapsed time: 0:00:01
Errors: 14, Warnings: 0
[muthamizhselvi.m@chennai UVM_PROJECT]$

Actually what do these errors mean? Where should i correct them actually?

In reply to Muthamizh:

It looks loke your agent and env configurations are not visible in the compiled library.
Did you really compile the configurations and are they compile in the right order?

In reply to chr_sue:

yes, i have changed the order. Now I am getting these 2 errors.

** Error: ** while parsing file included at uvm_sd_allfiles.sv(18)
** at uvm_sd_environment.sv(76): Failed to find name ‘type_id’ in specified scope
** Error: ** while parsing file included at uvm_sd_allfiles.sv(20)
** at uvm_sd_tbtop.sv(19): near “module”: syntax error, unexpected module, expecting function or task
End time: 15:43:48 on Jul 19,2018, Elapsed time: 0:00:00
Errors: 2, Warnings: 0

In reply to Muthamizh:

Because I do not know what uvm_sd_allfiles.sv and uvm_sd_tbtop.sv is I can’t answer your question.
‘Failed to find name ‘type_id’ in specified scope’ points to a problem with the macros.

In reply to chr_sue:

//============================================================================
// CONFIDENTIAL and Copyright (C) 2010 Test and Verification Solutions Ltd
//============================================================================
// Contents : File for uvm_sd_tbtop.svh
//
// Brief description : Top file which runs the whole Environment
//
// Known exceptions to rules :
//
//============================================================================
// Author :
// Created on :
// File Id : uvm_sd_tbtop.sv
//============================================================================

ifndef UVM_SD_TBTOP_SV define UVM_SD_TBTOP_SV

module tb_top();

bit clk=1;
bit rst;

//clock generation

always #2 clk = ~clk;

//reset generation

initial
begin
rst=1;
#5 rst=0;
end

//Interface instance

intf vif(clk,rst);

//DUT instance

fsm1 DUT(.clk(vif.clk),
.rst(vif.rst),
.in(vif.in),
.out(vif.out),
.state(vif.state));

//Setting configuration database

initial
begin
uvm_config_db#(virtual intf)::set(uvm_root::get(),“*”,“vif”,vif);
$dumpfile(“dump.vcd”);
$dumpvars;
end

initial
begin
run_test(“test”);
end

endmodule : tb_top

`endif

//COMPILE LIST

`include “uvm_macros.svh”
import uvm_pkg::*;

include "fsm1.sv" include “uvm_sd_interface.sv”
include "uvm_sd_seq_item.sv" include “uvm_sd_sequence.sv”
include "uvm_sd_sequencer.sv" include “uvm_sd_driver.sv”
include "uvm_sd_monitor.sv" include “uvm_sd_agent_config.sv”
include "uvm_sd_agent.sv" include “uvm_sd_scoreboard.sv”
include "uvm_sd_env_config.sv" include “uvm_sd_environment.sv”
include "uvm_sd_test.sv" include “uvm_sd_tbtop.sv”

these are those files

In reply to Muthamizh:

But I do not see the file ‘uvm_sd_allfiles.sv’ which is reported by the compiler.

In reply to chr_sue:

that is the compile list file name. i have sent that too, saying //COMPILE LIST

In reply to Muthamizh:

Could you please put your code in an EDAplaygound example.

In reply to Muthamizh:

This is the eda link. Now i have got the output. But i dunno whether it is correct i.e is it compatible with the waveform??

In reply to Muthamizh:

You had a few weaknesses in your testbench. The most important is a $sformatf you do not need (appears twice)
use this uvm_info instead of yours using the $sformatf which was not correct

`uvm_info("VIF", {"virtual interface handle has been set for:",get_full_name(),".vif"},UVM_LOW)

Good simulators are reporting this weakness, but suppressing the error.

After a macro there is never a ‘;’
And finally using

`uvm_create

and

`uvm_send

is not really useful. Use instead the

`uvm_do

macro or work with

start_item/finish_item

.

It is now working.
See (3) - EDA Playground

In reply to chr_sue:

Thank you so much for your help. It was very useful. Now i need to create a testcase with 1001 overlapping patterned input. But am not sure, how to give that. if i should give constraints, how to constraint it or is there any other i could give patterned inputs? Could you please help me out on this?