buy USB2.0 PHY
read USB 2.0 spec.(LS/FS/HS)
download a CPU model/RAM model
you need know very well about USB spec and fifo/crc design
It takes at least 3~6 month to design a USB 2.0 controller for a experience guy(I think).
so the better way is try to get a free IP( find in Altera/Xilinx..., but I dont promise you can find it)!
GOD bless you!