cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
10,270 Views
Registered: ‎04-26-2008

APU FPU documentation confusion

ML403 - Virtex4 - PPC405

 

Hi,

 

I have a working PPC405 design to which I want to add the APU FPU.  I have used the wizard to configure basically the same design, but with the FPU included.  This now runs non floating point instructions but generated program exceptions when an FPU instruction is executed.

 

Looking at the PPC405 block reference guide I am informed that I have to set bits 6 (APU present) and 18 (FCM floating point unit present) in the MSR register, but the PPC405 reference guide from Xilinx states that all these bits are unsupported and must be set to 0.  This seems contradictory.

 

Any advice on how to add the APU FPU unit to a PPC405 design without FPU instruction generating exceptions would be gratefully received!  Are there library calls I'm supposed to use the configure the hardware?  I cannot find any.

Regards,
Richard.

+ http://www.FreeRTOS.org
The de facto standard, downloaded every 4.2 minutes during 2015.

+ http://www.FreeRTOS.org/plus
IoT, Trace, Certification, TCP/IP, FAT FS, Training, and more...
0 Kudos
6 Replies
Highlighted
Adventurer
Adventurer
9,289 Views
Registered: ‎06-03-2008

Re: APU FPU documentation confusion

Hello,

 

Actually I have the same problem. I use the "mtmsr" instruction to enable MSR's bit 6 and 18, but an exception is generated in simulation. I would like to ask if anyone can tell which is the normal procedure to correctly enable the FPU. In the documentation is also mentioned that there can be different exception modes by configuring MSR's bits 20 (FE0) and 23 (FE1). Do I have to set these bits also to a different mode than "0,0" (ignore excetions) ?

 

Any feedback will be most welcome! :-)

 

Best regards,

dtheodor 

0 Kudos
Highlighted
Observer
Observer
9,286 Views
Registered: ‎04-26-2008

Re: APU FPU documentation confusion

I went back and forth with Xilinx support for a while on this one.... It was resolved when it was recommended to me to install the *entire* EDK rather than just the components I "required".  I bought a bigger hard disk, followed the recommendation, and hey presto my project started working :o)

 

Regards,
Richard.

+ http://www.FreeRTOS.org
The de facto standard, downloaded every 4.2 minutes during 2015.

+ http://www.FreeRTOS.org/plus
IoT, Trace, Certification, TCP/IP, FAT FS, Training, and more...
0 Kudos
Highlighted
Adventurer
Adventurer
9,284 Views
Registered: ‎06-03-2008

Re: APU FPU documentation confusion

Hello Richard,

 

Thank you very much for fast reply!

 

So to make sure I understood correctly, you suggest  to unistall EDK 9.1, and re-install it with all the components, such as "Virtex4", "Spartan3", "Virtex5", "Coolrunner" etc..., right? 

 

Regards,

dtheodor 

0 Kudos
Highlighted
Observer
Observer
9,279 Views
Registered: ‎04-26-2008

Re: APU FPU documentation confusion

That is correct except that I was using V10.1 of the EDK.

 

There is a demo project available from the Xilinx WEB site that includes the FPU, with my original installation I could build the project (hardware and software) but it would not run, getting stuck when an FPU instruction was encountered.  If you have a similar problem with the 'known good' demo project then it could be that you too need to install the components you are 'not using'.

Regards,
Richard.

+ http://www.FreeRTOS.org
The de facto standard, downloaded every 4.2 minutes during 2015.

+ http://www.FreeRTOS.org/plus
IoT, Trace, Certification, TCP/IP, FAT FS, Training, and more...
0 Kudos
Highlighted
Adventurer
Adventurer
9,277 Views
Registered: ‎06-03-2008

Re: APU FPU documentation confusion

This is exactly the problem I have. In the simulation, the moment the APUFCMDECODED signal is asserted (1 pulse) due to the FPU instruction, I receive from Modelsim messages that PPC received 'X' in its pins. Of course, also when I download the design to the board, it stucks..

 

Regarding the demo, I already found one implementing an FIR filter. I used it as a guideline to setup my system.mhs file and run a tiny program with 4 FPU instructions, making sure of course that MSR bits 6 (APU present), 12 (enable APU exception) and 18 (FCM FPU present) are enabled.

 

I will go through the boring process of uninstall-reinstall and hopefully everything will be ok... :-) 

 

Thank you very much again for your help!

 

Best regards,

dtheodor 

0 Kudos
Highlighted
Observer
Observer
5,479 Views
Registered: ‎04-14-2008

Re: APU FPU documentation confusion

Did you ever get this working?  I also downloaded the fpu_v2_10_demo zip file, and built it using EDK 10, and I have the same result, it just hangs.  I think I already have the entire EDK installed.  I have a real frustration with XIlinx and how little support you get with new releases of IDE/EDK and old demo programs.  There just isnt enough hard drive space for every board with every EDK version combinations.  I bought the ML403 because I thought that was a good board that would be supported for a while.  I'm frustrated that the only thing I can get to run reliably are the bit files that alread came with the demos.

 

ANyone lived through this and have a happier tale?

Thanks

TmB

 

 

0 Kudos