FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5952 Discussions

ALTFP_MATRIX_INV IP core output wrong result

WWenx
Beginner
1,758 Views

I use the IP core ALTFP_MATRIX_INV of 4*4 matrix inversion, but the result of inversion output is wrong. The output of a full rank matrix (e.g. {1,2,0,0;3,4,0,0;0,0,0,0,1,0;0,0,0,0,1}) is an abnormal number(NAN),and some other decimal full rank matrix get a wrong result. 输入1.bmp输出1.bmp输入2.bmp输出2.bmp

0 Kudos
4 Replies
CheePin_C_Intel
Employee
140 Views

Hi,

 

Sorry for the delay. As I understand it, you observe some issue with the ​ALTFP_MATRIX_INV IP in Modelsim simulation. To ensure we are on the same page, would you mind to further elaborate on the following:

 

  1. What is the device that you are using and Quartus version?
  2. Thanks for attaching screenshot. To facilitate further understanding, would you mind to further elaborate on the output result that you are expecting and also probably add some markers on the screenshot on the section that you observe issue. For example, with specific input, the expected result vs wrong result in the simulation.

 

Thank you very much for your help.

 

Best regards,

Chee Pin

WWenx
Beginner
140 Views

Hi,

Thanks for you reply. I tested two sets of data.

The first set of data, the matrix that I put in is {1,0,0,0; 3,4,0,0; 0,0,1,0; 0,0,0,1}, ture inverse of this matrix is {1,0,0,0; -0.75,0.25,0,0; 0,0,1,0; 0,0,0,1}. BUT I got the wrong result is an abnormal number (NAN) in Modelsim simulation and in Signaltap Ⅱ. As picture 1,2,3,4 show.

Second set of data, the matrix that I put in is {35,-20,0,0; 20,35,0,0; 0,0,1,0; 0,0,0,1}, ture inverse of this matrix is {0.021538,0.012308,0,0; -0.012308,0.021538,0,0; 0,0,1,0; 0,0,0,1}. BUT I got the wrong result is {0.0424242,-0.0242424,0,0; -0.0242424,0.0424242,0,0; 0,0,1,0; 0,0,0,1} in Modelsim simulation and in Signaltap Ⅱ. As picture 5,6,7,8 show.

 

  1. I use EP4SGX530C2 FPGA ,and Quartus 15.0
  2. The following pictures are in order 1,2,3...

 

Thank you very much for your help.

 

Best regards,

Wenxiang

WWenx
Beginner
140 Views
CheePin_C_Intel
Employee
140 Views

Hi,

 

Sorry for the delay. Thanks for sharing the simulation screenshots. For your information, I have had some discussion with peer and also check the matrix inversion condition of the values that you used. There is no anomaly found with the condition.

 

To further narrow down the issue, just would like to check with you if you have had a chance to try with the latest Quartus version to see if similar issue still persist to isolate Quartus version dependent issue. You may try to use other devices ie A10 to see if similar issue persist just to isolate device depending issue. If yes, would you mind to share with me a simple simulation example which could replicate your observation in Modelsim? I would like to perform some replication on my side.

 

Thank you.

Chee Pin

Reply