I'm attempting to use a usb keyboard to control a game I built on a spartan 6 board. I'm struggling to understand the process to get this to work though.
I see the physical usb port on the board (I'm using a xilinx university board on campus). I understand there are AXI IP's for usb2, but they all require a license (and won't let me export the project to sdk if I use them).
I came across the open usb source at http://jorisvr.nl/usb/. I'm thinking this is exactly what I want/need, but I'm struggling to understand how to implement it.
Right now I think I should use xilinx platform studio to create a custom ip. Within that custom ip make use of the vhdl source for open usb. The process of hooking up all the different ports has me at a loss. But the thing I don't understand the most is the PHY (UTMI) block that's required for the open usb to even work. What is that? Do I need to implement it?
I'm a bit lost. Any guidance would be appreciated. The manual for open usb can be found http://jorisvr.nl/files/fpga_usb_serial_manual.pdf.