Well, if you want to fully implement the USB PHY on a FPGA: it's impossible, you need high speed circuits which can only be implemented in ASIC (such as PLL, VCO, DCO, etc).
If you want to reuse the already existent USB PHY in the FPGA, you would need to implement the whole USB hardware stack, which requires deep knowledge of the spec, and a lot of time and effort to get it right.
My understanding is that USB 1.1 is slow enough that you can get away without a analog/mixed signal PHY. I have not done it personally but I've read that you can even do USB 1.1 by bit-banging with a cheap micro controller.
Bit-banging is definitely possible. The Digispark, which is a tiny Arduino-alike, does this. It comes on a small board with contacts on one side that can plug into a USB port. The data lines are connected directly to two of the IO pins of the microcontroller, which then handles USB stuff directly. This makes for a small and cheap package, although the tradeoff is that you can't use those IO pins for USB if you want them for something else, and the USB doesn't work if you reduce the microcontroller's clock speed.