Floating-point operations are available, see this document. Try the Xilinx forums for support.
That document, in the FPU section on page 78, says that the processor supports:
The FPU implements the following floating point operations:
• addition, fadd
• subtraction, fsub
• multiplication, fmul
• division, fdiv
• square root, fsqrt (available if C_USE_FPU = 2)
Comparison
• compare less-than, fcmp.lt
• compare equal, fcmp.eq
• compare less-or-equal, fcmp.le
• compare greater-than, fcmp.gt
• compare not-equal, fcmp.ne
• compare greater-or-equal, fcmp.ge
• compare unordered, fcmp.un (used for NaN)
Conversion
The FPU implements the following conversions (available if C_USE_FPU = 2):
• convert from signed integer to floating point, flt
• convert from floating point to signed integer, fint
I don't know which Xilinx device you're targeting, but here's an overview page of the Xilinx DSP blocks:
There's a small section about division in the Virtex 5 XtremeDSP user guide (p.74), for example:
However, your best bet is to create a divider using 'coregen'. Launch 'coregen', create a new project and go to 'Math Functions -> Dividers' (the options appear depending on the target device). Then go through the wizard choosing your preferred setup.
Here's a bit more information on how to use 'coregen': 'coregen' will create a '.v' or'.vhd' instantiation file depending on the language you've chosen. It will run XST to generate a '.ncg' "blackbox" netlist so the implementation process can include it when you run 'ngdbuild'.
Now, coregen will also generate a '.xco' and '.cgp', which are the only files you actually need (in ISE version 12.x) in order to regenerate the core. In command line, do
coregen -p <core>.cgp -b <core>.xco
and you'll get the HDL instantiation and the netlist (and a bunch of other things in the process). Note that 'coregen' will generate its output where the input files are, not where it is invoked from, and there's no switch to indicate an output path!
Best Answer
Unfortunately, I do not think that the Picoblaze has hardware support for floating-point. If it does, you can do it in hardware. Otherwise, you will need to do it in software emulation mode.
Since I noticed that you asked the same question for both the Picoblaze and the Microblaze, maybe you need to ask yourself why you need to do floating-point operations.
In many cases, there are alternatives to floating-point operations. Fixed-point operations are a common alternative to floating point. You will need to study your algorithms to determine if it is possible to represent the values in a fixed-point math alternative to floating-point math.
For example, if you use an 4-bit fixed-point width, you can represent values in quantums of 0.125 between -1.0 to 0.875 with fixed-point representation. Larger values can be scalar multiples of these values.
Edit: Article explaining float-to-fixed-point conversion.