peakrdl-python 3.1.0rc2__tar.gz → 3.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/PKG-INFO +1 -1
  2. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/__about__.py +1 -1
  3. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/base.py +16 -1
  4. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/sections.py +0 -4
  5. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python.egg-info/PKG-INFO +1 -1
  6. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/udp_with_referencing.rdl +17 -2
  7. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/.github/workflows/action.yaml +0 -0
  8. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/.gitignore +0 -0
  9. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/.readthedocs.yaml +0 -0
  10. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/LICENSE +0 -0
  11. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/MANIFEST.in +0 -0
  12. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/README.md +0 -0
  13. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/api.rst +0 -0
  14. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/api_components.rst +0 -0
  15. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/command_line.rst +0 -0
  16. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/conf.py +0 -0
  17. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/customisation.rst +0 -0
  18. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/design_decisions.rst +0 -0
  19. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/design_tools.rst +0 -0
  20. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/generated_package.rst +0 -0
  21. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/genindex.rst +0 -0
  22. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/index.rst +0 -0
  23. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/installation.rst +0 -0
  24. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/docs/requirements.txt +0 -0
  25. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/array_access/array_access.rdl +0 -0
  26. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/array_access/demo_array_access.py +0 -0
  27. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/enumerated_fields/demo_enumerated_fields.py +0 -0
  28. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/enumerated_fields/enumerated_fields.rdl +0 -0
  29. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/optimised_access/demo_optimised_access.py +0 -0
  30. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/optimised_access/demo_optimised_array_access.py +0 -0
  31. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/optimised_access/optimised_access.rdl +0 -0
  32. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/optimised_access/optimised_array_access.rdl +0 -0
  33. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/overridden_names/demo_over_ridden_names.py +0 -0
  34. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/overridden_names/overridden_names.rdl +0 -0
  35. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/simulating_callbacks/chip_with_a_GPIO.rdl +0 -0
  36. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/simulating_callbacks/flashing_the_LED.py +0 -0
  37. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/tranversing_address_map/chip_with_registers.rdl +0 -0
  38. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/tranversing_address_map/dumping_register_state_to_json_file.py +0 -0
  39. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/tranversing_address_map/reg_dump.json +0 -0
  40. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/tranversing_address_map/reseting_registers.py +0 -0
  41. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/tranversing_address_map/writing_register_state_from_json_file.py +0 -0
  42. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/user_defined_properties/demo_user_defined_properties.py +0 -0
  43. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/user_defined_properties/user_defined_properties.rdl +0 -0
  44. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/why_ral/__init__.py +0 -0
  45. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/why_ral/gpio.rdl +0 -0
  46. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/why_ral/with_hal.py +0 -0
  47. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/why_ral/with_ral.py +0 -0
  48. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/example/why_ral/without_ral.py +0 -0
  49. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/generate_and_test.py +0 -0
  50. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/generate_testcases.py +0 -0
  51. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/pyproject.toml +0 -0
  52. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/setup.cfg +0 -0
  53. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/.coveragerc +0 -0
  54. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/__init__.py +0 -0
  55. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/__peakrdl__.py +0 -0
  56. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/_deploy_package.py +0 -0
  57. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/_node_walkers.py +0 -0
  58. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/class_names.py +0 -0
  59. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/compiler_udp.py +0 -0
  60. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/exporter.py +0 -0
  61. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/__init__.py +0 -0
  62. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/async_memory.py +0 -0
  63. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/async_register_and_field.py +0 -0
  64. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/base_field.py +0 -0
  65. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/base_register.py +0 -0
  66. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/callbacks.py +0 -0
  67. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/field_encoding.py +0 -0
  68. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/memory.py +0 -0
  69. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/py.typed +0 -0
  70. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/register_and_field.py +0 -0
  71. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib/utility_functions.py +0 -0
  72. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/__init__.py +0 -0
  73. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/_async_base_test_class.py +0 -0
  74. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/_base_test_class.py +0 -0
  75. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/_common_base_test_class.py +0 -0
  76. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/async_field_test_class.py +0 -0
  77. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/async_mem_test_class.py +0 -0
  78. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/async_reg_test_class.py +0 -0
  79. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/async_test_class.py +0 -0
  80. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/field_test_class.py +0 -0
  81. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/mem_test_class.py +0 -0
  82. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/reg_test_class.py +0 -0
  83. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/test_class.py +0 -0
  84. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/lib_test/utilities.py +0 -0
  85. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/py.typed +0 -0
  86. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/safe_name_utility.py +0 -0
  87. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/__init__.py +0 -0
  88. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/_callbacks.py +0 -0
  89. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/base.py +0 -0
  90. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/dummy_callbacks.py +0 -0
  91. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/field.py +0 -0
  92. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/memory.py +0 -0
  93. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/py.typed +0 -0
  94. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/register.py +0 -0
  95. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/sim_lib/simulator.py +0 -0
  96. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/systemrdl_node_hashes.py +0 -0
  97. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/systemrdl_node_utility_functions.py +0 -0
  98. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/__init__.py +0 -0
  99. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap.py.jinja +0 -0
  100. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_field.py.jinja +0 -0
  101. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_memory.py.jinja +0 -0
  102. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_register.py.jinja +0 -0
  103. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_simulation.py.jinja +0 -0
  104. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_simulation_tb.py.jinja +0 -0
  105. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_system_rdl_name_mapping.py.jinja +0 -0
  106. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_tb.py.jinja +0 -0
  107. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_udp_property.py.jinja +0 -0
  108. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/addrmap_universal_property.py.jinja +0 -0
  109. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/baseclass_simulation_tb.py.jinja +0 -0
  110. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/baseclass_tb.py.jinja +0 -0
  111. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/child_definitions.py.jinja +0 -0
  112. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/example.py.jinja +0 -0
  113. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/field_enums.py.jinja +0 -0
  114. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/header.py.jinja +0 -0
  115. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/header_tb.py.jinja +0 -0
  116. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/property_enums.py.jinja +0 -0
  117. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/reg_definitions.py.jinja +0 -0
  118. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/templates/template_ultilities.py.jinja +0 -0
  119. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python/unique_component_iterator.py +0 -0
  120. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python.egg-info/SOURCES.txt +0 -0
  121. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python.egg-info/dependency_links.txt +0 -0
  122. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python.egg-info/entry_points.txt +0 -0
  123. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python.egg-info/requires.txt +0 -0
  124. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/src/peakrdl_python.egg-info/top_level.txt +0 -0
  125. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/alternative_templates/header.py.jinja +0 -0
  126. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/alternative_templates/header_tb.py.jinja +0 -0
  127. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/alternative_templates_dynamic/header.py.jinja +0 -0
  128. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/alternative_templates_dynamic/header_tb.py.jinja +0 -0
  129. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/alternative_templates_dynamic_toml/header_check.py +0 -0
  130. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/alternative_templates_dynamic_toml/peakrdl.toml +0 -0
  131. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/alternative_templates_toml/header_check.py +0 -0
  132. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/alternative_templates_toml/peakrdl.toml +0 -0
  133. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/pathological_register_maps/pathological_rdl_builder.py +0 -0
  134. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/pathological_register_maps/templates/pathological_template.rdl.jinja +0 -0
  135. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/RDLFormatCode_example.rdl +0 -0
  136. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/addr_map.rdl +0 -0
  137. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/aliases.rdl +0 -0
  138. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/all_register_access_types.rdl +0 -0
  139. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/basic.rdl +0 -0
  140. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/block_a.xml +0 -0
  141. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/block_b.xml +0 -0
  142. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/deduplicated_field.rdl +0 -0
  143. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/different_array_types.rdl +0 -0
  144. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/enum_example.rdl +0 -0
  145. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/example_issue_106.rdl +0 -0
  146. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/extended_memories.rdl +0 -0
  147. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/extended_sizes_registers_array.rdl +0 -0
  148. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/field_scope.rdl +0 -0
  149. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/field_with_overridden_reset.rdl +0 -0
  150. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/fields_with_HW_write.rdl +0 -0
  151. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/fields_with_reset_values.rdl +0 -0
  152. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/hidden_property.rdl +0 -0
  153. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/large_field_combinations.rdl +0 -0
  154. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/memories.rdl +0 -0
  155. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/memories_with_registers.rdl +0 -0
  156. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/msb0_and_lsb0.rdl +0 -0
  157. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/multi_block.rdl +0 -0
  158. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/multifile.rdl +0 -0
  159. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/name_clash.rdl +0 -0
  160. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/name_desc_all_levels.rdl +0 -0
  161. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/name_desc_option_deduplicate.rdl +0 -0
  162. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/name_desc_stress_test.rdl +0 -0
  163. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/overlapping_registers_and_fields.rdl +0 -0
  164. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/overridden_python_name.rdl +0 -0
  165. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/parametrised_readonly_and_readwrite.rdl +0 -0
  166. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/parametrised_top.rdl +0 -0
  167. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/reg_name_stress.rdl +0 -0
  168. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/regfile_and_arrays.rdl +0 -0
  169. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/reserved_elements.rdl +0 -0
  170. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/same_but_different_enum.rdl +0 -0
  171. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/signals_definitions_at_various_levels.rdl +0 -0
  172. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/simple.rdl +0 -0
  173. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/simple.xml +0 -0
  174. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/simulator_test.rdl +0 -0
  175. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/sizes_registers.rdl +0 -0
  176. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/sizes_registers_array.rdl +0 -0
  177. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/sparse_enum_issue_200.rdl +0 -0
  178. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/user_defined_properties.rdl +0 -0
  179. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/testcases/write_only_enum_with_undefined_reset.rdl +0 -0
  180. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/__init__.py +0 -0
  181. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/simple_components.py +0 -0
  182. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_array_indexing.py +0 -0
  183. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_building_inner_addrmap.py +0 -0
  184. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_export.py +0 -0
  185. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_field.py +0 -0
  186. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_name_desc_export.py +0 -0
  187. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_optimised_reg_array.py +0 -0
  188. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_reg.py +0 -0
  189. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_sim.py +0 -0
  190. {peakrdl_python-3.1.0rc2 → peakrdl_python-3.1.1}/tests/unit_tests/test_system_rdl_enum.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: peakrdl-python
