peakrdl-python 1.2.1rc3__tar.gz → 1.2.1rc4__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 (160) hide show
  1. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/PKG-INFO +1 -1
  2. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/__about__.py +1 -1
  3. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_tb.py.jinja +12 -9
  4. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python.egg-info/PKG-INFO +1 -1
  5. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python.egg-info/SOURCES.txt +1 -0
  6. peakrdl_python-1.2.1rc4/tests/testcases/sparse_enum_issue_200.rdl +51 -0
  7. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/.github/workflows/action.yaml +0 -0
  8. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/.gitignore +0 -0
  9. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/.readthedocs.yaml +0 -0
  10. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/LICENSE +0 -0
  11. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/MANIFEST.in +0 -0
  12. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/README.md +0 -0
  13. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/api.rst +0 -0
  14. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/api_components.rst +0 -0
  15. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/command_line.rst +0 -0
  16. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/conf.py +0 -0
  17. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/customisation.rst +0 -0
  18. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/design_decisions.rst +0 -0
  19. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/design_tools.rst +0 -0
  20. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/generated_package.rst +0 -0
  21. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/genindex.rst +0 -0
  22. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/index.rst +0 -0
  23. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/installation.rst +0 -0
  24. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/docs/requirements.txt +0 -0
  25. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/array_access/array_access.rdl +0 -0
  26. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/array_access/demo_array_access.py +0 -0
  27. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/enumerated_fields/demo_enumerated_fields.py +0 -0
  28. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/enumerated_fields/enumerated_fields.rdl +0 -0
  29. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/optimised_access/demo_optimised_access.py +0 -0
  30. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/optimised_access/demo_optimised_array_access.py +0 -0
  31. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/optimised_access/optimised_access.rdl +0 -0
  32. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/optimised_access/optimised_array_access.rdl +0 -0
  33. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/overridden_names/demo_over_ridden_names.py +0 -0
  34. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/overridden_names/overridden_names.rdl +0 -0
  35. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/simulating_callbacks/chip_with_a_GPIO.rdl +0 -0
  36. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/simulating_callbacks/flashing_the_LED.py +0 -0
  37. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/tranversing_address_map/chip_with_registers.rdl +0 -0
  38. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/tranversing_address_map/dumping_register_state_to_json_file.py +0 -0
  39. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/tranversing_address_map/reg_dump.json +0 -0
  40. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/tranversing_address_map/reseting_registers.py +0 -0
  41. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/tranversing_address_map/writing_register_state_from_json_file.py +0 -0
  42. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/user_defined_properties/demo_user_defined_properties.py +0 -0
  43. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/user_defined_properties/user_defined_properties.rdl +0 -0
  44. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/why_ral/__init__.py +0 -0
  45. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/why_ral/gpio.rdl +0 -0
  46. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/why_ral/with_hal.py +0 -0
  47. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/why_ral/with_ral.py +0 -0
  48. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/example/why_ral/without_ral.py +0 -0
  49. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/generate_and_test.py +0 -0
  50. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/generate_testcases.py +0 -0
  51. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/pyproject.toml +0 -0
  52. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/setup.cfg +0 -0
  53. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/.coveragerc +0 -0
  54. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/__init__.py +0 -0
  55. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/__peakrdl__.py +0 -0
  56. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/_node_walkers.py +0 -0
  57. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/compiler_udp.py +0 -0
  58. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/exporter.py +0 -0
  59. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/__init__.py +0 -0
  60. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/async_memory.py +0 -0
  61. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/async_register_and_field.py +0 -0
  62. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/base.py +0 -0
  63. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/base_field.py +0 -0
  64. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/base_register.py +0 -0
  65. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/callbacks.py +0 -0
  66. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/field_encoding.py +0 -0
  67. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/memory.py +0 -0
  68. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/py.typed +0 -0
  69. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/register_and_field.py +0 -0
  70. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/lib/utility_functions.py +0 -0
  71. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/py.typed +0 -0
  72. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/safe_name_utility.py +0 -0
  73. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/__init__.py +0 -0
  74. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/_callbacks.py +0 -0
  75. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/base.py +0 -0
  76. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/dummy_callbacks.py +0 -0
  77. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/field.py +0 -0
  78. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/memory.py +0 -0
  79. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/py.typed +0 -0
  80. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/register.py +0 -0
  81. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/sim_lib/simulator.py +0 -0
  82. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/systemrdl_node_utility_functions.py +0 -0
  83. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/__init__.py +0 -0
  84. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap.py.jinja +0 -0
  85. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_field.py.jinja +0 -0
  86. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_memory.py.jinja +0 -0
  87. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_register.py.jinja +0 -0
  88. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_simulation.py.jinja +0 -0
  89. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_simulation_tb.py.jinja +0 -0
  90. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_system_rdl_name_mapping.py.jinja +0 -0
  91. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_udp_property.py.jinja +0 -0
  92. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/addrmap_universal_property.py.jinja +0 -0
  93. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/baseclass_simulation_tb.py.jinja +0 -0
  94. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/baseclass_tb.py.jinja +0 -0
  95. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/example.py.jinja +0 -0
  96. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/header.py.jinja +0 -0
  97. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/header_tb.py.jinja +0 -0
  98. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/reg_definitions.py.jinja +0 -0
  99. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python/templates/sim_addrmap.py.jinja +0 -0
  100. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python.egg-info/dependency_links.txt +0 -0
  101. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python.egg-info/entry_points.txt +0 -0
  102. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python.egg-info/requires.txt +0 -0
  103. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/src/peakrdl_python.egg-info/top_level.txt +0 -0
  104. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/alternative_templates/header.py.jinja +0 -0
  105. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/alternative_templates/header_tb.py.jinja +0 -0
  106. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/alternative_templates_dynamic/header.py.jinja +0 -0
  107. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/alternative_templates_dynamic/header_tb.py.jinja +0 -0
  108. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/alternative_templates_dynamic_toml/header_check.py +0 -0
  109. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/alternative_templates_dynamic_toml/peakrdl.toml +0 -0
  110. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/alternative_templates_toml/header_check.py +0 -0
  111. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/alternative_templates_toml/peakrdl.toml +0 -0
  112. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/RDLFormatCode_example.rdl +0 -0
  113. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/addr_map.rdl +0 -0
  114. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/all_register_access_types.rdl +0 -0
  115. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/basic.rdl +0 -0
  116. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/block_a.xml +0 -0
  117. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/block_b.xml +0 -0
  118. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/different_array_types.rdl +0 -0
  119. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/enum_example.rdl +0 -0
  120. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/example_issue_106.rdl +0 -0
  121. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/extended_memories.rdl +0 -0
  122. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/extended_sizes_registers_array.rdl +0 -0
  123. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/field_scope.rdl +0 -0
  124. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/field_with_overridden_reset.rdl +0 -0
  125. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/fields_with_HW_write.rdl +0 -0
  126. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/fields_with_reset_values.rdl +0 -0
  127. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/hidden_property.rdl +0 -0
  128. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/large_field_combinations.rdl +0 -0
  129. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/memories.rdl +0 -0
  130. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/memories_with_registers.rdl +0 -0
  131. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/msb0_and_lsb0.rdl +0 -0
  132. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/multi_block.rdl +0 -0
  133. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/multifile.rdl +0 -0
  134. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/name_clash.rdl +0 -0
  135. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/name_desc_all_levels.rdl +0 -0
  136. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/overridden_python_name.rdl +0 -0
  137. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/parametrised_readonly_and_readwrite.rdl +0 -0
  138. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/parametrised_top.rdl +0 -0
  139. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/reg_name_stress.rdl +0 -0
  140. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/regfile_and_arrays.rdl +0 -0
  141. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/reserved_elements.rdl +0 -0
  142. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/same_but_different_enum.rdl +0 -0
  143. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/signals_definitions_at_various_levels.rdl +0 -0
  144. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/simple.rdl +0 -0
  145. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/simple.xml +0 -0
  146. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/simulator_test.rdl +0 -0
  147. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/sizes_registers.rdl +0 -0
  148. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/sizes_registers_array.rdl +0 -0
  149. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/user_defined_properties.rdl +0 -0
  150. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/testcases/write_only_enum_with_undefined_reset.rdl +0 -0
  151. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/__init__.py +0 -0
  152. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/simple_components.py +0 -0
  153. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/test_array_indexing.py +0 -0
  154. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/test_building_inner_addrmap.py +0 -0
  155. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/test_export.py +0 -0
  156. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/test_field.py +0 -0
  157. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/test_name_desc_export.py +0 -0
  158. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/test_optimised_reg_array.py +0 -0
  159. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/tests/unit_tests/test_reg.py +0 -0
  160. {peakrdl_python-1.2.1rc3 → peakrdl_python-1.2.1rc4}/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: 1.2.1rc3
