MATLAB Answers

SIMULINK Datatype mysmatch error

6 views (last 30 days)
Lucas Augusto Tansini
Lucas Augusto Tansini on 11 Jun 2020
Answered: Mark McBroom on 14 Jun 2020
Hello all!
I'm quite new to SIMULINK model-design and i have stumbled into an error, and I though I might ask for help here, since there may be a better way to handle this implementation.
Currently, I'm implementing this piece of (a fft benchmark) C code into SIMULINK Model-based design:
for ( i=rev=0; i < NumBits; i++ )
{
rev = (rev << 1) | (index & 1);
index >>= 1;
}
So far, this what I've got:
However, i got these two datatype mismatch error,
Data type mismatch. Input port 2 of 'fftModel/iteratorNumSamples /For Iterator Subsystem/Bitwise Operator' expects a signal of data type 'uint32'. However, it is driven by a signal of data type 'ufix32_E1'.
Data type mismatch. Output port 1 of 'fftModel/iteratorNumSamples /For Iterator Subsystem/Shift Arithmetic' is a signal of data type 'ufix32_E1'. However, it is driving a signal of data type 'uint32'.
To fix this, I thought into putting a Data Type Conversion block, but this block changes the code behavior. Is there an easy way to fix this?
Thanks in advance.

  0 Comments

Sign in to comment.

Answers (1)

Mark McBroom
Mark McBroom on 14 Jun 2020
In Shift Arithmetic block, make sure the "Binary points to shift" is set to zero.

  0 Comments

Sign in to comment.