3
- Version: 3.1.0rc2
3
+ Version: 3.1.1
4
4
  Summary: Generate Python Register Access Layer (RAL) from SystemRDL
5
5
  Author: Keith Brady
6
6
  License: GNU LESSER GENERAL PUBLIC LICENSE
@@ -17,4 +17,4 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
 
18
18
  Variables that describes the peakrdl-python Package
19
19
  """
20
- __version__ = "3.1.0rc2"
20
+ __version__ = "3.1.1"
@@ -26,11 +26,14 @@ from abc import ABC, abstractmethod
26
26
  from itertools import product
27
27
  from enum import IntEnum, Enum, auto
28
28
  import math
29
+ import re
29
30
 
30
31
  from .callbacks import CallbackSet, CallbackSetLegacy
31
32
 
32
33
  UDPStruct = dict[str, 'UDPType']
33
- UDPType = Union[str, int, bool, IntEnum, UDPStruct]
34
+ UDPType = Union[str, int, bool, IntEnum, UDPStruct, list['UDPType']]
35
+
36
+ array_instance_re = re.compile(r'(?P<root_name>[A-Za-z_0-9]*)\[(?P<index>\d+)\]')
34
37
 
35
38
  class Base(ABC):
36
39
  """
@@ -229,6 +232,18 @@ class Node(Base ,ABC):
229
232
  """
230
233
  if not isinstance(name, str):
231
234
  raise TypeError(f'name must be a string got {type(name)}')
235
+
236
+ # check if an array style child pointer
237
+ array_name_match = array_instance_re.match(name)
238
+ if array_name_match:
239
+ root_name = array_name_match.group("root_name")
240
+ index = int(array_name_match.group("index"))
241
+ child_array = getattr(self, self.systemrdl_python_child_name_map[root_name])
242
+ if not isinstance(child_array, NodeArray):
243
+ raise ValueError('attempting to use array indexing into a non-array '
244
+ f'node: {root_name} of type:{type(child_array)}')
245
+ return child_array[index]
246
+
232
247
  return getattr(self, self.systemrdl_python_child_name_map[name])
233
248
 
234
249
  @property
@@ -25,7 +25,6 @@ from typing import Optional, Union, TYPE_CHECKING,overload, Literal
25
25
  from collections.abc import Iterator, Iterable
26
26
  from abc import ABC, abstractmethod
27
27
  import sys
28
- from enum import IntEnum
29
28
 
30
29
  from .base import Node, NodeArray, IterationClassification
31
30
 
@@ -48,9 +47,6 @@ if TYPE_CHECKING:
48
47
  from .register_and_field import ReadableRegisterArray, WriteableRegisterArray
49
48
  from .async_register_and_field import ReadableAsyncRegisterArray, WriteableAsyncRegisterArray
50
49
 
51
- UDPStruct = dict[str, 'UDPType']
52
- UDPType = Union[str, int, bool, IntEnum, UDPStruct]
53
-
54
50
  class BaseSection(Node, Iterable[Union[Node, NodeArray]], ABC):
55
51
  """
