ncvlog: *E,SVNOTY (../tb/tests/uart_seq_base.sv, 21|39): Syntactically this identifier appears to begin a datatype but it does not refer to a visible datatype in the current scope.
(`include file: (../tb/tests/uart_seq_base.sv line 21, file : ../tb/tests/uart_test_base.sv line 27)
`uvm_object_utils(uart_seq_base)
In SystemVerilog syntax, if a datatype begins with an identifier,
the identifier must refer to a type. Make sure that the typedef of the desired type
is visible in that scope or that there are not multiple wild card import clauses
importing typedefs of the same identifier name. The latter would make the use of
a simple type name ambiguous; in that case, in order to disambiguate which type is
desired you must provide a full type name of the form package_name::type_name.