docs: Update user guide, remove legacy code (#1242)
Signed-off-by: Jorge Marques <jorge.marques@analog.com>main
parent
57356cc4ee
commit
e1dd6e5d56
|
@ -13,7 +13,6 @@ release = 'v0.1'
|
|||
|
||||
import os, sys
|
||||
|
||||
user = os.environ.get("USER")
|
||||
sys.path.append(os.path.abspath("./extensions"))
|
||||
|
||||
extensions = [
|
||||
|
@ -38,11 +37,6 @@ validate_links = False
|
|||
todo_include_todos = True
|
||||
todo_emit_warnings = True
|
||||
|
||||
# -- Symbolator configuration -------------------------------------------------
|
||||
|
||||
symbolator_cmd = f"/home/{user}/.local/bin/symbolator"
|
||||
symbolator_cmd_args = ['-t', '--scale=0.75']
|
||||
|
||||
# -- Options for HTML output --------------------------------------------------
|
||||
|
||||
html_theme = 'furo'
|
||||
|
|
|
@ -148,24 +148,30 @@ the ID of the last completed event.
|
|||
Interrupts
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
The SPI Engine AXI peripheral has 4 internal interrupts. One for each of the
|
||||
FIFOs which are asserted when the FIFO level falls bellow the almost empty level
|
||||
(for the command or SDO FIFO) or rises above the almost full level (for the SDI
|
||||
FIFO).
|
||||
And one interrupt which is asserted when a new synchronization event arrives.
|
||||
The SPI Engine AXI peripheral has 4 internal interrupts, which are
|
||||
asserted when:
|
||||
|
||||
* ``CMD_ALMOST_EMPTY``: the level falls bellow the almost empty level.
|
||||
* ``SDO_ALMOST_EMPTY``: the level falls bellow the almost empty level.
|
||||
* ``SDI_ALMOST_FULL``: the level rises above the almost full level.
|
||||
* ``SYNC_EVENT``: a new synchronization event arrives.
|
||||
|
||||
The peripheral has 1 external interrupt which is supposed to be connected to the
|
||||
upstream interrupt controller.
|
||||
The external interrupt is a logical OR-operation over the internal interrupts,
|
||||
meaning if at least one of the internal interrupts is asserted the external
|
||||
interrupt is asserted and only if all internal interrupts are de-asserted the
|
||||
external interrupt is de-asserted. In addition, each interrupt has a mask bit
|
||||
which can be used to stop the propagation of the internal interrupt to the
|
||||
external interrupt. If an interrupt is masked it will count towards the external
|
||||
interrupt state as if it were not asserted.
|
||||
The mask bits can be modified by writing to the IRQ_MASK register.
|
||||
The raw interrupt status can be read from the IRQ_SOURCE register and the
|
||||
combined state of the IRQ_MASK and raw interrupt state can be read from the
|
||||
IRQ_PENDING register.
|
||||
external interrupt is de-asserted.
|
||||
|
||||
In addition, each interrupt has a mask bit which can be used to stop the propagation
|
||||
of the internal interrupt to the external interrupt.
|
||||
If an interrupt is masked it will count towards the external interrupt state as if
|
||||
it were not asserted.
|
||||
|
||||
The mask bits can be modified by writing to the ``IRQ_MASK`` register.
|
||||
The raw interrupt status can be read from the ``IRQ_SOURCE`` register and the
|
||||
combined state of the ``IRQ_MASK`` and raw interrupt state can be read from the
|
||||
``IRQ_PENDING`` register:
|
||||
|
||||
.. code::
|
||||
|
||||
|
@ -176,7 +182,8 @@ FIFO Threshold Interrupts
|
|||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The FIFO threshold interrupts can be used by software for flow control of the
|
||||
command, SDI and SDO streams.
|
||||
command, ``SDI`` and ``SDO`` streams.
|
||||
|
||||
If an application wants to send more data than what fits into the FIFO can write
|
||||
samples into the FIFO until it is full then suspend operation wait for the almost
|
||||
empty interrupt and continue writing data to the FIFO.
|
||||
|
@ -191,10 +198,10 @@ watermark.
|
|||
SYNC_EVENT Interrupt
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The SYNC_EVENT interrupt is asserted when a new sync event is received from the
|
||||
sync stream.
|
||||
An application that generated a SYNC instruction on the command stream can use
|
||||
this interrupt to be notified when the sync instruction has been completed.
|
||||
To de-assert, the SYNC_EVENT interrupt the reception of the interrupt needs to
|
||||
be acknowledged by the application by writing a 1 to the SYNC_EVENT bit in the
|
||||
IRQ_PENDING register.
|
||||
The ``SYNC_EVENT`` interrupt is asserted when a new sync event is received from
|
||||
the sync stream.
|
||||
An application that generated a ``SYNC`` instruction on the command stream can
|
||||
use this interrupt to be notified when the sync instruction has been completed.
|
||||
|
||||
To de-assert the ``SYNC_EVENT`` interrupt, the application needs to acknowledge its
|
||||
reception by writing 1 to the ``SYNC_EVENT`` bit in the ``IRQ_PENDING`` register.
|
||||
|
|
|
@ -532,53 +532,37 @@ inside its sub-folders. What this means is that if you run ``make`` inside
|
|||
**hdl/projects/daq2**, it builds all the carriers (**kc705**, **a10soc**,
|
||||
**kcu105**, **zc706** to **zcu102**) instead of just the target carrier.
|
||||
|
||||
The following 'targets' are supported.
|
||||
The following targets/arguments are supported:
|
||||
|
||||
+------------------+--------------------------------------------------+
|
||||
| argument | description |
|
||||
+==================+==================================================+
|
||||
| all | This builds everything in the current folder and |
|
||||
| | its sub-folders, see context examples below. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| | make -C library/axi_ad9122 all; ## build AD9122 |
|
||||
| | library component (AMD only). |
|
||||
+------------------+--------------------------------------------------+
|
||||
| | make -C library all; ## build **ALL** library |
|
||||
| | components inside 'library' (AMD only). |
|
||||
+------------------+--------------------------------------------------+
|
||||
| | make -C projects/daq2/zc706 all; ## build |
|
||||
| | DAQ2_ZC706 (AMD) project. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| | make -C projects/daq2/a10soc all; ## build |
|
||||
| | DAQ2_A10SOC(Intel) project. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| | make -C projects/daq2 all; ## build DAQ2 **ALL** |
|
||||
| | carrier (including Intel & AMD) projects. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| | make -C projects all; ## build **ALL** projects |
|
||||
| | (something you really should NOT do). |
|
||||
+------------------+--------------------------------------------------+
|
||||
| clean | This removes all tool and temporary files in the |
|
||||
| | current folder and its sub-folders, same context |
|
||||
| | as above. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| clean-all | This removes all tool and temporary files in the |
|
||||
| | current folder, its sub-folders and from all the |
|
||||
| | IPs that are specified in the Makefile file; |
|
||||
| | same context as above. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| lib | This is same as 'all' in the library folder, |
|
||||
| | ignored inside project folders. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| project.platform | This is a special target available only in the |
|
||||
| | 'hdl' root folder and is ignored everywhere |
|
||||
| | else, see syntax below. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| | make daq2.a10soc ; ## build |
|
||||
| | projects/daq2/a10soc. |
|
||||
+------------------+--------------------------------------------------+
|
||||
| | make daq2.zc706 ; ## build projects/daq2/zc706. |
|
||||
+------------------+--------------------------------------------------+
|
||||
* ``all``:
|
||||
This builds everything in the current folder and its sub-folders, for example:
|
||||
|
||||
* ``make -C library/axi_ad9122 all; # build AD9122 library component (AMD only).``
|
||||
* ``make -C library all; # build ALL library components inside 'library' (AMD only).``
|
||||
* ``make -C projects/daq2/zc706 all; # build DAQ2_ZC706 (AMD) project.``
|
||||
* ``make -C projects/daq2/a10soc all; # build DAQ2_A10SOC (Intel) project.``
|
||||
* ``make -C projects/daq2 all; # build DAQ2 ALL carrier (Intel & AMD) projects.``
|
||||
* ``make -C projects all; # build ALL projects (not recommended).``
|
||||
* ``clean``:
|
||||
Removes all tool and temporary files in the current folder and its
|
||||
sub-folders, same context as above.
|
||||
* ``clean-all``:
|
||||
This removes all tool and temporary files in the current folder, its
|
||||
sub-folders and from all the IPs that are specified in the Makefile file;
|
||||
same context as above.
|
||||
* ``lib``: This is same as ``all`` in the library folder, ignored inside project
|
||||
folders.
|
||||
* ``projects.platform``: This is a special target available only in the 'hdl' root
|
||||
folder and is ignored everywhere else, see syntax:
|
||||
|
||||
* ``make daq2.a10soc ; # build projects/daq2/a10soc.``
|
||||
* ``make daq2.zc706 ; # build projects/daq2/zc706.``
|
||||
|
||||
To speed up the building process, especially libraries, you can use the ``-j``
|
||||
option to run the targets in parallel, e.g. ``make -j4``.
|
||||
|
||||
All artifacts generated by the build process should be "git"-ignored,
|
||||
e.g. ``component.xml`` and ``.lock`` files.
|
||||
|
||||
Tools and their versions
|
||||
-------------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue