doc updates

This commit is contained in:
Alex Mykyta
2025-11-15 14:47:16 -08:00
parent 7f572e05a4
commit 75a2163f6d
3 changed files with 8 additions and 11 deletions

View File

@@ -93,7 +93,8 @@ The easiest way to add your cpuif is via the TOML config file. See the
Via a package's entry point definition Via a package's entry point definition
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you are publishing a collection of PeakRDL plugins as an installable Python If you are publishing a collection of PeakRDL plugins as an installable Python
package, you can advertise them to PeakRDL using an entry point. package, you can advertise them to PeakRDL using an entry point defined in your
``pyproject.toml`` file.
This advertises your custom CPUIF class to the PeakRDL-regblock tool as a plugin This advertises your custom CPUIF class to the PeakRDL-regblock tool as a plugin
that should be loaded, and made available as a command-line option in PeakRDL. that should be loaded, and made available as a command-line option in PeakRDL.
@@ -103,12 +104,11 @@ that should be loaded, and made available as a command-line option in PeakRDL.
my-cpuif = "my_package.my_module:MyCPUIF" my-cpuif = "my_package.my_module:MyCPUIF"
* ``my_package``: The name of your installable Python module
* ``peakrdl-regblock.cpuif``: This is the namespace that PeakRDL-regblock will * ``peakrdl-regblock.cpuif``: This is the namespace that PeakRDL-regblock will
search. Any cpuif plugins you create must be enclosed in this namespace in search. Any cpuif plugins you create must be enclosed in this namespace in
order to be discovered. order to be discovered.
* ``my_package.my_module:MyCPUIF``: This is the import path that
points to your CPUIF class definition.
* ``my-cpuif``: The lefthand side of the assignment is your cpuif's name. This * ``my-cpuif``: The lefthand side of the assignment is your cpuif's name. This
text is what the end-user uses in the command line interface to select your text is what the end-user uses in the command line interface to select your
CPUIF implementation. CPUIF implementation.
* ``my_package.my_module:MyCPUIF``: This is the import path that
points to your CPUIF class definition.

View File

@@ -23,7 +23,6 @@ class DesignValidator(RDLListener):
self.msg = self.top_node.env.msg self.msg = self.top_node.env.msg
self._contains_external_block_stack = [] # type: List[bool] self._contains_external_block_stack = [] # type: List[bool]
self.contains_external_block = False
@property @property
def top_node(self) -> 'AddrmapNode': def top_node(self) -> 'AddrmapNode':
@@ -178,9 +177,6 @@ class DesignValidator(RDLListener):
if self._contains_external_block_stack: if self._contains_external_block_stack:
# Still in the design. Update stack # Still in the design. Update stack
self._contains_external_block_stack[-1] |= contains_external_block self._contains_external_block_stack[-1] |= contains_external_block
else:
# Exiting top addrmap. Resolve final answer
self.contains_external_block = contains_external_block
if contains_external_block: if contains_external_block:
# Check that addressing follows strict alignment rules to allow # Check that addressing follows strict alignment rules to allow

View File

@@ -48,13 +48,14 @@ Use `pytest --workers auto` to run tests in parallel.
To run all tests: To run all tests:
```bash ```bash
python3 setup.py install python3 -m pip install ".[cli]"
pytest tests cd tests
pytest
``` ```
You can also run a specific testcase. For example: You can also run a specific testcase. For example:
```bash ```bash
pytest tests/test_hw_access pytest test_hw_access
``` ```
Command-line arguments can be used to explicitly select which simulator/synthesis tools are used Command-line arguments can be used to explicitly select which simulator/synthesis tools are used