Main Content

Integrate External Code

External code integration using custom fixed-point S-functions

Use custom fixed-point S-functions to integrate external code.

Functions

expand all

Convert Data Type

ssFxpConvertConvert value from one data type to another
ssFxpConvertFromRealWorldValueConvert value of data type double to another data type
ssFxpConvertToRealWorldValueConvert value of any data type to double

U32 Bit Region

ssFxpGetU32BitRegionReturn stored integer value for 32-bit region of real, scalar signal element
ssFxpGetU32BitRegionCompliantDetermine whether S-function is compliant with the U32 bit region interface
ssFxpSetU32BitRegionSet stored integer value for 32-bit region of real, scalar signal element
ssFxpSetU32BitRegionCompliantDeclare compliance with the U32 bit region interface for fixed-point data types with 33 or more bits

Registered Data Type Information

ssGetDataTypeBiasReturn bias of registered data type
ssGetDataTypeFixedExponentReturn exponent of slope of registered data type
ssGetDataTypeFracSlopeReturn fractional slope of registered data type
ssGetDataTypeFractionLengthReturn fraction length of registered data type with power-of-two scaling
ssGetDataTypeFxpContainWordLenReturn word length of storage container of registered data type
ssGetDataTypeFxpIsSignedDetermine whether fixed-point registered data type is signed or unsigned
ssGetDataTypeIsDoubleSingleorHalfDetermine whether registered data type is double, single, or half-precision data type
ssGetDataTypeFxpWordLengthReturn word length of fixed-point registered data type
ssGetDataTypeIsFixedPointDetermine whether registered data type is fixed-point data type
ssGetDataTypeIsFloatingPointDetermine whether registered data type is floating-point data type
ssGetDataTypeIsFxpFltApiCompatDetermine whether registered data type is supported by API for user-written fixed-point S-functions
ssGetDataTypeIsHalfPrecisionDetermine whether registered data type is half-precision data type
ssGetDataTypeIsScalingPow2Determine whether registered data type has power-of-two scaling
ssGetDataTypeIsScalingTrivialDetermine whether scaling of registered data type is slope = 1, bias = 0
ssGetDataTypeNumberOfChunksReturn number of chunks in multiword storage container of registered data type
ssGetDataTypeStorageContainCatReturn storage container category of registered data type
ssGetDataTypeStorageContainerSizeReturn storage container size of registered data type
ssGetDataTypeTotalSlopeReturn total slope of scaling of registered data type

Record Information Collected During Simulation

ssLogFixptInstrumentationRecord information collected during simulation

Register Fixed-Point Data Type

ssRegisterDataTypeFxpSlopeBiasRegister data type with [Slope Bias] scaling and return its data type ID
ssRegisterDataTypeHalfPrecisionRegister half-precision data type and return its data type ID
ssRegisterDataTypeFxpScaledDoubleRegister scaled double data type with [Slope Bias] scaling specified in terms of fractional slope, fixed exponent, and bias, and return its data type ID
ssRegisterDataTypeFxpFSlopeFixExpBiasRegister fixed-point data type with [Slope Bias] scaling specified in terms of fractional slope, fixed exponent, and bias, and return its data type ID
ssRegisterDataTypeFxpBinaryPointRegister fixed-point data type with binary-point-only scaling and return its data type ID

Topics

Data Type Support

Lists the data types supported by the API and discusses the treatment of integers and data-type-overridden signals.

Structure of the S-Function

Displays the basic structure of an S-function that directly handles fixed-point data types.

Storage Containers

Discusses the containers used to hold signals in simulation and code generation.

Data Type IDs

Describes the creation, assignment, and usage of data type IDs, including how to get and set information about data types in an S-function.

Overflow Handling and Rounding Methods

Discusses the tokens you can use to define overflow handling and rounding methods in your fixed-point S-function, and describes the overflow logging structure.

Create MEX-Files

Describes the extra steps that you need to take to create MEX-files for fixed-point S-functions.

Get the Input Port Data Type

Within your S-function, you might need to know the data types of different ports, run-time parameters, and DWorks.

Set the Output Port Data Type

You may want to set the data type of various ports, run-time parameters, or DWorks in your S-function.

Interpret an Input Value

Suppose you need to get the value of the signal on your input port to use in your S-function.

Write an Output Value

Suppose you need to write the value of the output signal to the output port in your S-function.

Determine Output Type Using the Input Type

The following sample code from lines 243 through 261 of sfun_user_fxp_asr.c gives an example of using the data type of the input to your S-function to calculate the output data type.

Featured Examples