SIMULINK Datatype mysmatch error

3 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.

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.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!