<< emx_codegen xcos_code_generator

xcos_code_generator >> xcos_code_generator > Xcos Code Generator

Xcos Code Generator

Xcos and Scilab code generator with customiseable hooks and block libraries

Description

This module implements a code-generator for Xcos with multiple back-ends. Using hooks and block library to specialize the code generator for a language or a platform. As it is fully implemented in Scilab it allow any user to overload / redefine some behaviors.

Currently it generates : Scilab code directly and C code through emmtrix Code Generator (eCG). The Scilab code is self-contained and only use a subset of the language; types and sizes are infered by the tools.

Demonstration

Supported Xcos blocks

ABSBLK_fzero-crossing parameter is ignored
ABS_VALUEzero-crossing parameter is ignored
BIGSOM_f-
CLKINV_fresolved by the frontend
CLKOUTV_fresolved by the frontend
CLKSPLIT_fresolved by the frontend
CLINDUMMY_f-
CLOCK_cindependent events are re-synchronized to only one master clock
CONST
CONST_f
CONST_m-
CONVERT-
DEMUX-
DEMUX_f-
DERIVconverted to Laplace discrete ‘z’ notation
DOLLAR_fconverted to Laplace discrete ‘z’ notation
DOLLAR_mconverted to Laplace discrete ‘z’ notation
EXTRACTOR-
FROMresolved by the frontend
FROMWSBimplemented by the user in Scilab
GAINBLK-
GAINBLK_f-
GOTOresolved by the frontend
INTRP2BLK_f
INTRPLBLK_fimplemented as if / then
IN_flabel propagated as the input variable name of the superblock function
LOGIC-
LOGICAL_OP-
MATMUL-
MAXMIN-
MUX-
MUX_f-
M_SWITCH-
NRMSOM_f-
OUT_flabel propagated as the input variable name of the superblock function
POWBLK_f-
PRODUCT-
RELATIONALOP-
SATURATION"zero-crossing parameter is ignored
scifunc_block_mimplemented by the user in Scilab
SPLIT_fresolved by the frontend
SINBLK_f-
SQRT-
SUMMATION-
SUPER_fProduce an independent Scilab macro ; the block label will be the function name and each port labels will be used as inputs and outputs names to mimic a function call.
SWITCH2_m-
TANBLK_f-
TIME_fThe time will be a double pseudo variable incremented by the computational step.
TOWS_c-
TRASH_fresolved by the frontend (variable aliases)

See also


Report an issue
<< emx_codegen xcos_code_generator