我正在尝试在SystemVerilog
中设置uvm注册字段。这是我的注册字段:
TXA
TXA1
RSVD
T4AMP
我有兴趣将所有这些设置为以TXA开头的寄存器字段。我已使用以下代码使用正则表达式
uvm_reg_field my_fields;
register1.get_fields(all_fields);
my_fields = all_fields.find(register1)
with(!uvm_re_match("TXA*",register1.get_name()));
//I have a loop to loop through the interested fields
my_fields[i].set('1);
但是,我看到了错误:
指定值(
0xffffffffffffffff
)大于字段“ TXA”的大小 (1位)
有人可以帮我吗。 在此先感谢:)
答案 0 :(得分:0)
仅从错误消息来看,您似乎试图将值0xffffffffffffffff
分配给TXA
,该值只能容纳一位。因此,您为TXA分配了错误的值,或者TXA具有错误的类型。
顺便说一下,0xffffffffffffffff
看起来像-1
的无符号表示。您是否要在某处将-1
分配给TXA?
如果没有,请告知错误发生在哪一行,并向我们展示代码的更多部分。