1 回答
TA贡献1851条经验 获得超4个赞
如果可以在同一个类中找到这些函数,则可以先调用get_reg_check_typethen get_status_type。
def get_reg_check_type(self, addr, lock=definitions.LockTest.LOCK):
check = "CHECK_NRF" # NOTE: if items (bits) are locked, check will stay set to CHECK_NRF
for items in self.register_field_collection:
for item in items:
# Bit exists and is unlocked - return "CHECK"
if (addr == item.register_address):
if ((lock == definitions.LockTest.LOCK) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW])) or \
((lock == definitions.LockTest.A ) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU])) or \
((lock == definitions.LockTest.AB ) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU])) or \
((lock == definitions.LockTest.ABC) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU, definitions.RegWriteLock.FEBU])):
check = "CHECK"
self.checked = str(check) # set the value
def get_status_type(self):
print(self.checked) # get the value
if self.check = "CHECK_NRF"
status_value = 8'h44
else:
status_value = 8'h40
return status_value
添加回答
举报