This section is used to define the basic configuration of the module to be developed.
This section is used to define the algorithm source. Algorithm source can be in the form of CCES libraries and/or C source with headers. Refer to section Algorithm Designer Coding Conventions for more details on coding conventions.
C source code can be inserted in the editor under “Source Code” tab. The code has to follow the conventions mentioned in section Algorithm Designer Coding Conventions. The ‘Header Files’ tab is used to load the header files included in the source code. Header files to beaded can be selected using ‘Browse’ button and added using the '+' button. Use the ‘-’ button to remove the selected header file from the list. The source entered in the editor and header files selected will get saved in the Algorithm Designer project. Source code entered in the Algorithm Designer source editor is not supported for sample processing schematics. It is not mandatory to have source code entered in the editor window since block processing Module supports a combination of libraries and C source code. Following combinations are supported.
The 'Libraries' tab could be used to add DLBs to the project. One Module can have more than one dlb elements. dlb element is mandatory for sample processing Module and optional for Block processing module. When a DLB is added as Embedded Library, the contents of the DLB is embedded into the module DLL generated by Algorithm Designer. The DLB is then no longer required to be present while using the module generated by Algorithm Designer in SigmaStudio+. On the other hand when the DLB is added as Referenced Library, the DLB file should be present along with the DLL as only a reference to the DLB is present in the DLL.
This section is used to define the module (target) parameters required for the module.
Use '+' button to add the parameter to the module. Use '-' button to remove from the list.
This section is used to define the input and output pins.
Use '+' button to add pins. Use '-' button to remove selected pin from the list.
This section is used to define the temporary variables. These variables can be used for parameter and memory size definitions.
Use '+' button to add pins. Use '-' button to remove selected pin from the list.
State and Scratch Memory required by the Module should be assigned on this window.
The user can assign a static value to the memory size or assign a formula which is a function of one or more runtime variables and size of runtime buffers. ‘FS’, ‘RepCount’ and ‘BlockSize’ are predefined variables and can be used in the formula to represent the ‘Schematic Sampling Rate’, ‘Growth Count’ and ‘Schematic Block Size’ (for block processing Modules) respectively. The configurable properties defined in the 'Configuration' window are also available as predefined variables. In order to use the size of a runtime buffer as a variable use the buffer name with a prefix ‘LEN_’. For e.g. size of a runtime buffer ‘LUT’ is denoted by ‘_LEN_LUT’. Ternary operators can also be used to define the size. For example; “1024 + (RepCount>256?20:10)”
The validate icon will turn green if the size definition is valid. If invalid, the icon will turn red.
The parameters defined in the “Parameter Definition” window will be listed in this window. The values and properties of the parameters can be assigned through this window.
Equation
This field is different for individual parameters and tables.
Safeload
Some Algorithms require a set of parameters be updated at once and the update in the parameter memory happens while the Algorithm is not being executed.
For example, in a Bi-quad filter, 5 filter coefficients form the parameter set. To update the parameters of the Bi-quad filter, it is mandatory to satisfy the following conditions:
This is to ensure that the filter is executed with a set of stable coefficients. If either of the above two conditions are not met, the resultant parameter set used in the Bi-quad filter can be a mix of coefficients from two different parameter sets and this can lead to filter instability. If the ‘Safeload’ checkbox is selected, the Algorithm Designer ensures that the first condition mentioned above is met, i.e. corresponding parameter is updated in the parameter memory while the Algorithm is not being executed. “Safeload Group” maps two or more parameters to the same group and ensure that the parameters belonging to the same group are updated at once. Thus safeload group ensures that the second condition is also met.
Toolbox contains basic controls which could be dragged and dropped on to the design canvas area at the center to design the UI of the module.
Once a control is selected on the the design panel, the properties window will list the basic properties of the selected control. The properties window could be used to modify/update the properties.
Assignments window could be used to assign the runtime variables and buffers to the controls such that assigned runtime variable or buffer could be controlled using the graphical control.
Miscellaneous setting are assigned on the Settings Window.