We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
While running this program report function like uvm_info, uvm_error are not compiling. Compilation error are listed beneath the code.
import esdl; import uvm; import std.stdio; class TestBench: RootEntity {uvm_root_entity!(test_root) tb;} class test_root:uvm_root { mixin uvm_component_utils;} class my_catcher_info: uvm_report_catcher { override action_e do_catch() {import std.stdio; if(get_name() != get_id()) return THROW; if(get_severity() != UVM_INFO) return THROW; writeln("Info Catcher Caught a message...\n"); uvm_info("INFO CATCHER", "From my_catcher_info catch()" ,UVM_MEDIUM); return THROW;}} class my_catcher_warning: uvm_report_catcher {override action_e do_catch() { import std.stdio; if(get_name() != get_id()) return THROW; if(get_severity() != UVM_WARNING) return THROW; writeln("Warning Catcher Caught a message...\n"); uvm_warning("WARNING CATCHER","From my_catcher_warning catch()"); return THROW;}} class my_catcher_error : uvm_report_catcher { override action_e do_catch() {import std.stdio; if(get_name() != get_id()) return THROW; if(get_severity() != UVM_ERROR) return THROW; writeln("Error Catcher Caught a message...\n"); uvm_error( "ERROR CATCHER ","From my_catcher_error catch() "); return THROW; }} class my_catcher_fatal: uvm_report_catcher { override action_e do_catch() {import std.stdio; if(get_name() != get_id()) return THROW; if(get_severity() != UVM_FATAL) return THROW; writeln("Fatal Catcher Caught a Fatal message...\n"); uvm_info("FATAL CATCHER", "From my_catcher_fatal catch()", UVM_INFO ); return THROW;}} class test: uvm_test { mixin uvm_component_utils; this(string name, uvm_component parent = null) { super(name, parent);} override void run() { my_catcher_info ctchr1 = new my_catcher_info; my_catcher_warning ctchr2 = new my_catcher_warning; my_catcher_error ctchr3 = new my_catcher_error; my_catcher_fatal ctchr4 = new my_catcher_fatal; import std.stdio; writeln("UVM TEST - Same catcher type - different IDs\n"); writeln("adding a catcher of type my_catcher_info with id of Catcher1\n"); uvm_report_cb.add(null,ctchr1); writeln("adding a catcher of type my_catcher_warning with id of Catcher2\n"); uvm_report_cb.add(null,ctchr2); writeln("adding a catcher of type my_catcher_error with id of Catcher3\n"); uvm_report_cb.add(null,ctchr3); writeln("adding a catcher of type my_catcher_fatal with id of Catcher4\n"); uvm_report_cb.add(null,ctchr4); uvm_info("Catcher1", "This Info message is for Catcher1", UVM_MEDIUM); uvm_warning("Catcher2", "This Warning message is for Catcher2"); uvm_error ("Catcher3", "This Error message is for Catcher3"); //`uvm_fatal ("Catcher4", "This fatal message is for Catcher4"); uvm_info("XYZ", "This second message is for No One", UVM_MEDIUM); writeln("UVM TEST EXPECT 2 UVM_ERROR\n"); uvm_top.stop_request(); } override void report() {import std.stdio; writeln("** UVM TEST PASSED **\n");}} void main(string[] argv) { TestBench tb = new TestBench; tb.multiCore(0,0); tb.elaborate("test", argv); tb.simulate(); }
/home/vlang/local/vlang-1.0.0-alpha1/dmd2/linux/bin64/../../../vlang-uvm/src/uvm/base/uvm_message_defines.d(107): Error: undefined identifier 'uvm_report_enabled' test.d(68): Error: template instance uvm.base.uvm_report_catcher.uvm_report_catcher.uvm_report_mixin!().uvm_info!("test.d", 68) error instantiating /home/vlang/local/vlang-1.0.0-alpha1/dmd2/linux/bin64/../../../vlang-uvm/src/uvm/base/uvm_message_defines.d(124): Error: undefined identifier 'uvm_report_enabled' test.d(86): Error: template instance uvm.base.uvm_report_catcher.uvm_report_catcher.uvm_report_mixin!().uvm_warning!("test.d", 86) error instantiating /home/vlang/local/vlang-1.0.0-alpha1/dmd2/linux/bin64/../../../vlang-uvm/src/uvm/base/uvm_message_defines.d(140): Error: undefined identifier 'uvm_report_enabled' test.d(106): Error: template instance uvm.base.uvm_report_catcher.uvm_report_catcher.uvm_report_mixin!().uvm_error!("test.d", 106) error instantiating /home/vlang/local/vlang-1.0.0-alpha1/dmd2/linux/bin64/../../../vlang-uvm/src/uvm/base/uvm_message_defines.d(107): Error: undefined identifier 'uvm_report_enabled' test.d(128): Error: template instance uvm.base.uvm_report_catcher.uvm_report_catcher.uvm_report_mixin!().uvm_info!("test.d", 128) error instantiating
Thanks & regards, Ritu
The text was updated successfully, but these errors were encountered:
No branches or pull requests
While running this program report function like uvm_info, uvm_error are not compiling. Compilation error are listed beneath the code.
import esdl;
import uvm;
import std.stdio;
class TestBench: RootEntity
{uvm_root_entity!(test_root) tb;}
class test_root:uvm_root
{ mixin uvm_component_utils;}
class my_catcher_info: uvm_report_catcher
{ override action_e do_catch()
{import std.stdio;
if(get_name() != get_id()) return THROW;
if(get_severity() != UVM_INFO) return THROW;
writeln("Info Catcher Caught a message...\n");
uvm_info("INFO CATCHER", "From my_catcher_info catch()" ,UVM_MEDIUM);
return THROW;}}
class my_catcher_warning: uvm_report_catcher
{override action_e do_catch()
{ import std.stdio;
if(get_name() != get_id()) return THROW;
if(get_severity() != UVM_WARNING) return THROW;
writeln("Warning Catcher Caught a message...\n");
uvm_warning("WARNING CATCHER","From my_catcher_warning catch()");
return THROW;}}
class my_catcher_error : uvm_report_catcher
{ override action_e do_catch()
{import std.stdio;
if(get_name() != get_id()) return THROW;
if(get_severity() != UVM_ERROR) return THROW;
writeln("Error Catcher Caught a message...\n");
uvm_error( "ERROR CATCHER ","From my_catcher_error catch() ");
return THROW; }}
class my_catcher_fatal: uvm_report_catcher
{ override action_e do_catch()
{import std.stdio;
if(get_name() != get_id()) return THROW;
if(get_severity() != UVM_FATAL) return THROW;
writeln("Fatal Catcher Caught a Fatal message...\n");
uvm_info("FATAL CATCHER", "From my_catcher_fatal catch()", UVM_INFO );
return THROW;}}
class test: uvm_test
{ mixin uvm_component_utils;
this(string name, uvm_component parent = null)
{ super(name, parent);}
override void run()
{
my_catcher_info ctchr1 = new my_catcher_info;
my_catcher_warning ctchr2 = new my_catcher_warning;
my_catcher_error ctchr3 = new my_catcher_error;
my_catcher_fatal ctchr4 = new my_catcher_fatal;
import std.stdio;
writeln("UVM TEST - Same catcher type - different IDs\n");
writeln("adding a catcher of type my_catcher_info with id of Catcher1\n");
uvm_report_cb.add(null,ctchr1);
writeln("adding a catcher of type my_catcher_warning with id of Catcher2\n");
uvm_report_cb.add(null,ctchr2);
writeln("adding a catcher of type my_catcher_error with id of Catcher3\n");
uvm_report_cb.add(null,ctchr3);
writeln("adding a catcher of type my_catcher_fatal with id of Catcher4\n");
uvm_report_cb.add(null,ctchr4);
uvm_info("Catcher1", "This Info message is for Catcher1", UVM_MEDIUM);
uvm_warning("Catcher2", "This Warning message is for Catcher2");
uvm_error ("Catcher3", "This Error message is for Catcher3");
//`uvm_fatal ("Catcher4", "This fatal message is for Catcher4");
uvm_info("XYZ", "This second message is for No One", UVM_MEDIUM);
writeln("UVM TEST EXPECT 2 UVM_ERROR\n");
uvm_top.stop_request(); }
override void report()
{import std.stdio;
writeln("** UVM TEST PASSED **\n");}}
void main(string[] argv)
{ TestBench tb = new TestBench;
tb.multiCore(0,0);
tb.elaborate("test", argv);
tb.simulate();
}
/home/vlang/local/vlang-1.0.0-alpha1/dmd2/linux/bin64/../../../vlang-uvm/src/uvm/base/uvm_message_defines.d(107): Error: undefined identifier 'uvm_report_enabled'
test.d(68): Error: template instance uvm.base.uvm_report_catcher.uvm_report_catcher.uvm_report_mixin!().uvm_info!("test.d", 68) error instantiating
/home/vlang/local/vlang-1.0.0-alpha1/dmd2/linux/bin64/../../../vlang-uvm/src/uvm/base/uvm_message_defines.d(124): Error: undefined identifier 'uvm_report_enabled'
test.d(86): Error: template instance uvm.base.uvm_report_catcher.uvm_report_catcher.uvm_report_mixin!().uvm_warning!("test.d", 86) error instantiating
/home/vlang/local/vlang-1.0.0-alpha1/dmd2/linux/bin64/../../../vlang-uvm/src/uvm/base/uvm_message_defines.d(140): Error: undefined identifier 'uvm_report_enabled'
test.d(106): Error: template instance uvm.base.uvm_report_catcher.uvm_report_catcher.uvm_report_mixin!().uvm_error!("test.d", 106) error instantiating
/home/vlang/local/vlang-1.0.0-alpha1/dmd2/linux/bin64/../../../vlang-uvm/src/uvm/base/uvm_message_defines.d(107): Error: undefined identifier 'uvm_report_enabled'
test.d(128): Error: template instance uvm.base.uvm_report_catcher.uvm_report_catcher.uvm_report_mixin!().uvm_info!("test.d", 128) error instantiating
Thanks & regards,
Ritu
The text was updated successfully, but these errors were encountered: