Skip to content

R4.4 Release Notes

Note

This document is currently under active development. Content may be updated, revised, or removed without notice.

AWETC Changes

Version used in R4.3 was 0.5.2.

Version used in R4.4 is TBD

ALSA I/O Subsystem Modules

The ALSA Endpoint and Sample Rate Converter modules can be difficult to use. Customers ran into many configuration problems as they used these modules. To simplify things, we added new “ALSA Source” and “ALSA Sink” that automatically configure themselves using internal script logic. We hope that this will make it easier to use ALSA devices.

All of the ALSA devices from previous release still exist and your existing signal flows should open without issue.

Snapdragon target selection in Designer

You access this from the Layout-->Layout Properties menu item. Designer now allows you to specify the Target System Type:

image-20251019-055254.png

The choices are “Snapdragon” and “Universal”. Both Target System Types apply to Native mode and also when attached to a Snapdragon target. The generated system (the AWB and AWC files) is essentially unchanged. The main difference is that

  1. Different error checking occurs via the “Build Checker” (more details below).

  2. The HW input pin is now optional in the Signal Flow.

We recommend changing your designs to use the “Snapdragon” target so that you benefit from the Build Checker.

If your design has HW pins, then they will be connected to your sound card in Native mode. The hardware pins are ignored on the Snapdragon (the HW Source pin is fed with zeros).

Build Checker

The Build Checker is invoked whenever you build your system. Different build checking occurs for the “Universal” and “Snapdragon” targets.

On the Snapdragon we check for:

  1. Verify that one and only one TDM port is configured as the Synchronous Master

  2. Verify that the block size of the Synchronous Master port is greater than or equal to 4 samples.

  3. Verifies that the Synchronous Master is located in a thread with a clock divider of 1.

  4. Check that the clock speed of a TDM port is less than our equal to 24.576 MHz

  5. Verify that the Synchronous Master TDM port is located on Instance 0. (Instance 0 is always the Primary Audio Controller.)

  6. Checks if the Arm pump rate is less than 10 msec. It checks the block times of individual Arm threads as well as “GCD” interactions between threads. It will warn you if the Arm is pumping faster than 10 msec.

  7. Checks that all TDM ports are operating at a block size which is a multiple of the Synchronous Master. A multiple of 1 is OK (this means that they are at the same block size.)

  8. If your system has a legacy hardware input pin, it checks that the block size and sample rate of the hardware input pin matches the Synchronous Master.

  9. Warns if two TDM ports are configured with the same triplet {direction, lpaifIndex, and lpaifType}.

  10. If two TDM ports are configured with the same {lpaifIndex and lpaifType} and differ in direction, then it does further checks to ensure that the settings are compatible.

  11. Checks that the bitWidth <= slotWidth.

  12. Checks that the number of channels equals the number of active lanes times the number of selected slots.

Subcanvas Feature

Significant new Audio Weaver feature which allows easier sharing of IP between team. Refer to the Audio Weaver documentation on this subject.

Container format (.awc)

Significant new Audio Weaver feature. This is a JSON text format which is used to hold information on a top-level system or a Subcanvas. The container has details of memory sizes, which modules are used, exposed tunable variables, and holds the AWB contents.

The Generate Target Files dialog now has the option for generating containers. All Snapdragon deployments should now be done with Container Files.

The Container format is now the input to AWE Target Configurator (AWE-TC).

AWB Loading Time Speedup

Significant new Audio Weaver feature. This updates the AWB format to bundle smaller messages into larger packets. Instead of 1 tuning transaction per message packets. the packets are “bundled” into larger commands. We have seen loading speed up by a factor of 30.

In addition, the size of the tuning buffer has been increased from 264 to 4096 words.

Presets

Significant new Audio Weaver feature. Designer now has the ability to define presets and apply them at run-time. Presets AWB files can also be generated and deploy on the target.

Other Changes

  1. Asynchronous TDM port support

  2. Dynamic loading of custom modules

  3. AV Lipsync Support via Time Stamps

  4. Start, Stop, and Reconfigure TDM Ports at Run-time

  5. Setting of Arm core affinity via YML config files