FreeCalypso > hg > freecalypso-schem2
annotate venus/src/primitives @ 59:66d99b5be8a3
loudspeaker block implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 01 Dec 2021 04:08:35 +0000 |
parents | ec932276c8e6 |
children | c661a87159c2 |
rev | line source |
---|---|
6
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This file defines the primitives to be instantiated from the structural |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * Verilog source for the board: IC package types, basic components and |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * subpackages to be mapped later in the MCL binding step. |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 */ |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 resistor numpins 2; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 capacitor numpins 2; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 inductor numpins 2; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 rlc_generic numpins 2; /* "any" RLC for matching network topologies */ |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 resistor_slot mapped_pins (side1, side2); |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 transistor_slot mapped_pins (E, B, C); |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 mosfet mapped_pins (G, S, D); |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 /* TI packages */ |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 pkg_179GHH grid "pkg_179GHH.bgadef"; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 pkg_100GGM grid "pkg_100GGM.bgadef"; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 pkg_Rita_RF numpins 49; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 pkg_TPA6203A1 mapped_pins (BYPASS, GND, In_neg, In_pos, SHUTDOWN, VDD, |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 Out_pos, Out_neg); |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 /* non-TI RF components */ |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 pkg_RF3166 numpins 31; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 pkg_M034F numpins 19; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /* Flash+RAM MCP (two possibilities) */ |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 pkg_TLA064 grid "pkg_TLA064.bgadef"; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 pkg_TLC056 grid "pkg_TLC056.bgadef"; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
16
3d5c40988a6b
Venus src: add 74LVC1G04 inverting buffer for SIM_CD
Mychaela Falconia <falcon@freecalypso.org>
parents:
14
diff
changeset
|
31 /* misc IC packages */ |
22
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
32 pkg_LQFP48 numpins 48; |
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
33 pkg_IC_5pin numpins 5; |
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
34 pkg_IC_8pin numpins 8; |
44
04abc82f8280
MCL and primitives: LCD and MAX1916 from lunalcd2
Mychaela Falconia <falcon@freecalypso.org>
parents:
40
diff
changeset
|
35 pkg_SOT23_6 numpins 6; |
16
3d5c40988a6b
Venus src: add 74LVC1G04 inverting buffer for SIM_CD
Mychaela Falconia <falcon@freecalypso.org>
parents:
14
diff
changeset
|
36 pkg_XSON6 numpins 6; |
3d5c40988a6b
Venus src: add 74LVC1G04 inverting buffer for SIM_CD
Mychaela Falconia <falcon@freecalypso.org>
parents:
14
diff
changeset
|
37 |
14
ff784add0889
Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents:
8
diff
changeset
|
38 /* logic IC subpackages */ |
ff784add0889
Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents:
8
diff
changeset
|
39 buffer_slot_basic mapped_pins (A, Y); |
40
9309cebe07b8
use buffer_slot_od primitive for slots of 74LVC2G07
Mychaela Falconia <falcon@freecalypso.org>
parents:
35
diff
changeset
|
40 buffer_slot_od mapped_pins (A, Y); |
14
ff784add0889
Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents:
8
diff
changeset
|
41 buffer_slot_3state mapped_pins (A, nOE, Y); |
ff784add0889
Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents:
8
diff
changeset
|
42 logic_ic_common mapped_pins (Vcc, GND); |
ff784add0889
Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents:
8
diff
changeset
|
43 x541_common mapped_pins (Vcc, GND, nOE1, nOE2); |
ff784add0889
Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents:
8
diff
changeset
|
44 |
6
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 /* crystal oscillator components */ |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 xtal_2pin_pkg numpins 2; |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 xtal_4pin_pkg numpins 4; |
31
d0b6c4915397
Venus MCL: use new ipc-diode.pinout, add SS34 for charging
Mychaela Falconia <falcon@freecalypso.org>
parents:
25
diff
changeset
|
48 varactor_diode mapped_pins (A, C); |
6
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /* |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 * The reference design we are copying calls for a couple of RF chip |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 * attenuators. They are symmetrical in that pins 1 and 2 are equally |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 * suitable as either the input or the output, but the package shape is |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 * asymmetrical, thus it is a PCB layout decision which pin will be the |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 * input and which will be the output. |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 * |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 * We shall use a mapped_pins primitive and two different pinout mappings |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 * at the MCL binding stage, to be selected at layout time. |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 */ |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 chip_attenuator mapped_pins (In, Out, GND1, GND2); |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 /* connectors */ |
22
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
64 header_2pin numpins 2; |
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
65 conn_3pin numpins 3; |
56
ec932276c8e6
VSP sniff tap implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
50
diff
changeset
|
66 header_5pin numpins 5; |
22
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
67 header_14pin numpins 14; |
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
68 pkg_SMA_F numpins 5; |
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
69 pkg_TRRS_jack numpins 6; |
22ac331aa0f8
Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents:
16
diff
changeset
|
70 conn_miniUSB_plus4 numpins 9; |
6
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 |
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 /* misc peripherals */ |
44
04abc82f8280
MCL and primitives: LCD and MAX1916 from lunalcd2
Mychaela Falconia <falcon@freecalypso.org>
parents:
40
diff
changeset
|
73 lcd_module_fp numpins 36; |
6
64ce89bd3376
Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 pkg_SIM_socket numpins 8; |
31
d0b6c4915397
Venus MCL: use new ipc-diode.pinout, add SS34 for charging
Mychaela Falconia <falcon@freecalypso.org>
parents:
25
diff
changeset
|
75 basic_LED mapped_pins (A, C); |
d0b6c4915397
Venus MCL: use new ipc-diode.pinout, add SS34 for charging
Mychaela Falconia <falcon@freecalypso.org>
parents:
25
diff
changeset
|
76 misc_diode mapped_pins (A, C); |
25
250fd753c0c5
Venus: preliminary choice of slide switch part for charging control
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
77 switch_2pin numpins 2; |
50
3dbe73bbc0a4
Verilog src: preparations for adding the keypad
Mychaela Falconia <falcon@freecalypso.org>
parents:
44
diff
changeset
|
78 switch_4pin numpins 4; |
33
1d2b57d4f1c9
intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents:
31
diff
changeset
|
79 |
1d2b57d4f1c9
intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents:
31
diff
changeset
|
80 /* |
1d2b57d4f1c9
intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents:
31
diff
changeset
|
81 * Resistor footprint with two extra "virtual pins" for sensing - see |
1d2b57d4f1c9
intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents:
31
diff
changeset
|
82 * ../doc/Charging-circuit for explanation. |
1d2b57d4f1c9
intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents:
31
diff
changeset
|
83 */ |
1d2b57d4f1c9
intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents:
31
diff
changeset
|
84 |
1d2b57d4f1c9
intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents:
31
diff
changeset
|
85 resistor_with_sense mapped_pins (side1_current, side1_sense, |
1d2b57d4f1c9
intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents:
31
diff
changeset
|
86 side2_current, side2_sense); |
35
971c05950675
starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents:
33
diff
changeset
|
87 |
971c05950675
starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents:
33
diff
changeset
|
88 /* |
971c05950675
starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents:
33
diff
changeset
|
89 * The following primitives are entirely non-physical EDA artifacts |
971c05950675
starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents:
33
diff
changeset
|
90 * for star routing. |
971c05950675
starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents:
33
diff
changeset
|
91 */ |
971c05950675
starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents:
33
diff
changeset
|
92 starpoint_2way numpins 2; |
971c05950675
starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents:
33
diff
changeset
|
93 starpoint_3way numpins 3; |