I think the voltage levels are either 1.2V or 1.6V depending on PS3 model, so that's why you need a level shifter (voltage translator) if your device only supports 3.3V (or 5V).
Also, looking at the cell documentation, this deviates slightly from standard SPI, so that's why an FPGA based solution might be necessary. https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/AF7832F379790768872572D10047E52B/$file/CellBE_HIG_65nm_v1.01_8Jun2007.pdf https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/BD3F1F4C3DB32C7487257142006131BC/$file/CellBE_HIG_90nm_v1.5_30Nov2007_pub.pdf
Check section 2 and 3 for details, there is sample code there as well. In case we need something custom regarding SPI, found an open source master/slave SPI implementation written in VHDL here:
I haven't tested the bus clock speed (CLK) yet, been preparing my Spartan6 FPGA board to dump the SPI traffic during PS3 boot.
If you don't want to use an FPGA board and want to try CPU/MCU based solution (eg. PIC, Atmel or RPI) with 3.3V or 5V SPI pins instead, then I found a level shifter which is suitable for SPI, but not sure if fast enough. https://www.sparkfun.com/products/11771
Will let you know my findings as soon as I get my gear up and running.