Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

About This Guide

This Application Note explains the use of Subsystems in the Audio Weaver Application.

Adding a Subsystem

You can add a subsystem in two ways:

...

Figure 7. Changed pin names will appear

Adding Pins to a Subsystem

If you wish to add additional input or output pins to a subsystem after creating it, use the SysIn and SysOut modules, respectively.

...

After dropping in a pin, proceed to make connections to your other modules as usual.

Layout Hierarchy and Subsystems

When your Audio Weaver layouts start getting larger, you may wish to move sections of them to a new page. You can create “Subsystems” which are groups of modules moved off the top page and represented by a smaller rectangle just like a single module. There are two main reasons to do this:

...

Learn more about Audio Weaver layout hierarchy at these links:

  1. Audio Weaver Tutorial #5 - Subsystem and Hierarchy

  2. Subsystems

Using ParamSet and ParamGet

ParamSet and ParamGet modules allow you to control internal variables of modules without requiring a pin. To reference a variable at the same level of hierarchy as the ParamGet or ParamSet module, simply use the module name and the variable name as shown:

...

Then set the Mod.Var field to

\Scaler1.gain

Using a Copier Module

You may design a subsystem that passes an input pin directly to an output pin without any intermediate processing. If so, you will need to add a “Copier” module for the layout to be instantiated correctly. This Subsystem will generate an error:

...

Figure 12. Pass through signal in subsystem

Image RemovedImage Added

Figure 13. Error Message

Adding the Copier module prevents the error. The Copier module uses a small amount of memory, so unless this pass-through signal being part of the subsystem is necessary, it would be better to avoid it.

Image RemovedImage Added

Figure 14. Add a Copier module

How the system gets flattened when built

The concept of Subsystems in Audio Weaver allows you to better organize your layouts and re-use groups of modules to save you time. When you instantiate a layout (e.g., “Build and Run”), the references between the different pages in the Audio Weaver layout are resolved, logical connections are made, and the instantiation proceeds until all paths through subsystems are completed. Functionally it is no different than if you had put all the modules on a single page. Well, almost.

Most of the time, you do not need to treat modules in subsystems any differently. However, if you are using “ParamSet” or “ParamGet”, you do need to use the full hierarchical path to the Module. This is discussed in detail here.