3
+ Version: 1.2.1rc4
4
4
  Summary: Generate Python Register Access Layer (RAL) from SystemRDL
5
5
  Author: Keith Brady
6
6
  License: GNU 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__ = "1.2.1rc3"
20
+ __version__ = "1.2.1rc4"
@@ -459,7 +459,7 @@ class {{fq_block_name}}_single_access({{top_node.inst_name}}_TestCase): # type:
459
459
 
460
460
  {% if asyncoutput %}await {%endif %}self.dut.{{'.'.join(get_python_path_segments(node))}}.write(field_value) # type: ignore[union-attr]
461
461
 
462
- {% if (((node.high+1) - node.low) < (node.parent.size*8)) and (node.parent.has_sw_readable) %}
462
+ {% if (node.width < (node.parent.size*8)) and (node.parent.has_sw_readable) %}
463
463
  read_callback_mock.assert_called_once_with(
464
464
  addr={{node.parent.absolute_address}},
465
465
  width={{node.parent.size * 8}},
@@ -548,14 +548,17 @@ class {{fq_block_name}}_single_access({{top_node.inst_name}}_TestCase): # type:
548
548
  accesswidth=self.dut.{{'.'.join(get_python_path_segments(node))}}.parent_register.accesswidth) # type: ignore[union-attr]
