Skip to content
Snippets Groups Projects
Commit 7572df1d authored by Pieter Donker's avatar Pieter Donker
Browse files

Task #893: backup

parent 9a1b61ba
Branches
No related tags found
No related merge requests found
......@@ -287,7 +287,8 @@ class Peripheral(BaseObject):
if isinstance(result, float):
result = int(result)
except NameError:
result = _val
q
q result = _val
logger.debug(" _eval(%s) returns eval(%s) = %s", str(val), _val, str(result))
return result
......@@ -324,6 +325,7 @@ class Peripheral(BaseObject):
# 'address_offset', 'reset_value', 'software_value', 'radix', 'field_description']
for field in fields.values():
logger.debug("eval field %s", field.name())
field.width(val=self._eval(field.width()))
field.bit_offset(val=self._eval(field.bit_offset()))
field.access_mode(val=self._eval(field.access_mode()))
......
......@@ -69,9 +69,9 @@ class RAM(BaseObject):
return
n_words = 0
for field in self.fields.values():
n_words += int(ceil(float(field.width()) / c_word_w)) * field.number_of_fields()
logger.debug("n_words=%d", n_words)
n_words = 2**ceil_log2(n_words)
n_words += ceil_pow2(int(ceil(float(field.width()) / c_word_w)) * field.number_of_fields())
#logger.debug("n_words=%d", n_words)
n_words = ceil_pow2(n_words)
self.set_kv('address_length', n_words)
def address_length(self, val=None):
......
......@@ -77,7 +77,7 @@ class Register(BaseObject):
n_words = 0
for field in self.fields.values():
n_words += ceil_pow2(int(ceil(float(field.width()) / c_word_w)) * field.number_of_fields())
logger.debug("n_words=%d", n_words)
#logger.debug("n_words=%d", n_words)
n_words = ceil_pow2(n_words) # round up to power of 2
self.set_kv('address_length', n_words)
......
......@@ -189,7 +189,7 @@ class RomSystem(object):
for rkey, rval in peripheral.registers.items():
n_addresses = rval.get_kv('address_length')
nof_inst = rval.number_of_slaves() * peripheral.number_of_peripherals() * len(rval.fields)
nof_inst = rval.number_of_slaves() * peripheral.number_of_peripherals()
if rval.user_defined_name() is not None:
_name = rval.user_defined_name()
else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment