comparison venus/src/usb/FT2232D_block.v @ 23:9f70dc110ad7

venus/src/usb: building blocks from DUART28
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 20 Nov 2021 17:48:18 +0000
parents
children 8f3df7a222f5
comparison
equal deleted inserted replaced
22:22ac331aa0f8 23:9f70dc110ad7
1 /*
2 * This module encapsulates the FT2232D chip and its immediate accessories:
3 * the oscillator crystal, the EEPROM, the AVCC filter and the cap on 3V3OUT.
4 */
5
6 module FT2232D_block (GND, VCC, VCCIOA, VCCIOB,
7 USBDP, USBDM, RESET, RSTOUT, PWREN,
8 ADBUS, ACBUS, SI_WUA, BDBUS, BCBUS, SI_WUB);
9
10 input GND, VCC, VCCIOA, VCCIOB;
11
12 inout USBDP, USBDM;
13
14 input RESET;
15 output RSTOUT, PWREN;
16
17 inout [7:0] ADBUS, BDBUS;
18 inout [3:0] ACBUS, BCBUS;
19 input SI_WUA, SI_WUB;
20
21 /* FT2232D pins handled within this block */
22
23 wire EECS, EESK, EEDATA;
24 wire XTIN, XTOUT;
25 wire AVCC, FTDI_3V3;
26
27 /* instantiate the FT2232D */
28
29 FT2232D_chip FT2232D (.GND(GND),
30 .AGND(GND),
31 .VCC(VCC),
32 .AVCC(AVCC),
33 .VCCIOA(VCCIOA),
34 .VCCIOB(VCCIOB),
35 .OUT_3V3(FTDI_3V3),
36 .USBDP(USBDP),
37 .USBDM(USBDM),
38 .EECS(EECS),
39 .EESK(EESK),
40 .EEDATA(EEDATA),
41 .RESET(RESET),
42 .RSTOUT(RSTOUT),
43 .TEST(GND),
44 .PWREN(PWREN),
45 .XTIN(XTIN),
46 .XTOUT(XTOUT),
47 .ADBUS(ADBUS),
48 .ACBUS(ACBUS),
49 .SI_WUA(SI_WUA),
50 .BDBUS(BDBUS),
51 .BCBUS(BCBUS),
52 .SI_WUB(SI_WUB)
53 );
54
55 /* VCCIO bypass caps */
56
57 capacitor VCCIOA_bypass_cap (VCCIOA, GND);
58 capacitor VCCIOB_bypass_cap (VCCIOB, GND);
59
60 /* AVCC filter */
61
62 resistor AVCC_filter_R (VCC, AVCC);
63 capacitor AVCC_cap (AVCC, GND);
64
65 /* 3V3OUT */
66
67 capacitor FTDI_3V3_cap (FTDI_3V3, GND);
68
69 /* crystal oscillator */
70
71 xtal_2pin_pkg xtal (XTIN, XTOUT);
72 capacitor XTIN_cap (XTIN, GND);
73 capacitor XTOUT_cap (XTOUT, GND);
74
75 /* serial EEPROM */
76
77 wire EEPROM_DOUT;
78
79 eeprom_93Cx6_16bit eeprom (.GND(GND),
80 .VCC(VCC),
81 .CS(EECS),
82 .SK(EESK),
83 .DIN(EEDATA),
84 .DOUT(EEPROM_DOUT)
85 );
86
87 resistor DOUT_series_R (EEPROM_DOUT, EEDATA);
88 resistor DOUT_pullup_R (EEPROM_DOUT, VCC);
89
90 endmodule