549
549
  {% endfor %}
550
550
 
551
- {% if node.get_property('encode').__len__() < (2**((node.high+1) - node.low)) %}
552
- # check that other values of the field int
553
- # that don't appear in the enum generate an
554
- # error
555
- for field_value in range(0, {{get_field_max_value_hex_string(node)}}+1):
556
- if field_value in [{%- for value_of_enum_needed in node.get_property('encode') -%}{{value_of_enum_needed.value}}{% if not loop.last %}, {% endif %}{%- endfor %}]:
557
- # legal int value of the eunm so no test is needed
558
- continue
551
+ {# only run this if there are field values that are not part of the enum #}
552
+ {% if node.get_property('encode').__len__() < (2**node.width) %}
553
+ # check that other values of the field int that don't appear in the enum generate
554
+ # an error
555
+ {% if node.width <= 8 %}
556
+ {# for enumerated fields of up to 8 bit all combinations can be exhaustively tested #}
557
+ for field_value in set(range({{get_field_max_value_hex_string(node)}}+1)) - { {%- for value_of_enum_needed in node.get_property('encode') -%}{{value_of_enum_needed.value}}{% if not loop.last %}, {% endif %}{%- endfor %} }:
558
+ {% else %}
559
+ {# for enumerated fields of with larger sizes look for up to 100 illegal values #}
560
+ for field_value in { random.randint(0, {{get_field_max_value_hex_string(node)}}+1) for _ in range(100) } - { {%- for value_of_enum_needed in node.get_property('encode') -%}{{value_of_enum_needed.value}}{% if not loop.last %}, {% endif %}{%- endfor %} }:
561
+ {% endif %}
559
562
  with self.assertRaises(ValueError):
560
563
  read_callback_mock.reset_mock()
561
564
  random_reg_value = random.randrange(0, {{get_reg_max_value_hex_string(node.parent)}} + 1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: peakrdl-python
3
- Version: 1.2.1rc3
3
+ Version: 1.2.1rc4
4
4
  Summary: Generate Python Register Access Layer (RAL) from SystemRDL
5
5
  Author: Keith Brady
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -143,6 +143,7 @@ tests/testcases/simple.xml
143
143
  tests/testcases/simulator_test.rdl
144
144
  tests/testcases/sizes_registers.rdl
145
145
  tests/testcases/sizes_registers_array.rdl
146
+ tests/testcases/sparse_enum_issue_200.rdl
146
147
  tests/testcases/user_defined_properties.rdl
147
148
  tests/testcases/write_only_enum_with_undefined_reset.rdl
148
149
  tests/unit_tests/__init__.py
@@ -0,0 +1,51 @@
1
+ /*
2
+ Testcase for a spare enumeration that caused an issue for excessive test times
3
+ */
4
+
5
+ enum block_validity {
6
+ erased = 0xFFFF_FFFF { name = "Erased"; };
7
+ invalid = 0x0 { name = "Invalid"; };
8
+ valid = 0xDEAD_BEEF { name = "Valid"; };
9
+ };
10
+
11
+ enum block_validity_short {
12
+ erased = 0x7F { name = "Erased"; };
13
+ invalid = 0x0 { name = "Invalid"; };
14
+ valid = 0x5A { name = "Valid"; };
15
+ };
16
+
17
+ enum block_validity_very_short {
18
+ erased = 0x7 { name = "Erased"; };
19
+ invalid = 0x0 { name = "Invalid"; };
20
+ valid = 0x5 { name = "Valid"; };
21
+ };
22
+
23
+ addrmap sparse_enum_issue_200 {
24
+
25
+ reg {
26
+ default sw = rw;
27
+ regwidth = 128;
28
+ field { encode = block_validity; sw=rw; fieldwidth=32; } valid_rw;
29
+ field { encode = block_validity; sw=r; fieldwidth=32; } valid_r;
30
+ field { encode = block_validity; sw=w; fieldwidth=32; } valid_w;
31
+ field { encode = block_validity_short; sw=rw; fieldwidth=7; } valid_short_rw;
32
+ field { encode = block_validity_short; sw=r; fieldwidth=7; } valid_short_r;
33
+ field { encode = block_validity_short; sw=w; fieldwidth=7; } valid_short_w;
34
+ field { encode = block_validity_very_short; sw=rw; fieldwidth=3; } valid_very_short_rw;
35
+ field { encode = block_validity_very_short; sw=r; fieldwidth=3; } valid_very_short_r;
36
+ field { encode = block_validity_very_short; sw=w; fieldwidth=3; } valid_very_short_w;
37
+ } block_valid_rw;
38
+
39
+ reg {
40
+ default sw = r;
41
+ regwidth = 128;
42
+ field { encode = block_validity; sw=r; fieldwidth=32; } valid_r;
43
+ } block_valid_r;
44
+
45
+ reg {
46
+ default sw = w;
47
+ regwidth = 128;
48
+ field { encode = block_validity; sw=w; fieldwidth=32; } valid_w;
49
+ } block_valid_w;
50
+
51
+ };