Я запускаю последовательность, в которой мне нужно временно записать в определенное поле в регистре, и через некоторое время я хочу сбросить его до значения сброса. Я не хочу сбрасывать весь регистр с помощью функции reset()
, я хочу только сбросить поле. Я не смог найти простой способ получить доступ к значению сброса самого поля, хотя оно определено для каждого поля в макросе reg_fld
.
Получить значение сброса поля в vr_ad (specman) или просто сбросить поле
Ответы (1)
Вы можете получить доступ к vr_ad_reg::static_info::fields_info
через vr_ad_reg::get_fields_info()
(при условии, что static_info существует). Это список с элементом для каждого поля, который содержит информацию о поле. Посмотрите в браузере данных, это должно вам помочь.
person
Thorsten
schedule
21.06.2018
vr_ad_reg::static_info::fields_info
действительно содержит некоторую информацию, но значения сброса по какой-то причине там нет..
- person Shay Golan; 24.06.2018
Есть что-то, что называется
vr_ad_reg::static_info::fld_reset_val_list
, но оно пустое.
- person Shay Golan; 24.06.2018
Да, извините, у меня не было под рукой рабочей установки Specman. Но информация о поле дает вам размер
fld_size
и позицию LSB fld_fidx
поля. Используя это, вы можете извлечь значение сброса из значения сброса регистра, которое равно vr_ad_reg_static_info::reset_value
.
- person Thorsten; 25.06.2018