annotate duart28c/src/vsrc/FT2232D_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 FT2232D chip and its immediate accessories:
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * the oscillator crystal, the EEPROM, the AVCC filter and the cap on 3V3OUT.
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 FT2232D_block (GND, VCC, VCCIOA, VCCIOB,
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 USBDP, USBDM, RESET, RSTOUT, PWREN,
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 ADBUS, ACBUS, SI_WUA, BDBUS, BCBUS, SI_WUB);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 input GND, VCC, VCCIOA, VCCIOB;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 inout USBDP, USBDM;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 input RESET;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 output RSTOUT, 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 inout [7:0] ADBUS, BDBUS;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 inout [3:0] ACBUS, BCBUS;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 input SI_WUA, SI_WUB;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 /* FT2232D pins handled within this block */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 wire EECS, EESK, EEDATA;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 wire XTIN, XTOUT;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 wire AVCC, FTDI_3V3;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 /* instantiate the FT2232D */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 FT2232D_chip FT2232D (.GND(GND),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 .AGND(GND),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 .VCC(VCC),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 .AVCC(AVCC),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 .VCCIOA(VCCIOA),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 .VCCIOB(VCCIOB),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 .OUT_3V3(FTDI_3V3),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 .USBDP(USBDP),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 .USBDM(USBDM),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 .EECS(EECS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 .EESK(EESK),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 .EEDATA(EEDATA),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 .RESET(RESET),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 .RSTOUT(RSTOUT),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 .TEST(GND),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 .PWREN(PWREN),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 .XTIN(XTIN),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 .XTOUT(XTOUT),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 .ADBUS(ADBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 .ACBUS(ACBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 .SI_WUA(SI_WUA),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 .BDBUS(BDBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 .BCBUS(BCBUS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 .SI_WUB(SI_WUB)
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 );
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 /* VCCIO bypass caps */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 capacitor VCCIOA_bypass_cap (VCCIOA, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 capacitor VCCIOB_bypass_cap (VCCIOB, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 /* AVCC filter */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 resistor AVCC_filter_R (VCC, AVCC);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 capacitor AVCC_cap (AVCC, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 /* 3V3OUT */
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 capacitor FTDI_3V3_cap (FTDI_3V3, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 /* crystal oscillator */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 xtal_2pin_pkg xtal (XTIN, XTOUT);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 capacitor XTIN_cap (XTIN, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 capacitor XTOUT_cap (XTOUT, GND);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 /* serial EEPROM */
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 wire EEPROM_DOUT;
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 eeprom_93Cx6_16bit eeprom (.GND(GND),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 .VCC(VCC),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 .CS(EECS),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 .SK(EESK),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 .DIN(EEDATA),
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 .DOUT(EEPROM_DOUT)
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 );
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 resistor DOUT_series_R (EEPROM_DOUT, EEDATA);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 resistor DOUT_pullup_R (EEPROM_DOUT, VCC);
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89
d80978bd645e duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 endmodule