annotate duart28c/src/vsrc/USB_block.v @ 46:d80978bd645e

duart28c: started with a copy from duart28
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 29 Jul 2020 07:08:28 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This module encapsulates the USB connector, the FT2232D block and
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * the glue components between them.
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 module USB_block (GND, P_5V, VCCIOA, VCCIOB,
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 ADBUS, ACBUS, SI_WUA, BDBUS, BCBUS, SI_WUB, PWREN);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 output GND, P_5V;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 input VCCIOA, VCCIOB;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 inout [7:0] ADBUS, BDBUS;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 inout [3:0] ACBUS, BCBUS;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 input SI_WUA, SI_WUB;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 output PWREN;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 /* interconnecting wires */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 wire VBUS;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 wire DM_connector_side, DM_chip_side;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 wire DP_connector_side, DP_chip_side;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 wire RSTOUT;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 usb_conn conn (.GND(GND),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 .VBUS(VBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 .Dminus(DM_connector_side),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 .Dplus(DP_connector_side),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 .ID() /* no connect */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 );
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 /* ferrite bead on the power supply */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 inductor VBUS_ferrite (VBUS, P_5V);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 /* series resistors on USB data lines */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 resistor DM_series_R (DM_connector_side, DM_chip_side);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 resistor DP_series_R (DP_connector_side, DP_chip_side);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 /* we can now bring in the FT2232D block */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 FT2232D_block FT2232D (.GND(GND),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 .VCC(P_5V),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 .VCCIOA(VCCIOA),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 .VCCIOB(VCCIOB),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 .USBDP(DP_chip_side),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 .USBDM(DM_chip_side),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 .RESET(P_5V),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 .RSTOUT(RSTOUT),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 .PWREN(PWREN),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 .ADBUS(ADBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 .ACBUS(ACBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 .SI_WUA(SI_WUA),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 .BDBUS(BDBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 .BCBUS(BCBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 .SI_WUB(SI_WUB)
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 );
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 resistor DP_pullup_R (DP_chip_side, RSTOUT);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 /* power bypass caps */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 capacitor VBUS_in_cap (VBUS, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 capacitor P_5V_cap (P_5V, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 capacitor P_5V_cap2 (P_5V, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 endmodule