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:-
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 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?
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?
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?
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?
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?
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
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.
//============================================================================
// 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
//============================================================================
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”
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