From: Maurice Branson on
Hi everyone,


I'm just about to start an implementation of a USB 3.0 interface in VHDL for
data transfer from FPGA to a PC and vice versa. The core should acts as a
USB device for the PC. The core is intended for an FPGA projects where an
"easy" interface to a PC is needed. Higher data rates as defined by the 3.0
standard should be possible with the implementation.



Questions are:

Does anyone have experience in implementing a USB interface?

What are the external chipsets and components respectively required?

What about standard compliance? Which standard? Which version?

What is the defference between USB Server + USB Client in this respect and
which one should I implement to get the desired functionality?



Thank You Friends For All Your Kind Support!



From: MK on

"Maurice Branson" <traubenuss(a)arcor.de> wrote in message
news:4bab9732$0$6875$9b4e6d93(a)newsspool2.arcor-online.net...
> Hi everyone,
>
>
> I'm just about to start an implementation of a USB 3.0 interface in VHDL
> for data transfer from FPGA to a PC and vice versa. The core should acts
> as a USB device for the PC. The core is intended for an FPGA projects
> where an "easy" interface to a PC is needed. Higher data rates as defined
> by the 3.0 standard should be possible with the implementation.
>
>
>
> Questions are:
>
> Does anyone have experience in implementing a USB interface?
>
> What are the external chipsets and components respectively required?
>
> What about standard compliance? Which standard? Which version?
>
> What is the defference between USB Server + USB Client in this respect and
> which one should I implement to get the desired functionality?
>
>
>
> Thank You Friends For All Your Kind Support!
>
>
>

You will find a lot of information on www.usb.org

While I don't mean to be unhelpful the questions you are asking make me feel
that you are unlikely to get far with this. USB3 is not easy. If you don't
absolutely have to have the USB3 super speed then USB2 high speed (480
Mbit/s) is a lot easier - the 'least brain' approach is to use an FTDI chip
for the interface. www.ftdichip.com

Michael Kellett


From: Maurice Branson on
Thanks, Michael!

I will have a look at the URL you postet. Anyway I want this project to be
one from which I learn a lot. So I am not interested in the 'least brain'
approach but to do as much as I can in VHDL and just use a chipset for the
physical link.



From: wojtek on
On Mar 25, 6:41 pm, "Maurice Branson" <trauben...(a)arcor.de> wrote:
> Thanks, Michael!
>
> I will have a look at the URL you postet. Anyway I want this project to be
> one from which I learn a lot. So I am not interested in the 'least brain'
> approach but to do as much as I can in VHDL and just use a chipset for the
> physical link.

First of all you should go to USB implementers forum USB-IF and
download the specifications of USB 3.0 (which will include host/device/
hub specification). Than you have to read and read and read again to
fully understand the USB 3.0. I hope you know that this won't be a
project that you will finish in a month or two. I would estimate that
one person would spend about 8 hours a day on USB 3.0 one could
probably finish it in 12 months (but that might be too optimistic,
since the development of USB 3.0 device takes about 6-9 months for a
team of HDL developers :)) If you want to learn something first try
using ready USB 2.0 chip and implement full hardware control of the
chip without any CPU.
From: Andrew Jackson on
Maurice

> I will have a look at the URL you postet. Anyway I want this project to be
> one from which I learn a lot. So I am not interested in the 'least brain'
> approach but to do as much as I can in VHDL and just use a chipset for the
> physical link.

USB 3.0 requires that a device (peripheral) support the new "Super
Speed" *and* at least one other speed (low, full or high). So, in many
ways, you would be better doing a USB2.0 device and sticking on a
suitable USB PHY for the physical interface. There aren't many USB 3.0
hosts around yet against which you could test your device either: lots
of USB 2.0 stuff though!

Andrew