diff --git a/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral.py b/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral.py index 4409dcc785f1dd29f7eb88f9bfe23a1a5ea69f19..0cf7fcfb31707c081640e9eec58d576ee304d877 100755 --- a/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral.py +++ b/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral.py @@ -287,8 +287,9 @@ class Peripheral(BaseObject): if isinstance(result, float): result = int(result) except NameError: - result = _val - logger.debug("_eval(%s) returns eval(%s) = %s", str(val), _val, str(result)) + q + q result = _val + logger.debug(" _eval(%s) returns eval(%s) = %s", str(val), _val, str(result)) return result def add_parameter(self, name, value): @@ -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())) diff --git a/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral_lib/ram.py b/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral_lib/ram.py index a8f10b42f06436a47243f3f5cd07e7ddb1f3c504..6e18c684f7d216fc9d743954941858cd497ef958 100644 --- a/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral_lib/ram.py +++ b/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral_lib/ram.py @@ -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): diff --git a/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral_lib/register.py b/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral_lib/register.py index 5edf781bcd7ecb1da28c2ac693af70c68450a446..3dc0dbffdf50295db9918fff2b60f92489c92e69 100644 --- a/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral_lib/register.py +++ b/tools/oneclick/prestudy/YAML/py_mm_lib/peripheral_lib/register.py @@ -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) diff --git a/tools/oneclick/prestudy/YAML/py_mm_lib/rom_system.py b/tools/oneclick/prestudy/YAML/py_mm_lib/rom_system.py index 533ca92bd6706132fe5feefe0d4ba5e957a80b1d..580dea5338fd71816a2bc252ab2eb1bbcab85957 100644 --- a/tools/oneclick/prestudy/YAML/py_mm_lib/rom_system.py +++ b/tools/oneclick/prestudy/YAML/py_mm_lib/rom_system.py @@ -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: