SIGSEGV

hii…
i have configuration class .
need to access those variables throughout environment for that im setting the handle in test
like this uvm_config_db #(int)::set(this,“*”,“cfg”,cfg);
getting in lower level components
for this im created object and accessing the variables but im getting below error
please let me know the meaning of this error
Stack pointer: 0x7f32f3e81bb0
Local variable address: 0x7f32f3e81fcf

KERNEL: Fatal Error: System exception occurred: SIGSEGV. Cannot continue

here im sharing my link
check the bast test, environment,uvm_monitor,

In reply to meenakshi bommu:

The uvm_config_db calls need to be typed appropriately. You are using ‘int’ when you should be using the appropriate data type that matches the object:

Also, you should always check the return code of a get() to ensure that it worked correctly.


if (!uvm_config_db#(uart_config)::get(this,"","cfg",cfg)) `uvm_fatal(get_name(), "No configuration provided");

In reply to cgales:

thank you so much…
issue got resolved

have one more doubt
1.my config cls is a object entity so i am creating object by using new method or we need to create by using create method
2. similarly sequence also since its object but y we are creating the object by using create method
3. setting in test if i am trying to get in transaction class that’s not accepting y
can u plz give me the brief explanation im little bit confusion plz…

In reply to meenakshi bommu:

hi…
im setting the cfg handle in test here i am creating the object and is it necessary to create object again when we are getting the handle in lower level

In reply to meenakshi bommu:

You should always use create() for objects/components registered with the factory. This allows you to use overrides as needed.

The 3rd question is confusing.

If you are getting an object handle from the uvm_config_db(), you don’t need to create it.

In reply to cgales:

Tq so much
3. Qus is
I’m setting the config db and trying to get in transaction class it means sequence item class
In transaction class I’m declaring the all the variables
Plz check my link in that refer uart_sequence_item

In reply to meenakshi bommu:

You already have all of the configuration information in the configuration object. Don’t duplicate the information in the sequence_item. The sequence_item should only contain the information relative to the transaction (rx_data, tx_data).

In reply to cgales:

K tq so much will change.