Skip to content

Commit

Permalink
added initial memory and CPU estimates
Browse files Browse the repository at this point in the history
  • Loading branch information
keithm-xmos committed Aug 10, 2022
1 parent 5e106b7 commit 0bcbe62
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 4 deletions.
4 changes: 2 additions & 2 deletions doc/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Pull the docker container:

.. code-block:: console
$ docker pull ghcr.io/xmos/doc_builder:main
docker pull ghcr.io/xmos/doc_builder:main
========
Building
Expand All @@ -34,4 +34,4 @@ To build the documentation, run the following command in the root of the reposit

.. code-block:: console
$ docker run --rm -t -u "$(id -u):$(id -g)" -v $(pwd):/build -e REPO:/build -e DOXYGEN_INCLUDE=/build/doc/Doxyfile.inc -e EXCLUDE_PATTERNS=/build/doc/exclude_patterns.inc -e DOXYGEN_INPUT=ignore ghcr.io/xmos/doc_builder:main
docker run --rm -t -u "$(id -u):$(id -g)" -v $(pwd):/build -e REPO:/build -e DOXYGEN_INCLUDE=/build/doc/Doxyfile.inc -e EXCLUDE_PATTERNS=/build/doc/exclude_patterns.inc -e DOXYGEN_INPUT=ignore ghcr.io/xmos/doc_builder:main
71 changes: 71 additions & 0 deletions doc/extending.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
.. _sln_voice_memory_cpu:

###########################
Memory and CPU Requirements
###########################

******
Memory
******

The table below lists the approximate memory requirements for the larger software components. All memory use estimates in the table below are based on the default configuration for the feature. Alternate configurations will require more or less memory. The estimates are provided as guideline to assist application developers judge the memory cost of extending the application or benefit of removing an existing feature. It can be assumed that the memory requirement of components not listed in the table below are under 5 kB.

.. list-table:: Memory Requirements
:widths: 50 50
:header-rows: 1
:align: left

* - Component
- Memory Use (kB)
* - Stereo Adaptive Echo Canceler (AEC)
- 275
* - Wanson Speech Recognition Engine
- 194
* - Interference Canceler (IC) + Voice Activity Detector (VAD)
- 93
* - USB
- 20
* - Noise Supressor (NS)
- 15
* - Adaptive Gain Control (AGC)
- 11

***
CPU
***

The table below lists the approximate CPU requirements for the larger software components. All CPU use estimates in the table below are based on the default configuration for the feature. Alternate configurations will require more or less MIPS. The estimates are provided as guideline to assist application developers judge the MIP cost of extending the application or benefits of removing an existing feature. It can be assumed that the memory requirement of components not listed in the table below are under 1%.

The following formula was used to convert CPU% to MIPS:

MIPS = (CPU% / 100%) * (600 MHz / 5 cores)

.. list-table:: CPU Requirements (@ 600 MHz)
:widths: 50 50 50
:header-rows: 1
:align: left

* - Component
- CPU Use (%)
- MIPS Use
* - USB XUD
- 100
- 120
* - I2S (slave mode)
- 80
- 96
* - Stereo Adaptive Echo Canceler (AEC)
- 80
- 96
* - Wanson Speech Recognition Engine
- 80
- 96
* - Interference Canceler (IC) + Voice Activity Detector (VAD)
- 20
- 24
* - Noise Supressor (NS)
- 10
- 12
* - Adaptive Gain Control (AGC)
- 5
- 6
2 changes: 2 additions & 0 deletions doc/ffd/modifying_software.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ The FFD reference design consists of three major software blocks, the audio pipe
It is highly recommended to be familiar with the application as a whole before attempting replacing these functional units. This information can be found here:
:ref:`sln_voice_ffd_software_description`

See :ref:`sln_voice_memory_cpu` for more details on the memory footprint and CPU usage of the major software components.

Replacing XCORE-VOICE DSP Block
-------------------------------

Expand Down
4 changes: 2 additions & 2 deletions doc/stlp/audio_pipeline.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _sln_voice_stlp_ap:

.. include:: <isonum.txt>

.. _sln_voice_stlp_ap:

##############
Audio Pipeline
##############
Expand Down

0 comments on commit 0bcbe62

Please sign in to comment.