What do I need to create a USB interface between a PC and a board?
Sounds like you may need a lot of bandwidth over the USB interface. One need is to get a chip with a USB PHY and bring that up. Another possibility is to use an FPGA and an external USB PHY chip. This will be more work, but it could give you better performance. Another option is to use a USB FIFO chip which is easier to interface with, and couple that to an FPGA or CPLD.

Edit: If you need on the order of 1 Gbps of bandwidth, I think you have two main options: https://github.com/mossmann/daisho (uses TUSB1310A USB 3.0 PHY) or something similar to run USB 3 directly from the FPGA, or connect via PCI express or a wide parallel bus to a relatively powerful controller that supports USB 3.