56
52
  base class of non-async and sync sections (AddressMaps and RegFile)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: peakrdl-python
3
- Version: 3.1.0rc2
3
+ Version: 3.1.1
4
4
  Summary: Generate Python Register Access Layer (RAL) from SystemRDL
5
5
  Author: Keith Brady
6
6
  License: GNU LESSER GENERAL PUBLIC LICENSE
@@ -49,6 +49,11 @@ property regfile_child_pointer {
49
49
  component = regfile;
50
50
  };
51
51
 
52
+ property mem_child_pointer {
53
+ type = reg[];
54
+ component = mem;
55
+ };
56
+
52
57
  addrmap udp_with_referencing {
53
58
 
54
59
  reg reg_def {
@@ -74,6 +79,7 @@ addrmap udp_with_referencing {
74
79
  memwidth = 32;
75
80
 
76
81
  reg_def reg_value;
82
+ mem_child_pointer = '{ reg_value } ;
77
83
  };
78
84
 
79
85
  addrmap addrmap_def {
@@ -83,10 +89,10 @@ addrmap udp_with_referencing {
83
89
  addrmap_child_pointer = addrmap_child'{ reg_children:'{ reg_value }, regfile_children:'{ regfile_value } };
84
90
  };
85
91
  reg_def reg_value;
86
- regfile_def regfile_value;
92
+ regfile_def addrmap_regfile_value;
87
93
  external mem_def mem_value;
88
94
  inner_addrmap_def addrmap_value;
89
- addrmap_child_pointer = addrmap_child'{ reg_children:'{ reg_value }, regfile_children:'{ regfile_value }, addrmap_children:'{ addrmap_value }, mem_children:'{ mem_value } };
95
+ addrmap_child_pointer = addrmap_child'{ reg_children:'{ reg_value }, regfile_children:'{ addrmap_regfile_value }, addrmap_children:'{ addrmap_value }, mem_children:'{ mem_value } };
90
96
  };
91
97
 
92
98
  addrmap_def main;
@@ -96,4 +102,13 @@ addrmap udp_with_referencing {
96
102
  view.reg_value.field_a->field_parent_pointer = main.reg_value;
97
103
 
98
104
  view.reg_value->register_pointer = main.reg_value;
105
+
106
+ reg basic_reg_def {
107
+ // a register def without any UDPs
108
+ field { fieldwidth=4; } field_a;
109
+ };
110
+
111
+ basic_reg_def basic_reg_array[3];
112
+ main.addrmap_value.reg_value -> register_pointer = basic_reg_array[0];
113
+ main.addrmap_value.regfile_value.reg_value -> register_pointer = basic_reg_array[1];
99
114
  };