doc updates
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user