[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [usb] vhdl simulator for linux





I have been involved in a USB design, both master and slave.


It is a very interesting project to develop a USB host.

Usb is a bit of a tricky spec to get corrects, especially if, both modes
(fast and slow) are to be supported.



I have some recommendations:-


1)	Initially design it based around a simple micro interface, cs, data,
address, wr and read, Then the take it up the more higher interface level.
2)	Design the peripheral first. I.e. Use a PC to send data/ receive
data. (keep it simple). Support both slow and fast modes.
3)	Now do the Host. This is very complex.



Generally I would make a transmit and receive block connected to fifos.


Do a hardware state machine for times stamps etc.

Then Use a simple micro controller to control it.
	This works best as it's programmable, as there is a lot of hidden
things within the spec that are not defined very well.

PS The following block Diagram should help.


 <<Introduction.doc>> 


PS:- I'm working on getting you the source code for this.          A version
of the cost that never got completed. I have permission to release it, with
rules but open source.

I discussed that with Damjan earlier this year.

I have some rules that stop me releasing it to you immediately but I should
be able to do that soonish.


PS:- It's only the transmit and receive blocks (VHDL, see introduction.doc
).

I can not guarantee that they fully work but it should help you get a move
on.




I'm not really allowed to help with the project.

I'm working on that.


Regards.








Introduction.doc