AR #23000 - 11.3 System Generator for DSP - An indeterminate input data (also known as a NAN) error occurs when the design is simulated

Search Answers Database


 

11.3 System Generator for DSP - An indeterminate input data (also known as a NAN) error occurs when the design is simulated

AR# 23000
Part SW-SysGen
Last Modified 2009-09-10 00:00:00.0
Status Active
Keywords MATLAB, Simulink, SysGen, slice, xlslide, concatenate, DA FIR, CIC Compiler

Description

Keywords: MATLAB, Simulink, SysGen, slice, xlslide, concatenate, DA FIR, CIC Compiler

An indeterminate input data error occurs when I simulate my design, as shown in the following example error message:

"Error reported by S-function 'xlslice' in 'cic2/CORDIC ATAN/CORDIC Fine Angle PE/CORDIC PE1/Slice':
--- The Slice Block received a data word with the valid bit set to true, but the data in an indeterminate ("don't care") state. This condition indicates a usage error when the output type is boolean. Care must be taken when asserting that data samples flowing to the Slice Block are valid."

Solution

Indeterminate data is equivalent to Undefined or Unknown in HDL simulations. Many System Generator blocks can accept this data at its input ports. However, if an input to a block is defined as a Boolean data type, then indeterminate data is not allowed. By definition, a Boolean can only be a '1' or a '0'.

In this case, there are several possible solutions to work around this unknown data and the resulting error messages in System Generator for DSP.

Option 1: Use Configurable Subsystem

- You can resolve this issue with the indeterminate probe block on the output of the DA FIR. Use this probe to drive the select signal of a MUX and select between the actual data and a constant ("0" for example).
- Place this design in a configurable subsystem that selects between a wire and the detection circuit described in Step A for generation and simulation. Note that the indeterminate probe output must go through a Gateway In to drive the mux.
-- For more information on using configurable subsystems and the Indeterminate Probe, see the System Generator user guide.


Option 2: Use Simulation MUX

- You can resolve this issue with the indeterminate probe block on the output of the DA FIR. Use this probe to drive the select signal of a MUX and select between the actual data and a constant ("0" for example).
- Use the Simulation MUX block to switch between a wire and the detection circuit in Step A.

Option 3: Add Extra Registers (can help to pipeline the design)

- Turn on the valid ports for the DA FIR.
- Set the input of the Valid In port on the DA FIR block to a Constant 1.
- Place a register on the output of the DA FIR and connect the Valid Out to the Enable on the Register. This prevents the DA FIR invalid outputs from passing to any downstream components in the design.
 
 
/csi/footer.htm