trpp
December 22, 2008, 7:03am
1
Hi All,
I have some problem registering the enum type variable.
I have enum type
enum {READ,WRITE} rd_e
when I am registering this fields by
ovm_field_enum{rd_e,OVM_ALL_ON}
It shows that type is not defined.
so here also I have to use typedef ?
without using typedef I can’t register in to factory ?
Thanks,
Trpp
phuynh
December 22, 2008, 4:48pm
2
Hi trpp,
Yes, you do need to use typedef.
The `ovm_field_enum macro requires three parameters: the enum type, the field (i.e., class property), and the flag. Here is an example of how to use this macro:
typedef enum bit {READ, WRITE} rd_e;
class my_txn extends ovm_sequence_item;
rand rd_e hwr_rd;
...
`ovm_object_utils_begin(my_txn)
`ovm_field_enum(rd_e, hwr_rd, OVM_ALL_ON)
...
`ovm_object_utils_end
...
endclass