我試圖通過名字SystemVerilog中獲得UVM寄存器字段的字段正則表達式。我想使用正則表達式,以便我可以使用字段名稱的模式。這裏是我的註冊字段:在尋找使用get_field_by_name
YY_XXX_2_N
ZZ_BBB_3_N
UU_AAA_8_N
MM_CCC_4_N
YY_WWW_9_N
,你可以看到所有寄存器字段與_N結局,我用下面的代碼來獲得註冊領域:
field=env.my_regmap.get_field_by_name("_N$");
,所以我想這個代碼,來註冊字段匹配提供的模式。與上面的代碼,我收到以下錯誤:
reporter [RegModel] Unable to locate field '_N$' in block 'my_regmap'
我不知道是否有在這種情況下使用正則表達式的方法。
謝謝!
謝謝!!它的工作原理,但你必須反轉任何uvm_re_match函數返回'selected_fields = all_fields.find(item)with(!uvm_re_match(「。* _ N $」,item.get_name()));' –