OpenCores
URL https://opencores.org/ocsvn/usb1_funct/usb1_funct/trunk

Subversion Repositories usb1_funct

[/] [usb1_funct/] [trunk/] [doc/] [README.txt] - Blame information for rev 10

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 rudi
 
2
 
3
The USB 1.1 Function IP Core
4
============================================
5
 
6
Status
7
------
8
This core is done. It was tested on a XESS XCV800 board with
9
a Philips USB transceiver.
10
 
11
Test Bench
12
----------
13 7 rudi
I have uploaded a very basic test bench. It should be viewed
14
as a starting point to write a more comprehensive and complete
15
test bench.
16 2 rudi
 
17
Documentation
18
-------------
19 7 rudi
Sorry, there is none. I just don't have the time to write it (yet).
20
 
21 2 rudi
However, since this core is derived from my USB 2.0 Function
22
IP core, you might find something useful in there. Main
23
difference is that all the high speed support features have
24
been ripped out, and the interface was changed from a shared
25 7 rudi
memory model to a FIFO based model. Further there is no need
26
for a micro-controller interface and/or register file.
27 2 rudi
 
28
 
29
Here is the quick info:
30
 
31 7 rudi
The core will perform all USB enumeration in hardware. Meaning
32
it will automatically respond to the hosts SETUP packets and
33
send back appropriate information (which you must enter in to
34
the ROM). The enumeration process is usually very simple. The
35
host first requests a device Descriptor, which tells the host
36
some basic information about the device. Then it gets the
37
configuration descriptor, which descries the entire configuration
38
including all interfaces and endpoints. In this implementation
39
no descriptor may be larger than 64 bytes.
40 2 rudi
 
41 7 rudi
I have created anew top level since last check-in. Here is the
42
hierarchical view of the USB core:
43 2 rudi
 
44 7 rudi
usb1_core
45
    |
46
    +-- usb_phy
47
    |      |
48
    |      +-- usb_tx_phy
49
    |      |
50
    |      +-- usb_rx_phy
51
    |
52
    +-- usb1_utmi_if
53
    |
54
    +-- usb1_pl
55
    |      |
56
    |      +-- usb1_pd
57
    |      |
58
    |      +-- usb1_pa
59
    |      |
60
    |      +-- usb1_idma
61
    |      |
62
    |      +-- usb1_pe
63
    |
64
    +-- usb1_ctrl
65
    |
66
    +-- usb1_rom1
67
    |
68
    +-- 2x generic_fifo_sc_a
69
           |
70
           +-- generic_dpram
71 2 rudi
 
72 7 rudi
The following files have been removed and are no longer needed:
73
        usb1_top.v
74
        usb1_ep_in.v
75
        usb1_ep_out.v
76
        usb1_ep.v
77
        usb1_fifo.v
78 2 rudi
 
79 7 rudi
This new release is a more generic and user friendly version of the
80
first release. You can now easy configure the endpoints and other
81
features. FIFOs are external to the core, you can chose the fifo
82
that best fits you from the "generfic_fifos" projects at OpenCores.
83
This includes choosing a dual clock fifo if you need to.
84 2 rudi
 
85 7 rudi
The new top level (usb1_core.v) has now a brief description of the
86
IO signals. Hopefully that description and the test bench will be
87
sufficient to get you started.
88 2 rudi
 
89 7 rudi
Also remember that you MUST edit the ROM to properly configure the
90
settings for your implementation and enter proper vendor IDs, etc.
91 2 rudi
 
92 7 rudi
I will try to write a more complete documentation as I get the time.
93 2 rudi
 
94
Misc
95
----
96
The USB 1.1 Function Project Page is:
97
http://www.opencores.org/cores/usb1_funct/
98
 
99
To find out more about me (Rudolf Usselmann), please visit:
100
http://www.asics.ws
101
 
102
Directory Structure
103
-------------------
104
[core_root]
105
 |
106
 +-doc                        Documentation
107
 |
108
 +-bench--+                   Test Bench
109
 |        +-verilog           Verilog Sources
110
 |        +-vhdl              VHDL Sources
111
 |
112
 +-rtl----+                   Core RTL Sources
113
 |        +-verilog           Verilog Sources
114
 |        +-vhdl              VHDL Sources
115
 |
116
 +-sim----+
117
 |        +-rtl_sim---+       Functional verification Directory
118
 |        |           +-bin   Makefiles/Run Scripts
119
 |        |           +-run   Working Directory
120
 |        |
121
 |        +-gate_sim--+       Functional & Timing Gate Level
122
 |                    |       Verification Directory
123
 |                    +-bin   Makefiles/Run Scripts
124
 |                    +-run   Working Directory
125
 |
126
 +-lint--+                    Lint Directory Tree
127
 |       +-bin                Makefiles/Run Scripts
128
 |       +-run                Working Directory
129
 |       +-log                Linter log & result files
130
 |
131
 +-syn---+                    Synthesis Directory Tree
132
 |       +-bin                Synthesis Scripts
133
 |       +-run                Working Directory
134
 |       +-log                Synthesis log files
135
 |       +-out                Synthesis Output

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.