FreeCalypso > hg > freecalypso-schem2
comparison venus/src/core/abb_block.v @ 9:3ed0f7a9c489
Venus: first version of Verilog for the Calypso core
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 19 Nov 2021 05:58:21 +0000 |
parents | |
children | c1256c8757c3 |
comparison
equal
deleted
inserted
replaced
8:d23dae52cd7b | 9:3ed0f7a9c489 |
---|---|
1 /* | |
2 * This module encapsulates the Iota ABB chip plus the following: | |
3 * | |
4 * - bypass capacitors on the VBAT input and the regulator outputs | |
5 * - all GND connections | |
6 * - IBIAS and VREF external components | |
7 * - UPR, VLMEM, VLRTC and everything connected to them | |
8 * - pull-up of SIM_IO to VSIM | |
9 * - cap on the AFC output | |
10 * - RC network joining BDL[IQ][MP] and BUL[IQ][MP] | |
11 * - VBACKUP resistor to GND in this FC Venus version | |
12 * | |
13 * All other Iota signals are passed through untouched. | |
14 */ | |
15 | |
16 module abb_block (GND, VBAT, VSIM, Vdbb, Vio, Vflash, Vsram, Vrtc, | |
17 nRESPWON, nTESTRESET, | |
18 Analog_IM, Analog_IP, Analog_QM, Analog_QP, | |
19 ADIN1, ADIN2, ADIN3, ADIN4, AFC, APC, AUXI, AUXON, AUXOP, | |
20 BDR, BDX, BFSR, BFSX, CK13M, CK32K, DAC, DBBSCK, DBBSIO, | |
21 DBBSRST, EARN, EARP, | |
22 HSMICBIAS, HSMICP, HSO, ICTL, INT1, INT2, ITWAKEUP, | |
23 LED_A, LED_B, LED_C, MICBIAS, MICIN, MICIP, ON_nOFF, | |
24 PCHG, PWON, RPWON, | |
25 TCK, TDI, TDO, TDR, TEN, TMS, UDR, UDX, UEN, | |
26 VBATS, VCCS, VCHG, VCK, VDR, VDX, VFS, | |
27 SIM_IO, SIM_CLK, SIM_RST); | |
28 | |
29 input GND, VBAT; | |
30 output VSIM, Vdbb, Vio, Vflash, Vsram, Vrtc; | |
31 | |
32 output nRESPWON; | |
33 input nTESTRESET; | |
34 | |
35 inout Analog_IM, Analog_IP, Analog_QM, Analog_QP; | |
36 | |
37 input ADIN1, ADIN2, ADIN3, ADIN4; | |
38 output AFC, APC, DAC; | |
39 | |
40 input AUXI; | |
41 output AUXON, AUXOP; | |
42 output EARN, EARP; | |
43 output HSMICBIAS, HSO; | |
44 input HSMICP; | |
45 output MICBIAS; | |
46 input MICIN, MICIP; | |
47 | |
48 input BDR, BFSR; | |
49 output BDX, BFSX; | |
50 input TDR, TEN; | |
51 input UDR, UEN; | |
52 output UDX; | |
53 output VCK, VDX, VFS; | |
54 input VDR; | |
55 | |
56 input CK13M, CK32K, ITWAKEUP; | |
57 output INT1, INT2; | |
58 output ON_nOFF; | |
59 | |
60 input DBBSCK, DBBSRST; | |
61 inout DBBSIO; | |
62 | |
63 input PWON, RPWON; | |
64 output ICTL, PCHG; | |
65 | |
66 output LED_A, LED_B, LED_C; | |
67 | |
68 output SIM_CLK, SIM_RST; | |
69 inout SIM_IO; | |
70 | |
71 input TCK, TDI, TMS; | |
72 output TDO; | |
73 | |
74 input VBATS, VCCS, VCHG; | |
75 | |
76 /* nets inside this module */ | |
77 wire UPR, VLMEM, Vabb; | |
78 wire IBIAS, VREF; | |
79 wire BULIM, BULIP, BULQM, BULQP; | |
80 wire VBACKUP; | |
81 | |
82 /* instantiate the Iota! */ | |
83 | |
84 iota_100ggm iota (.ADIN1(ADIN1), | |
85 .ADIN2(ADIN2), | |
86 .ADIN3(ADIN3), | |
87 .ADIN4(ADIN4), | |
88 .AFC(AFC), | |
89 .APC(APC), | |
90 .AUXI(AUXI), | |
91 .AUXON(AUXON), | |
92 .AUXOP(AUXOP), | |
93 .BDLIM(Analog_IM), | |
94 .BDLIP(Analog_IP), | |
95 .BDLQM(Analog_QM), | |
96 .BDLQP(Analog_QP), | |
97 .BDR(BDR), | |
98 .BDX(BDX), | |
99 .BFSR(BFSR), | |
100 .BFSX(BFSX), | |
101 .BULIM(BULIM), | |
102 .BULIP(BULIP), | |
103 .BULQM(BULQM), | |
104 .BULQP(BULQP), | |
105 .CK13M(CK13M), | |
106 .CK32K(CK32K), | |
107 .DAC(DAC), | |
108 .DBBSCK(DBBSCK), | |
109 .DBBSIO(DBBSIO), | |
110 .DBBSRST(DBBSRST), | |
111 .EARN(EARN), | |
112 .EARP(EARP), | |
113 .GNDA(GND), | |
114 .GNDAV(GND), | |
115 .GNDD(GND), | |
116 .GNDL1(GND), | |
117 .GNDL2(GND), | |
118 .HSMICBIAS(HSMICBIAS), | |
119 .HSMICP(HSMICP), | |
120 .HSO(HSO), | |
121 .IBIAS(IBIAS), | |
122 .ICTL(ICTL), | |
123 .INT1(INT1), | |
124 .INT2(INT2), | |
125 .ITWAKEUP(ITWAKEUP), | |
126 .LEDA(LED_A), | |
127 .LEDB1(LED_B), | |
128 .LEDB2(LED_B), | |
129 .LEDC(LED_C), | |
130 .MICBIAS(MICBIAS), | |
131 .MICIN(MICIN), | |
132 .MICIP(MICIP), | |
133 .ON_nOFF(ON_nOFF), | |
134 .PCHG(PCHG), | |
135 .PWON(PWON), | |
136 .REFGND(GND), | |
137 .RESPWONz(nRESPWON), | |
138 .RPWON(RPWON), | |
139 .SIMCK(SIM_CLK), | |
140 .SIMIO(SIM_IO), | |
141 .SIMRST(SIM_RST), | |
142 .TCK(TCK), | |
143 .TDI(TDI), | |
144 .TDO(TDO), | |
145 .TDR(TDR), | |
146 .TEN(TEN), | |
147 .TEST3(), /* no connect */ | |
148 .TEST4(), /* ditto */ | |
149 .TESTRSTz(nTESTRESET), | |
150 .TESTV(), /* no connect */ | |
151 .TMS(TMS), | |
152 .UDR(UDR), | |
153 .UDX(UDX), | |
154 .UEN(UEN), | |
155 .UPR(UPR), | |
156 .VBACKUP(VBACKUP), | |
157 .VBAT(VBAT), | |
158 .VBATS(VBATS), | |
159 .VCABB(VBAT), | |
160 .VCCS(VCCS), | |
161 .VCDBB(VBAT), | |
162 .VCHG(VCHG), | |
163 .VCIO1(VBAT), | |
164 .VCIO2(VBAT), | |
165 .VCK(VCK), | |
166 .VCMEM(VBAT), | |
167 .VCRAM(VBAT), | |
168 .VDR(VDR), | |
169 .VDX(VDX), | |
170 .VFS(VFS), | |
171 .VLMEM(VLMEM), | |
172 .VLRTC(GND), | |
173 .VRABB(Vabb), | |
174 .VRDBB(Vdbb), | |
175 .VREF(VREF), | |
176 .VRIO1(Vio), | |
177 .VRIO2(Vio), | |
178 .VRMEM(Vflash), | |
179 .VRRAM(Vsram), | |
180 .VRRTC(Vrtc), | |
181 .VRSIM(VSIM), | |
182 .VSDBB(Vdbb), | |
183 .VXRTC() /* no connect */ | |
184 ); | |
185 | |
186 /* power bypass caps per Leonardo schematics */ | |
187 | |
188 /* VBAT input */ | |
189 capacitor C220 (VBAT, GND); | |
190 capacitor C221 (VBAT, GND); | |
191 | |
192 /* regulator outputs */ | |
193 capacitor C213 (Vabb, GND); | |
194 capacitor C214 (Vdbb, GND); | |
195 capacitor C215 (Vio, GND); | |
196 capacitor C216 (Vflash, GND); | |
197 capacitor C217 (Vsram, GND); | |
198 capacitor C218 (VSIM, GND); | |
199 capacitor C219 (Vrtc, GND); | |
200 | |
201 /* UPR bypass cap */ | |
202 capacitor C208 (UPR, GND); | |
203 | |
204 /* | |
205 * VLMEM is pulled up to UPR, and we are eliminating the pull-down option | |
206 * on FC Venus - our LCD wiring is incompatible with 1.8V MEMIF. | |
207 */ | |
208 resistor R209 (VLMEM, UPR); | |
209 | |
210 /* nTESTRESET also needs to be pulled up to UPR */ | |
211 resistor R208 (nTESTRESET, UPR); | |
212 | |
213 /* IBIAS and VREF */ | |
214 resistor R204 (IBIAS, GND); | |
215 capacitor C204 (VREF, GND); | |
216 | |
217 /* pull-up on SIM_IO to VSIM */ | |
218 resistor R206 (SIM_IO, VSIM); | |
219 | |
220 /* cap on AFC output */ | |
221 capacitor C205 (AFC, GND); | |
222 | |
223 /* RC network joining BDL[IQ][MP] and BUL[IQ][MP] */ | |
224 | |
225 abb_rc_network abb_rc_network ( .IM_bidir(Analog_IM), | |
226 .IP_bidir(Analog_IP), | |
227 .QM_bidir(Analog_QM), | |
228 .QP_bidir(Analog_QP), | |
229 .IM_abbout(BULIM), | |
230 .IP_abbout(BULIP), | |
231 .QM_abbout(BULQM), | |
232 .QP_abbout(BULQP) | |
233 ); | |
234 | |
235 /* VBACKUP pull-down to GND */ | |
236 resistor VBACKUP_pull_down (VBACKUP, GND); | |
237 | |
238 endmodule |