# Global Macros

Summary

Global Macros
Global object Macro definitions can be used in multiple locations |
`UVM_MAX_STREAMBITS | Defines the maximum bit vector size for integral types.
`UVM_PACKER_MAX_BYTES | Defines the maximum bytes to allocate for packing an object using the uvm_packer.
Global Time Macro definitions that can be used in multiple locations |
`UVM_DEFAULT_TIMEOUT | The default timeout for simulation, if not overridden by uvm_root::set_timeout or uvm_cmdline_processor::+UVM_TIMEOUT

### Global object Macro definitions can be used in multiple locations

### `UVM_MAX_STREAMBITS

Defines the maximum bit vector size for integral types. Used to set uvm_bitstream_t

### `UVM_PACKER_MAX_BYTES

Defines the maximum bytes to allocate for packing an object using the uvm_packer. Default is `UVM_MAX_STREAMBITS, in bytes.

### Global Time Macro definitions that can be used in multiple locations

### `UVM_DEFAULT_TIMEOUT

The default timeout for simulation, if not overridden by uvm_root::set_timeout or uvm_cmdline_processor::+UVM_TIMEOUT

The uvm_packer class provides a policy object for packing and unpacking uvm_objects.

> function void set_timeout(
> | time | timeout, |  |
> | bit | overridable | = | 1
> )

Specifies the timeout for the simulation.
+UVM_TIMEOUT=<timeout>,<overridable> allows users to change the global timeout of the UVM framework.
Defines the maximum bit vector size for integral types.